diff options
Diffstat (limited to 'js/src/jit-test/tests/basic/perf-smoketest.js')
-rw-r--r-- | js/src/jit-test/tests/basic/perf-smoketest.js | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/basic/perf-smoketest.js b/js/src/jit-test/tests/basic/perf-smoketest.js new file mode 100644 index 000000000..7c442caee --- /dev/null +++ b/js/src/jit-test/tests/basic/perf-smoketest.js @@ -0,0 +1,34 @@ +function spin_loop() +{ + for (let i = 0; i < 10000; i++) ; +} + +function check_timing(label, count) { + if (count == -1) { + print("TEST-UNEXPECTED-FAIL | TestPerf | " + label); + throwError(); + } else { + print("TEST-PASS | TestPerf | " + label + " = " + count); + } +} + +var pm = new PerfMeasurement(PerfMeasurement.ALL); +if (pm.eventsMeasured == 0) { + print("TEST-KNOWN-FAIL | perf-smoketest | stub, skipping test"); +} else { + pm.start(); + spin_loop(); + pm.stop(); + + check_timing("cpu_cycles", pm.cpu_cycles); + check_timing("instructions", pm.instructions); + check_timing("cache_references", pm.cache_references); + check_timing("cache_misses", pm.cache_misses); + check_timing("branch_instructions", pm.branch_instructions); + check_timing("branch_misses", pm.branch_misses); + check_timing("bus_cycles", pm.bus_cycles); + check_timing("page_faults", pm.page_faults); + check_timing("major_page_faults", pm.major_page_faults); + check_timing("context_switches", pm.context_switches); + check_timing("cpu_migrations", pm.cpu_migrations); +} |