diff -r 000000000000 -r 6474c204b198 tools/profiler/tests/test_enterjit_osr_enabling.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/tools/profiler/tests/test_enterjit_osr_enabling.js Wed Dec 31 06:09:35 2014 +0100 @@ -0,0 +1,21 @@ +function run_test() { + let p = Cc["@mozilla.org/tools/profiler;1"]; + // Just skip the test if the profiler component isn't present. + if (!p) + return; + p = p.getService(Ci.nsIProfiler); + if (!p) + return; + + do_check_true(!p.IsActive()); + + // The function is entered with the profiler disabled. + (function (){ + p.StartProfiler(100, 10, ["js"], 1); + let n = 10000; + while (--n); // OSR happens here with the profiler enabled. + // An assertion will fail when this function returns, if the + // SPS stack was misbalanced. + })(); + p.StopProfiler(); +}