native-trampoline.js (853B)
1 enableGeckoProfilingWithSlowAssertions(); 2 3 function testBasic() { 4 var arr = [2, -1]; 5 var cmp = function(x, y) { 6 readGeckoProfilingStack(); 7 return x - y; 8 }; 9 for (var i = 0; i < 20; i++) { 10 arr.sort(cmp); 11 } 12 } 13 testBasic(); 14 15 function testRectifierFrame() { 16 var arr = [2, -1]; 17 var cmp = function(x, y, z, a) { 18 readGeckoProfilingStack(); 19 return x - y; 20 }; 21 for (var i = 0; i < 20; i++) { 22 arr.sort(cmp); 23 } 24 } 25 testRectifierFrame(); 26 27 function testRectifierFrameCaller() { 28 var o = {}; 29 var calls = 0; 30 Object.defineProperty(o, "length", {get: function() { 31 calls++; 32 readGeckoProfilingStack(); 33 return 0; 34 }}); 35 for (var i = 0; i < 20; i++) { 36 Array.prototype.sort.call(o); 37 } 38 assertEq(calls, 20); 39 } 40 testRectifierFrameCaller();