Debugger-onNativeCall-04.js (517B)
1 // Test that onNativeCall behaves correctly when a debugger eval might enter the 2 // JIT via OSR. 3 4 var g = newGlobal({newCompartment: true}); 5 var dbg = Debugger(g); 6 var gdbg = dbg.addDebuggee(g); 7 8 g.eval(` 9 const x = []; 10 function f() { 11 for (let i = 0; i < 5; i++) { 12 x.push(i); 13 } 14 } 15 `); 16 17 let numCalls = 0; 18 dbg.onNativeCall = callee => { assertEq(callee.name, "push"); numCalls++; }; 19 20 var dbg2 = Debugger(g); 21 22 for (let i = 0; i < 5; i++) { 23 numCalls = 0; 24 gdbg.executeInGlobal(`f()`); 25 assertEq(numCalls, 5); 26 }