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.


Reply via email to