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(); }