Title: [223703] trunk
Revision
223703
Author
[email protected]
Date
2017-10-19 13:16:19 -0700 (Thu, 19 Oct 2017)

Log Message

Turn poly proto back on by default and remove the option
https://bugs.webkit.org/show_bug.cgi?id=178525

Reviewed by Mark Lam.

Source/_javascript_Core:

I added this option because I thought it'd speed speedometer up because the
original poly proto patch slowed speedometer down. It turns out that
allocating poly proto objects is not what slows speedometer down. It's
other code I added in the runtime that needs to be poly proto aware. I'll
be addressing these in follow up patches.

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

Tools:

* Scripts/run-jsc-stress-tests:

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (223702 => 223703)


--- trunk/Source/_javascript_Core/ChangeLog	2017-10-19 20:15:42 UTC (rev 223702)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-10-19 20:16:19 UTC (rev 223703)
@@ -1,3 +1,20 @@
+2017-10-19  Saam Barati  <[email protected]>
+
+        Turn poly proto back on by default and remove the option
+        https://bugs.webkit.org/show_bug.cgi?id=178525
+
+        Reviewed by Mark Lam.
+
+        I added this option because I thought it'd speed speedometer up because the
+        original poly proto patch slowed speedometer down. It turns out that
+        allocating poly proto objects is not what slows speedometer down. It's
+        other code I added in the runtime that needs to be poly proto aware. I'll
+        be addressing these in follow up patches.
+
+        * runtime/Options.h:
+        * runtime/StructureInlines.h:
+        (JSC::Structure::shouldConvertToPolyProto):
+
 2017-10-19  Robin Morisset  <[email protected]>
 
         Turn recursive tail calls into loops

Modified: trunk/Source/_javascript_Core/runtime/Options.h (223702 => 223703)


--- trunk/Source/_javascript_Core/runtime/Options.h	2017-10-19 20:15:42 UTC (rev 223702)
+++ trunk/Source/_javascript_Core/runtime/Options.h	2017-10-19 20:16:19 UTC (rev 223703)
@@ -473,7 +473,6 @@
     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 (223702 => 223703)


--- trunk/Source/_javascript_Core/runtime/StructureInlines.h	2017-10-19 20:15:42 UTC (rev 223702)
+++ trunk/Source/_javascript_Core/runtime/StructureInlines.h	2017-10-19 20:16:19 UTC (rev 223703)
@@ -447,9 +447,6 @@
 
 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 (223702 => 223703)


--- trunk/Tools/ChangeLog	2017-10-19 20:15:42 UTC (rev 223702)
+++ trunk/Tools/ChangeLog	2017-10-19 20:16:19 UTC (rev 223703)
@@ -1,3 +1,12 @@
+2017-10-19  Saam Barati  <[email protected]>
+
+        Turn poly proto back on by default and remove the option
+        https://bugs.webkit.org/show_bug.cgi?id=178525
+
+        Reviewed by Mark Lam.
+
+        * Scripts/run-jsc-stress-tests:
+
 2017-10-18  Ryosuke Niwa  <[email protected]>
 
         Don't expose raw HTML in pasteboard to the web content

Modified: trunk/Tools/Scripts/run-jsc-stress-tests (223702 => 223703)


--- trunk/Tools/Scripts/run-jsc-stress-tests	2017-10-19 20:15:42 UTC (rev 223702)
+++ trunk/Tools/Scripts/run-jsc-stress-tests	2017-10-19 20:16:19 UTC (rev 223703)
@@ -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", "--usePolyProto=true"]
-EAGER_OPTIONS = ["--thresholdForJITAfterWarmUp=10", "--thresholdForJITSoon=10", "--thresholdForOptimizeAfterWarmUp=20", "--thresholdForOptimizeAfterLongWarmUp=20", "--thresholdForOptimizeSoon=20", "--thresholdForFTLOptimizeAfterWarmUp=20", "--thresholdForFTLOptimizeSoon=20", "--maximumEvalCacheableSourceLength=150000", "--useEagerCodeBlockJettisonTiming=true", "--usePolyProto=true"]
+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"]
 # NOTE: Tests rely on this using scribbleFreeCells.
-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"]
+NO_CJIT_OPTIONS = ["--useConcurrentJIT=false", "--thresholdForJITAfterWarmUp=100", "--scribbleFreeCells=true"]
+B3O1_OPTIONS = ["--defaultB3OptLevel=1"]
+FTL_OPTIONS = ["--useFTLJIT=true"]
+PROBE_OSR_EXIT_OPTION = ["--useProbeOSRExit=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