summaryrefslogtreecommitdiffstats
path: root/tools/profiler/tests/xpcshell/test_enterjit_osr_enabling.js
blob: 3084a00018268b3fc046421223a3df353c4d8f2c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
function run_test() {
  if (!AppConstants.MOZ_GECKO_PROFILER) {
    return;
  }

  Assert.ok(!Services.profiler.IsActive());

  // The function is entered with the profiler disabled.
  (function() {
    Services.profiler.StartProfiler(100, 10, ["js"]);
    let n = 10000;
    // eslint-disable-next-line no-empty
    while (--n) {} // OSR happens here with the profiler enabled.
    // An assertion will fail when this function returns, if the
    // profiler stack was misbalanced.
  })();
  Services.profiler.StopProfiler();
}