Title: [223222] trunk
Revision
223222
Author
[email protected]
Date
2017-10-11 17:53:45 -0700 (Wed, 11 Oct 2017)

Log Message

Runtime disable poly proto because it may be a 3-4% Speedometer regression
https://bugs.webkit.org/show_bug.cgi?id=178192

Reviewed by JF Bastien.

Source/_javascript_Core:

* runtime/Options.h:
* runtime/StructureInlines.h:
(JSC::Structure::shouldConvertToPolyProto):

Tools:

* Scripts/run-jsc-stress-tests:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (223221 => 223222)


--- trunk/Source/_javascript_Core/ChangeLog	2017-10-12 00:47:44 UTC (rev 223221)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-10-12 00:53:45 UTC (rev 223222)
@@ -1,3 +1,14 @@
+2017-10-11  Saam Barati  <[email protected]>
+
+        Runtime disable poly proto because it may be a 3-4% Speedometer regression
+        https://bugs.webkit.org/show_bug.cgi?id=178192
+
+        Reviewed by JF Bastien.
+
+        * runtime/Options.h:
+        * runtime/StructureInlines.h:
+        (JSC::Structure::shouldConvertToPolyProto):
+
 2017-10-11  Commit Queue  <[email protected]>
 
         Unreviewed, rolling out r223113 and r223121.

Modified: trunk/Source/_javascript_Core/runtime/Options.h (223221 => 223222)


--- trunk/Source/_javascript_Core/runtime/Options.h	2017-10-12 00:47:44 UTC (rev 223221)
+++ trunk/Source/_javascript_Core/runtime/Options.h	2017-10-12 00:53:45 UTC (rev 223222)
@@ -473,6 +473,7 @@
     v(bool, useCallICsForWebAssemblyToJSCalls, true, Normal, "If true, we will use CallLinkInfo to inline cache Wasm to JS calls.") \
     v(bool, useObjectRestSpread, true, Normal, "If true, we will enable Object Rest/Spread feature.") \
     v(bool, useArrayAllocationProfiling, true, Normal, "If true, we will use our normal array allocation profiling. If false, the allocation profile will always claim to be undecided.")\
+    v(bool, usePolyProto, false, Normal, "If true, we may convert allocations to generate poly proto structures.") \
     v(bool, forcePolyProto, false, Normal, "If true, create_this will always create an object with a poly proto structure.")
 
 

Modified: trunk/Source/_javascript_Core/runtime/StructureInlines.h (223221 => 223222)


--- trunk/Source/_javascript_Core/runtime/StructureInlines.h	2017-10-12 00:47:44 UTC (rev 223221)
+++ trunk/Source/_javascript_Core/runtime/StructureInlines.h	2017-10-12 00:53:45 UTC (rev 223222)
@@ -447,6 +447,9 @@
 
 ALWAYS_INLINE bool Structure::shouldConvertToPolyProto(const Structure* a, const Structure* b)
 {
+    if (!Options::usePolyProto())
+        return false;
+
     if (!a || !b)
         return false;
 

Modified: trunk/Tools/ChangeLog (223221 => 223222)


--- trunk/Tools/ChangeLog	2017-10-12 00:47:44 UTC (rev 223221)
+++ trunk/Tools/ChangeLog	2017-10-12 00:53:45 UTC (rev 223222)
@@ -1,3 +1,12 @@
+2017-10-11  Saam Barati  <[email protected]>
+
+        Runtime disable poly proto because it may be a 3-4% Speedometer regression
+        https://bugs.webkit.org/show_bug.cgi?id=178192
+
+        Reviewed by JF Bastien.
+
+        * Scripts/run-jsc-stress-tests:
+
 2017-10-11  Youenn Fablet  <[email protected]>
 
         Add API to clean CacheStorage data

Modified: trunk/Tools/Scripts/run-jsc-stress-tests (223221 => 223222)


--- trunk/Tools/Scripts/run-jsc-stress-tests	2017-10-12 00:47:44 UTC (rev 223221)
+++ trunk/Tools/Scripts/run-jsc-stress-tests	2017-10-12 00:53:45 UTC (rev 223222)
@@ -451,13 +451,13 @@
 $numPasses = 0
 
 # We force all tests to use a smaller (1.5M) stack so that stack overflow tests can run faster.
-BASE_OPTIONS = ["--useFTLJIT=false", "--useFunctionDotArguments=true", "--validateExceptionChecks=true", "--maxPerThreadStackUsage=1572864"]
-EAGER_OPTIONS = ["--thresholdForJITAfterWarmUp=10", "--thresholdForJITSoon=10", "--thresholdForOptimizeAfterWarmUp=20", "--thresholdForOptimizeAfterLongWarmUp=20", "--thresholdForOptimizeSoon=20", "--thresholdForFTLOptimizeAfterWarmUp=20", "--thresholdForFTLOptimizeSoon=20", "--maximumEvalCacheableSourceLength=150000", "--useEagerCodeBlockJettisonTiming=true"]
+BASE_OPTIONS = ["--useFTLJIT=false", "--useFunctionDotArguments=true", "--validateExceptionChecks=true", "--maxPerThreadStackUsage=1572864", "--usePolyProto=true"]
+EAGER_OPTIONS = ["--thresholdForJITAfterWarmUp=10", "--thresholdForJITSoon=10", "--thresholdForOptimizeAfterWarmUp=20", "--thresholdForOptimizeAfterLongWarmUp=20", "--thresholdForOptimizeSoon=20", "--thresholdForFTLOptimizeAfterWarmUp=20", "--thresholdForFTLOptimizeSoon=20", "--maximumEvalCacheableSourceLength=150000", "--useEagerCodeBlockJettisonTiming=true", "--usePolyProto=true"]
 # NOTE: Tests rely on this using scribbleFreeCells.
-NO_CJIT_OPTIONS = ["--useConcurrentJIT=false", "--thresholdForJITAfterWarmUp=100", "--scribbleFreeCells=true"]
-B3O1_OPTIONS = ["--defaultB3OptLevel=1"]
-FTL_OPTIONS = ["--useFTLJIT=true"]
-PROBE_OSR_EXIT_OPTION = ["--useProbeOSRExit=true"]
+NO_CJIT_OPTIONS = ["--useConcurrentJIT=false", "--thresholdForJITAfterWarmUp=100", "--scribbleFreeCells=true", "--usePolyProto=true"]
+B3O1_OPTIONS = ["--defaultB3OptLevel=1", "--usePolyProto=true"]
+FTL_OPTIONS = ["--useFTLJIT=true", "--usePolyProto=true"]
+PROBE_OSR_EXIT_OPTION = ["--useProbeOSRExit=true", "--usePolyProto=true"]
 
 require_relative "webkitruby/jsc-stress-test-writer-#{$testWriter}"
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to