[JSC] Do not use EagerRun on tests counting recompilation
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Sep 2016 20:57:31 +0000 (20:57 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Sep 2016 20:57:31 +0000 (20:57 +0000)
https://bugs.webkit.org/show_bug.cgi?id=162248

Patch by Benjamin Poulain <bpoulain@apple.com> on 2016-09-20
Reviewed by Geoffrey Garen.

This patch adds defaultNoEagerRun to all the tests
for which recompilation is the symptom of a bug.
The reason is that an OSR Exit can be unrelated to the tested
nodes when we are running in Eager mode.

* stress/arith-abs-on-various-types.js:
* stress/arith-ceil-on-various-types.js:
* stress/arith-clz32-on-various-types.js:
* stress/arith-cos-on-various-types.js:
* stress/arith-floor-on-various-types.js:
* stress/arith-fround-on-various-types.js:
* stress/arith-log-on-various-types.js:
* stress/arith-round-on-various-types.js:
* stress/arith-sin-on-various-types.js:
* stress/arith-sqrt-on-various-types.js:
* stress/arith-tan-on-various-types.js:
* stress/arith-trunc-on-various-types.js:

* stress/compare-strict-eq-on-various-types.js:
(testAllTypesCall):
The value 2 came from the other tests.
CompareStrictEq supports many more cases, the worst case
is bool->int->int52->number->polymorphic.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@206171 268f45cc-cd09-0410-ab3c-d52691b4dbfc

14 files changed:
JSTests/ChangeLog
JSTests/stress/arith-abs-on-various-types.js
JSTests/stress/arith-ceil-on-various-types.js
JSTests/stress/arith-clz32-on-various-types.js
JSTests/stress/arith-cos-on-various-types.js
JSTests/stress/arith-floor-on-various-types.js
JSTests/stress/arith-fround-on-various-types.js
JSTests/stress/arith-log-on-various-types.js
JSTests/stress/arith-round-on-various-types.js
JSTests/stress/arith-sin-on-various-types.js
JSTests/stress/arith-sqrt-on-various-types.js
JSTests/stress/arith-tan-on-various-types.js
JSTests/stress/arith-trunc-on-various-types.js
JSTests/stress/compare-strict-eq-on-various-types.js

index 7818060..b3f68d2 100644 (file)
@@ -1,3 +1,34 @@
+2016-09-20  Benjamin Poulain  <bpoulain@apple.com>
+
+        [JSC] Do not use EagerRun on tests counting recompilation
+        https://bugs.webkit.org/show_bug.cgi?id=162248
+
+        Reviewed by Geoffrey Garen.
+
+        This patch adds defaultNoEagerRun to all the tests
+        for which recompilation is the symptom of a bug.
+        The reason is that an OSR Exit can be unrelated to the tested
+        nodes when we are running in Eager mode.
+
+        * stress/arith-abs-on-various-types.js:
+        * stress/arith-ceil-on-various-types.js:
+        * stress/arith-clz32-on-various-types.js:
+        * stress/arith-cos-on-various-types.js:
+        * stress/arith-floor-on-various-types.js:
+        * stress/arith-fround-on-various-types.js:
+        * stress/arith-log-on-various-types.js:
+        * stress/arith-round-on-various-types.js:
+        * stress/arith-sin-on-various-types.js:
+        * stress/arith-sqrt-on-various-types.js:
+        * stress/arith-tan-on-various-types.js:
+        * stress/arith-trunc-on-various-types.js:
+
+        * stress/compare-strict-eq-on-various-types.js:
+        (testAllTypesCall):
+        The value 2 came from the other tests.
+        CompareStrictEq supports many more cases, the worst case
+        is bool->int->int52->number->polymorphic.
+
 2016-09-20  Filip Pizlo  <fpizlo@apple.com>
 
         Make MarkedBlock state tracking support overlapped allocation and marking state
index f31587f..a28c6f9 100644 (file)
@@ -1,3 +1,4 @@
+//@ defaultNoEagerRun
 "use strict";
 
 let validInputTestCases = [
index aa0db9a..d1dfe67 100644 (file)
@@ -1,3 +1,4 @@
+//@ defaultNoEagerRun
 "use strict";
 
 let cosOfFour = Math.cos(4);
index e3839e7..73bb1dd 100644 (file)
@@ -1,3 +1,4 @@
+//@ defaultNoEagerRun
 "use strict";
 
 let froundOfPi = Math.fround(Math.PI);
index 16f252f..d42175a 100644 (file)
@@ -1,3 +1,4 @@
+//@ defaultNoEagerRun
 "use strict";
 
 let logOfFour = Math.log(4);
index 2f64cbf..7cda5ac 100644 (file)
@@ -1,3 +1,4 @@
+//@ defaultNoEagerRun
 "use strict";
 
 let sinOfFour = Math.sin(4);
index 4e99aea..2442551 100644 (file)
@@ -1,3 +1,4 @@
+//@ defaultNoEagerRun
 "use strict";
 
 let tanOfFour = Math.tan(4);
index 0ba136b..82cc97a 100644 (file)
@@ -1,3 +1,4 @@
+//@ defaultNoEagerRun
 "use strict";
 
 function opaqueKitString() {
@@ -96,9 +97,9 @@ function testAllTypesCall() {
             }
         }
     }
-    if (numberOfDFGCompiles(opaqueStrictEqualAllTypes) > 2)
+    if (numberOfDFGCompiles(opaqueStrictEqualAllTypes) > 5)
         throw "opaqueStrictEqualAllTypes() should have been quickly compiled as fully polymorphic.";
-    if (opaqueStrictNotEqualAllTypes(opaqueStrictEqualAllTypes) > 2)
+    if (opaqueStrictNotEqualAllTypes(opaqueStrictEqualAllTypes) > 5)
         throw "opaqueStrictEqualAllTypes() should have been quickly compiled as fully polymorphic.";
 }
 testAllTypesCall();