Title: [214708] trunk/Source/_javascript_Core
Revision
214708
Author
[email protected]
Date
2017-03-31 17:47:38 -0700 (Fri, 31 Mar 2017)

Log Message

WebAssembly: Add compilation level option
https://bugs.webkit.org/show_bug.cgi?id=170374

Reviewed by Mark Lam.

This patch adds an option, webAssemblyB3OptimizationLevel, which
changes the optimization mode wasm passes to B3.

* runtime/Options.h:
* wasm/WasmPlan.cpp:
(JSC::Wasm::Plan::compileFunctions):

Modified Paths

Diff

Modified: trunk/Source/_javascript_Core/ChangeLog (214707 => 214708)


--- trunk/Source/_javascript_Core/ChangeLog	2017-04-01 00:45:51 UTC (rev 214707)
+++ trunk/Source/_javascript_Core/ChangeLog	2017-04-01 00:47:38 UTC (rev 214708)
@@ -1,3 +1,17 @@
+2017-03-31  Keith Miller  <[email protected]>
+
+        WebAssembly: Add compilation level option
+        https://bugs.webkit.org/show_bug.cgi?id=170374
+
+        Reviewed by Mark Lam.
+
+        This patch adds an option, webAssemblyB3OptimizationLevel, which
+        changes the optimization mode wasm passes to B3.
+
+        * runtime/Options.h:
+        * wasm/WasmPlan.cpp:
+        (JSC::Wasm::Plan::compileFunctions):
+
 2017-03-31  Saam Barati  <[email protected]>
 
         WebAssembly: Strip WasmParser and WasmFunctionParser from knowing about VM

Modified: trunk/Source/_javascript_Core/runtime/Options.h (214707 => 214708)


--- trunk/Source/_javascript_Core/runtime/Options.h	2017-04-01 00:45:51 UTC (rev 214707)
+++ trunk/Source/_javascript_Core/runtime/Options.h	2017-04-01 00:47:38 UTC (rev 214708)
@@ -435,6 +435,7 @@
     \
     v(bool, failToCompileWebAssemblyCode, false, Normal, "If true, no Wasm::Plan will sucessfully compile a function.") \
     v(size, webAssemblyPartialCompileLimit, 5000, Normal, "Limit on the number of bytes a Wasm::Plan::compile should attempt before checking for other work.") \
+    v(unsigned, webAssemblyB3OptimizationLevel, 2, Normal, "B3 Optimization level for Web Assembly modules.") \
     \
     v(bool, simulateWebAssemblyLowMemory, false, Normal, "If true, the Memory object won't mmap the full 'maximum' range and instead will allocate the minimum required amount.") \
     v(bool, useWebAssemblyFastMemory, true, Normal, "If true, we will try to use a 32-bit address space with a signal handler to bounds check wasm memory.") \

Modified: trunk/Source/_javascript_Core/wasm/WasmPlan.cpp (214707 => 214708)


--- trunk/Source/_javascript_Core/wasm/WasmPlan.cpp	2017-04-01 00:45:51 UTC (rev 214707)
+++ trunk/Source/_javascript_Core/wasm/WasmPlan.cpp	2017-04-01 00:47:38 UTC (rev 214708)
@@ -245,7 +245,7 @@
         ASSERT(validateFunction(functionStart, functionLength, signature, *m_moduleInformation, m_moduleSignatureIndicesToUniquedSignatureIndices));
 
         m_unlinkedWasmToWasmCalls[functionIndex] = Vector<UnlinkedWasmToWasmCall>();
-        auto parseAndCompileResult = parseAndCompile(m_compilationContexts[functionIndex], functionStart, functionLength, signature, m_unlinkedWasmToWasmCalls[functionIndex], *m_moduleInformation, m_moduleSignatureIndicesToUniquedSignatureIndices, m_mode);
+        auto parseAndCompileResult = parseAndCompile(m_compilationContexts[functionIndex], functionStart, functionLength, signature, m_unlinkedWasmToWasmCalls[functionIndex], *m_moduleInformation, m_moduleSignatureIndicesToUniquedSignatureIndices, m_mode, Options::webAssemblyB3OptimizationLevel());
 
         if (UNLIKELY(!parseAndCompileResult)) {
             auto locker = holdLock(m_lock);
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to