diff options
Diffstat (limited to 'js/src/jit-test/tests/debug/Debugger-onNativeCall-04.js')
-rw-r--r-- | js/src/jit-test/tests/debug/Debugger-onNativeCall-04.js | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/debug/Debugger-onNativeCall-04.js b/js/src/jit-test/tests/debug/Debugger-onNativeCall-04.js new file mode 100644 index 0000000000..d3ee1377bf --- /dev/null +++ b/js/src/jit-test/tests/debug/Debugger-onNativeCall-04.js @@ -0,0 +1,26 @@ +// Test that onNativeCall behaves correctly when a debugger eval might enter the +// JIT via OSR. + +var g = newGlobal({newCompartment: true}); +var dbg = Debugger(g); +var gdbg = dbg.addDebuggee(g); + +g.eval(` +const x = []; +function f() { + for (let i = 0; i < 5; i++) { + x.push(i); + } +} +`); + +let numCalls = 0; +dbg.onNativeCall = callee => { assertEq(callee.name, "push"); numCalls++; }; + +var dbg2 = Debugger(g); + +for (let i = 0; i < 5; i++) { + numCalls = 0; + gdbg.executeInGlobal(`f()`); + assertEq(numCalls, 5); +} |