blob: 7c442caeeb857cf78accd7e9ac26b875653445c1 [file] [log] [blame]
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);
}