Source code

Revision control

Copy as Markdown

Other Tools

// Test onNativeCall's behavior when used with self-hosted functions
// and trampoline natives.
load(libdir + 'eqArrayHelper.js');
var g = newGlobal({newCompartment: true});
var dbg = Debugger(g);
var gdbg = dbg.addDebuggee(g);
const rv = [];
dbg.onEnterFrame = f => {
rv.push("EnterFrame");
};
dbg.onNativeCall = f => {
rv.push(f.displayName);
};
gdbg.executeInGlobal(`
var x = [1,3,2];
x.forEach((a) => {print(a)});
x.sort((a, b) => {print(a)});
x.sort(print);
`);
assertEqArray(rv, [
"EnterFrame", "forEach",
"EnterFrame", "print",
"EnterFrame", "print",
"EnterFrame", "print",
"sort",
"EnterFrame","print",
"EnterFrame","print",
"sort",
"print",
"print"
]);