Title: [251013] trunk
Revision
251013
Author
[email protected]
Date
2019-10-11 11:47:19 -0700 (Fri, 11 Oct 2019)

Log Message

Wasm B3IRGenerator should use arguments for control data.
https://bugs.webkit.org/show_bug.cgi?id=202855

Reviewed by Yusuke Suzuki.

JSTests:

* wasm/stress/loop-more-args-than-results.js: Added.

Source/_javascript_Core:

This was failing a test on our bots. I'm not sure how I missed
it... I also added another test for good measure.

* wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::ControlData::ControlData):

Modified Paths

Added Paths

Diff

Modified: trunk/JSTests/ChangeLog (251012 => 251013)


--- trunk/JSTests/ChangeLog	2019-10-11 17:22:28 UTC (rev 251012)
+++ trunk/JSTests/ChangeLog	2019-10-11 18:47:19 UTC (rev 251013)
@@ -1,3 +1,12 @@
+2019-10-11  Keith Miller  <[email protected]>
+
+        Wasm B3IRGenerator should use arguments for control data.
+        https://bugs.webkit.org/show_bug.cgi?id=202855
+
+        Reviewed by Yusuke Suzuki.
+
+        * wasm/stress/loop-more-args-than-results.js: Added.
+
 2019-10-10  Mark Lam  <[email protected]>
 
         Modify JSTests/stress/string-overflow-createError-*.js tests to allow an OOME result.

Added: trunk/JSTests/wasm/stress/loop-more-args-than-results.js (0 => 251013)


--- trunk/JSTests/wasm/stress/loop-more-args-than-results.js	                        (rev 0)
+++ trunk/JSTests/wasm/stress/loop-more-args-than-results.js	2019-10-11 18:47:19 UTC (rev 251013)
@@ -0,0 +1,18 @@
+import { instantiate } from "../wabt-wrapper.js";
+
+let wat = `
+(module
+  (func (export "test") (param i32) (result i32)
+    i32.const 0
+    i32.const 1
+    (loop (param i32 i32) (result i32)
+      drop
+    )
+  )
+)
+`;
+
+let instance = instantiate(wat);
+
+if (instance.exports.test() !== 0)
+    throw new Error();

Modified: trunk/Source/_javascript_Core/ChangeLog (251012 => 251013)


--- trunk/Source/_javascript_Core/ChangeLog	2019-10-11 17:22:28 UTC (rev 251012)
+++ trunk/Source/_javascript_Core/ChangeLog	2019-10-11 18:47:19 UTC (rev 251013)
@@ -1,3 +1,16 @@
+2019-10-11  Keith Miller  <[email protected]>
+
+        Wasm B3IRGenerator should use arguments for control data.
+        https://bugs.webkit.org/show_bug.cgi?id=202855
+
+        Reviewed by Yusuke Suzuki.
+
+        This was failing a test on our bots. I'm not sure how I missed
+        it... I also added another test for good measure.
+
+        * wasm/WasmB3IRGenerator.cpp:
+        (JSC::Wasm::B3IRGenerator::ControlData::ControlData):
+
 2019-10-10  Keith Miller  <[email protected]>
 
         GenerateAndAllocateRegisters can trivially elide self moves at end of liveness

Modified: trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.cpp (251012 => 251013)


--- trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.cpp	2019-10-11 17:22:28 UTC (rev 251012)
+++ trunk/Source/_javascript_Core/wasm/WasmB3IRGenerator.cpp	2019-10-11 18:47:19 UTC (rev 251013)
@@ -97,7 +97,7 @@
         {
             if (type == BlockType::Loop) {
                 for (unsigned i = 0; i < signature->argumentCount(); ++i)
-                    phis.append(proc.add<Value>(Phi, toB3Type(signature->returnType(i)), origin));
+                    phis.append(proc.add<Value>(Phi, toB3Type(signature->argument(i)), origin));
             } else {
                 for (unsigned i = 0; i < signature->returnCount(); ++i)
                     phis.append(proc.add<Value>(Phi, toB3Type(signature->returnType(i)), origin));
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to