Reviewers: Michael Starzinger,
Description:
Fix many tests that try to force an OSR by checking OptimizationStatus() to
instead check OptimizationCount().
BUG=
Please review this at https://codereview.chromium.org/21221003/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M test/mjsunit/array-literal-transitions.js
M test/mjsunit/count-based-osr.js
M test/mjsunit/regress/regress-1118.js
M test/mjsunit/regress/regress-2618.js
M test/mjsunit/regress/regress-crbug-150545.js
Index: test/mjsunit/array-literal-transitions.js
diff --git a/test/mjsunit/array-literal-transitions.js
b/test/mjsunit/array-literal-transitions.js
index
fab45ed72004d1aa700d61b02a1590923af8276f..ca6033b217741aeb2d7b1987f9ed19509a84271d
100644
--- a/test/mjsunit/array-literal-transitions.js
+++ b/test/mjsunit/array-literal-transitions.js
@@ -205,7 +205,9 @@ if (support_smi_only_arrays) {
(function literals_after_osr() {
var color = [0];
- // Trigger OSR.
- while (%GetOptimizationStatus(literals_after_osr, "no sync") == 2) {}
+ // Trigger OSR, if optimization is not disabled.
+ if (%GetOptimizationStatus(literals_after_osr) != 4) {
+ while (%GetOptimizationCount(literals_after_osr) == 0) {}
+ }
return [color[0]];
})();
Index: test/mjsunit/count-based-osr.js
diff --git a/test/mjsunit/count-based-osr.js
b/test/mjsunit/count-based-osr.js
index
5ce4dc5cc4ba8fe1039e8d0c63f8640cf8c71c5c..f06013083f144f54e5b7ffe9412bda4225924c4f
100644
--- a/test/mjsunit/count-based-osr.js
+++ b/test/mjsunit/count-based-osr.js
@@ -25,15 +25,15 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-// Flags: --count-based-interrupts --interrupt-budget=10
--weighted-back-edges
// Flags: --allow-natives-syntax
// Test that OSR works properly when using count-based
interrupting/profiling.
function osr_this() {
var a = 1;
- // Trigger OSR.
- while (%GetOptimizationStatus(osr_this, "no sync") == 2) {}
+ // Trigger OSR. First check if optimization is disabled.
+ if (%GetOptimizationStatus(osr_this) == 4) return 1;
+ while (%GetOptimizationCount(osr_this) == 0) {}
return a;
}
assertEquals(1, osr_this());
Index: test/mjsunit/regress/regress-1118.js
diff --git a/test/mjsunit/regress/regress-1118.js
b/test/mjsunit/regress/regress-1118.js
index
4d2796377973ea61a8176342d9d840a0627f8914..4fd23456bea5aca9ce23a6d2fc06a2bf58bfc254
100644
--- a/test/mjsunit/regress/regress-1118.js
+++ b/test/mjsunit/regress/regress-1118.js
@@ -52,8 +52,10 @@ function h() {
g();
} else {
// Run for a bit as long as h is unoptimized.
- while (%GetOptimizationStatus(h, "no sync") == 2) {
- for (var j = 0; j < 100; j++) g();
+ if (%GetOptimizationStatus(h) != 4) {
+ while (%GetOptimizationCount(h) == 0) {
+ for (var j = 0; j < 100; j++) g();
+ }
}
g();
}
Index: test/mjsunit/regress/regress-2618.js
diff --git a/test/mjsunit/regress/regress-2618.js
b/test/mjsunit/regress/regress-2618.js
index
3509db2d45a441ced57d7c419d12984f487e181c..d1afa368dc0bd96e04ded6f0fc1b6af8e8ab804a
100644
--- a/test/mjsunit/regress/regress-2618.js
+++ b/test/mjsunit/regress/regress-2618.js
@@ -38,8 +38,7 @@ function f() {
}
f();
-assertOptimized(f);
-
+assertTrue(%GetOptimizationCount(f) > 0 || %GetOptimizationStatus(f) == 4);
function g() {
for (var i = 0; i < 1; i++) { }
@@ -70,4 +69,4 @@ function g() {
}
g();
-assertOptimized(g);
+assertTrue(%GetOptimizationCount(g) > 0 || %GetOptimizationStatus(g) == 4);
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
19f7e68250bac0286a89dfdd64d768501a95a07a..8238d2fa0d36ffd40be60628d333f5dcb1f0ba51
100644
--- a/test/mjsunit/regress/regress-crbug-150545.js
+++ b/test/mjsunit/regress/regress-crbug-150545.js
@@ -45,8 +45,10 @@
function outer() {
inner(1,2,3);
- // Trigger OSR.
- while (%GetOptimizationStatus(outer, "no sync") == 2) {}
+ // Trigger OSR, if optimization is not disabled.
+ if (%GetOptimizationStatus(outer) != 4) {
+ while (%GetOptimizationCount(outer) == 0) {}
+ }
}
outer();
--
--
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/groups/opt_out.