// Eval-in-frame with different type on non-youngest Ion frame.
load(libdir + "jitopts.js");
if (!jitTogglesMatch(Opts_Ion2NoOffthreadCompilation))
quit(0);
withJitOptions(Opts_Ion2NoOffthreadCompilation, function () { function test(shadow) { var g = newGlobal({newCompartment: true}); var dbg = new Debugger;
// Note that we depend on CCW scripted functions being opaque to Ion // optimization for this test.
g.h = function h(d) { if (d) {
dbg.addDebuggee(g); var f = dbg.getNewestFrame().older;
assertEq(f.implementation, "ion");
assertEq(f.environment.getVariable("foo"), 42);
// EIF of a different type too.
f.eval((shadow ? "var " : "") + "foo = 'string of 42'");
g.expected = shadow ? 42 : "string of 42";
}
}
g.eval("" + function f(d) { var foo = 42;
g(d); return foo;
});
g.eval("" + function g(d) {
h(d);
});
g.eval("(" + function () { for (i = 0; i < 5; i++)
f(false);
assertEq(f(true), "string of 42");
} + ")();");
}
test(false);
test(true);
});
Messung V0.5
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.