Reviewers: Michael Starzinger,
Description:
Remove some busy-OSR loops from tests using %OptimizeOsr().
[email protected]
BUG=
Please review this at https://codereview.chromium.org/908863002/
Base URL: https://chromium.googlesource.com/v8/v8.git@master
Affected files (+10, -27 lines):
M test/mjsunit/count-based-osr.js
M test/mjsunit/regress/binop-in-effect-context-deopt.js
M test/mjsunit/regress/call-function-in-effect-context-deopt.js
M test/mjsunit/regress/regress-1118.js
M test/mjsunit/regress/regress-2618.js
M test/mjsunit/regress/regress-crbug-150545.js
M test/mjsunit/regress/string-set-char-deopt.js
Index: test/mjsunit/count-based-osr.js
diff --git a/test/mjsunit/count-based-osr.js
b/test/mjsunit/count-based-osr.js
index
f06013083f144f54e5b7ffe9412bda4225924c4f..2df0b644f64597d827d4040fcc58e020545dda70
100644
--- a/test/mjsunit/count-based-osr.js
+++ b/test/mjsunit/count-based-osr.js
@@ -31,9 +31,8 @@
function osr_this() {
var a = 1;
- // Trigger OSR. First check if optimization is disabled.
- if (%GetOptimizationStatus(osr_this) == 4) return 1;
- while (%GetOptimizationCount(osr_this) == 0) {}
+ while (%GetOptimizationCount(osr_this) == 2) ;
return a;
}
assertEquals(1, osr_this());
+assertEquals(1, osr_this());
Index: test/mjsunit/regress/binop-in-effect-context-deopt.js
diff --git a/test/mjsunit/regress/binop-in-effect-context-deopt.js
b/test/mjsunit/regress/binop-in-effect-context-deopt.js
index
fb7280a0d1128c6baad81e759aad6b6bec3c6528..56d64be4a91499d85c6faeb632c80c766b94145f
100644
--- a/test/mjsunit/regress/binop-in-effect-context-deopt.js
+++ b/test/mjsunit/regress/binop-in-effect-context-deopt.js
@@ -31,7 +31,7 @@
function f(a, deopt, osr) {
var result = (a + 10, "result");
var dummy = deopt + 0;
- if (osr) while (%GetOptimizationStatus(f) == 2) {}
+ for (var i = 0; osr && i < 2; i++) %OptimizeOsr(f);
return result;
}
Index: test/mjsunit/regress/call-function-in-effect-context-deopt.js
diff --git a/test/mjsunit/regress/call-function-in-effect-context-deopt.js
b/test/mjsunit/regress/call-function-in-effect-context-deopt.js
index
9a36c141b7bc6c00ec8ed8b558588abac21beb0f..aae0e10d2e039ed5090289c8616440e928266e69
100644
--- a/test/mjsunit/regress/call-function-in-effect-context-deopt.js
+++ b/test/mjsunit/regress/call-function-in-effect-context-deopt.js
@@ -31,7 +31,7 @@ function f(deopt, osr) {
var result = "result";
%_CallFunction(0, 0, function() {});
var dummy = deopt + 0;
- if (osr) while (%GetOptimizationStatus(f) == 2) {}
+ for (var i = 0; osr && i < 2; i++) %OptimizeOsr(f);
return result;
}
Index: test/mjsunit/regress/regress-1118.js
diff --git a/test/mjsunit/regress/regress-1118.js
b/test/mjsunit/regress/regress-1118.js
index
4fd23456bea5aca9ce23a6d2fc06a2bf58bfc254..14fc42ddb5ba37fb5509ed4356fece0c40dfc597
100644
--- a/test/mjsunit/regress/regress-1118.js
+++ b/test/mjsunit/regress/regress-1118.js
@@ -46,19 +46,8 @@ function g() { try { return o.f(); } finally { }}
// This function should be optimized via OSR.
function h() {
- var optstatus = %GetOptimizationStatus(h);
- if (optstatus == 4) {
- // Optimizations are globally disabled; just run once.
- g();
- } else {
- // Run for a bit as long as h is unoptimized.
- if (%GetOptimizationStatus(h) != 4) {
- while (%GetOptimizationCount(h) == 0) {
- for (var j = 0; j < 100; j++) g();
- }
- }
- g();
- }
+ for (var i = 0; i < 10; i++) %OptimizeOsr();
+ g();
}
h();
Index: test/mjsunit/regress/regress-2618.js
diff --git a/test/mjsunit/regress/regress-2618.js
b/test/mjsunit/regress/regress-2618.js
index
363557bff830f4532950eac559b5c0550245a5b4..b3cfffd92c0f203e15d6c680837a0b609a3ce0b1
100644
--- a/test/mjsunit/regress/regress-2618.js
+++ b/test/mjsunit/regress/regress-2618.js
@@ -30,9 +30,7 @@
function f() {
do {
do {
- for (var i = 0; i < 10000000; i++) {
- // This should run long enough to trigger OSR.
- }
+ for (var i = 0; i < 10; i++) %OptimizeOsr();
} while (false);
} while (false);
}
@@ -57,7 +55,7 @@ function g() {
do {
do {
do {
- for (var i = 0; i < 10000000; i++) { }
+ for (var i = 0; i < 10; i++) %OptimizeOsr();
} while (false);
} while (false);
} while (false);
Index: test/mjsunit/regress/regress-crbug-150545.js
diff --git a/test/mjsunit/regress/regress-crbug-150545.js
b/test/mjsunit/regress/regress-crbug-150545.js
index
8238d2fa0d36ffd40be60628d333f5dcb1f0ba51..cfee0618ecfea8d022903fee41acdffcbc9dda66
100644
--- a/test/mjsunit/regress/regress-crbug-150545.js
+++ b/test/mjsunit/regress/regress-crbug-150545.js
@@ -45,10 +45,7 @@
function outer() {
inner(1,2,3);
- // Trigger OSR, if optimization is not disabled.
- if (%GetOptimizationStatus(outer) != 4) {
- while (%GetOptimizationCount(outer) == 0) {}
- }
+ for (var i = 0; i < 3; i++) %OptimizeOsr();
}
outer();
Index: test/mjsunit/regress/string-set-char-deopt.js
diff --git a/test/mjsunit/regress/string-set-char-deopt.js
b/test/mjsunit/regress/string-set-char-deopt.js
index
c8e8538e165ffc5f276ef1ab1a2b71ad3641c0ae..17c76dceb44cf07198eb9370a57918ceb3ba387f
100644
--- a/test/mjsunit/regress/string-set-char-deopt.js
+++ b/test/mjsunit/regress/string-set-char-deopt.js
@@ -36,7 +36,7 @@
var world = " world";
%_OneByteSeqStringSetChar(0, (deopt(), 0x48), string);
- if (osr) while (%GetOptimizationStatus(f) == 2) {}
+ for (var i = 0; osr && i < 2; i++) %OptimizeOsr(f);
return string + world;
}
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.