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}"