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.

Reply via email to