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()); p.StartProfiler(100, 10, ["js"], 1); // The function is entered with the profiler enabled (function (){ p.StopProfiler(); let n = 10000; while (--n); // OSR happens here with the profiler disabled. // An assertion will fail when this function returns, if the // SPS stack was misbalanced. })(); }