镜像站点 · 本页由第三方 GitHub 只读镜像提供,非 GitHub 官方站点,不接受任何登录或凭据输入。前往 github.com
Skip to content

Commit 6083e7a

Browse files
targosItalo A. Casas
authored andcommitted
benchmark: avoid TurboFan deopt in arrays bench
Something unidentified at the moment is causing the arrays benchmarks to deopt when run with the TurboFan compiler. Refactor the test to use an inner function that can be correctly optimized by TurboFan and Crankshaft. PR-URL: #11894 Ref: #11851 (comment) Reviewed-By: James M Snell <jasnell@gmail.com> Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
1 parent cf1117b commit 6083e7a

3 files changed

Lines changed: 15 additions & 3 deletions

File tree

‎benchmark/arrays/var-int.js‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,13 @@ function main(conf) {
2727
bench.start();
2828
var arr = new clazz(n * 1e6);
2929
for (var i = 0; i < 10; ++i) {
30+
run();
31+
}
32+
bench.end(n);
33+
34+
function run() {
3035
for (var j = 0, k = arr.length; j < k; ++j) {
3136
arr[j] = (j ^ k) & 127;
3237
}
3338
}
34-
bench.end(n);
3539
}

‎benchmark/arrays/zero-float.js‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,13 @@ function main(conf) {
2727
bench.start();
2828
var arr = new clazz(n * 1e6);
2929
for (var i = 0; i < 10; ++i) {
30+
run();
31+
}
32+
bench.end(n);
33+
34+
function run() {
3035
for (var j = 0, k = arr.length; j < k; ++j) {
3136
arr[j] = 0.0;
3237
}
3338
}
34-
bench.end(n);
3539
}

‎benchmark/arrays/zero-int.js‎

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,9 +27,13 @@ function main(conf) {
2727
bench.start();
2828
var arr = new clazz(n * 1e6);
2929
for (var i = 0; i < 10; ++i) {
30+
run();
31+
}
32+
bench.end(n);
33+
34+
function run() {
3035
for (var j = 0, k = arr.length; j < k; ++j) {
3136
arr[j] = 0;
3237
}
3338
}
34-
bench.end(n);
3539
}

0 commit comments

Comments
 (0)