benchmark: use node v4 syntax in common.js

Using new syntax such as `...args` means that the benchmark suite can't
be used with older node versions. This changes the `...args` syntax to a
good old `Array.prototype.slice`.

Refs: https://github.com/nodejs/node/pull/8932#issuecomment-252924107
PR-URL: https://github.com/nodejs/node/pull/9064
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Brian White <mscdex@mscdex.net>
pull/9135/head
Andreas Madsen 2016-10-12 20:36:01 +02:00 committed by James M Snell
parent 41173de77b
commit 8a0b7ffac6
1 changed files with 4 additions and 1 deletions

View File

@ -208,11 +208,14 @@ Benchmark.prototype.report = function(rate, elapsed) {
});
};
exports.v8ForceOptimization = function(method, ...args) {
exports.v8ForceOptimization = function(method) {
if (typeof method !== 'function')
return;
const v8 = require('v8');
v8.setFlagsFromString('--allow_natives_syntax');
const args = Array.prototype.slice.call(arguments, 1);
method.apply(null, args);
eval('%OptimizeFunctionOnNextCall(method)');
method.apply(null, args);