REGRESSION (r210244): Release JSC Stress test failure: wasm.yaml/wasm/js-api/wasm...
authorjfbastien@apple.com <jfbastien@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 4 Jan 2017 01:14:59 +0000 (01:14 +0000)
committerjfbastien@apple.com <jfbastien@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 4 Jan 2017 01:14:59 +0000 (01:14 +0000)
commit75b890356d5f6b84f7185da1727ee9de67febc78
tree7c492cc8d1742fbf3c4c80b7725a203235e9f6d1
parent8cb109c27fc67ccacdc074a7c6ad2490c8d80fc6
REGRESSION (r210244): Release JSC Stress test failure: wasm.yaml/wasm/js-api/wasm-to-wasm.js.default-wasm
https://bugs.webkit.org/show_bug.cgi?id=166669
<rdar://problem/29856455>

Reviewed by Saam Barati.

Bug #165282 added wasm -> wasm calls, but caused crashes in
release builds because the pinned registers are also callee-saved
and were being clobbered. B3 didn't see itself clobbering them
when no memory was used, and therefore omitted a restore.

This was causing the C++ code in callWebAssemblyFunction to crash
because $r12 was 0, and it expected it to have its value prior to
the call.

* wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::createJSToWasmWrapper):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@210259 268f45cc-cd09-0410-ab3c-d52691b4dbfc
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp