[webkit-changes] [WebKit/WebKit] 0b31e2: Support JITless Wasm import calls
Daniel Liu
noreply at github.com
Tue Aug 13 09:40:49 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 0b31e2848d7894a6a26fc22e04e24641ab426429
https://github.com/WebKit/WebKit/commit/0b31e2848d7894a6a26fc22e04e24641ab426429
Author: Daniel Liu <danlliu at umich.edu>
Date: 2024-08-13 (Tue, 13 Aug 2024)
Changed paths:
M JSTests/wasm/noJIT/noJIT.js
A JSTests/wasm/stress/cc-int-to-int-to-js.js
M JSTests/wasm/stress/wasm-js-call-many-return-types-on-stack-no-args.js
M Source/JavaScriptCore/assembler/JITOperationList.cpp
M Source/JavaScriptCore/bytecode/BytecodeList.rb
M Source/JavaScriptCore/llint/LowLevelInterpreter.asm
M Source/JavaScriptCore/llint/WebAssembly.asm
M Source/JavaScriptCore/runtime/Options.cpp
M Source/JavaScriptCore/wasm/WasmCallee.cpp
M Source/JavaScriptCore/wasm/WasmCallee.h
M Source/JavaScriptCore/wasm/WasmEntryPlan.cpp
M Source/JavaScriptCore/wasm/WasmEntryPlan.h
M Source/JavaScriptCore/wasm/WasmIndexOrName.h
M Source/JavaScriptCore/wasm/WasmLLIntPlan.cpp
M Source/JavaScriptCore/wasm/WasmOperations.cpp
M Source/JavaScriptCore/wasm/WasmOperations.h
M Source/JavaScriptCore/wasm/WasmSlowPaths.cpp
M Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.cpp
M Source/JavaScriptCore/wasm/js/JSWebAssemblyInstance.h
Log Message:
-----------
Support JITless Wasm import calls
https://bugs.webkit.org/show_bug.cgi?id=277830
rdar://133494023
Reviewed by Yusuke Suzuki and Keith Miller.
This patch finishes JITless Wasm support by enabling JITless entry points for
imported functions, both from JS and Wasm. This allows us to run JetStream2.0
with JIT turned off.
* JSTests/wasm/stress/cc-infinite-int-glitch.js:
(from.string_appeared_here.import.as.assert.from.string_appeared_here.let.wat.module.func.test.export.string_appeared_here.param.x.i32.result.i32.result.i32.local.x.local.x.func.test2.export.string_appeared_here.param.x.i32.result.i32.result.i32.result.i32.local.x.local.x.local.x.async test):
* JSTests/wasm/stress/cc-int-to-int-to-js.js: Added.
(local.x.call.callee.callee):
(async test):
* JSTests/wasm/stress/wasm-js-call-many-return-types-on-stack-no-args.js:
(async test):
* Source/JavaScriptCore/assembler/JITOperationList.cpp:
(JSC::llintOperations):
* Source/JavaScriptCore/bytecode/BytecodeList.rb:
* Source/JavaScriptCore/llint/WebAssembly.asm:
* Source/JavaScriptCore/wasm/WasmCallee.h:
* Source/JavaScriptCore/wasm/WasmEntryPlan.cpp:
(JSC::Wasm::EntryPlan::generateWasmToJSStubs):
* Source/JavaScriptCore/wasm/WasmIndexOrName.h:
* Source/JavaScriptCore/wasm/WasmLLIntPlan.cpp:
(JSC::Wasm::LLIntPlan::compileFunction):
* Source/JavaScriptCore/wasm/WasmOperations.cpp:
(JSC::Wasm::JSC_DEFINE_JIT_OPERATION):
* Source/JavaScriptCore/wasm/WasmOperations.h:
* Source/JavaScriptCore/wasm/WasmSlowPaths.cpp:
(JSC::LLInt::doWasmCall):
(JSC::LLInt::doWasmCallIndirect):
(JSC::LLInt::doWasmCallRef):
Canonical link: https://commits.webkit.org/282172@main
To unsubscribe from these emails, change your notification settings at https://github.com/WebKit/WebKit/settings/notifications
More information about the webkit-changes
mailing list