[Webkit-unassigned] [Bug 261403] WASM should not depend on JIT

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Sep 11 04:34:20 PDT 2023


https://bugs.webkit.org/show_bug.cgi?id=261403

--- Comment #1 from Ross Kirsling <ross.kirsling at sony.com> ---
Created attachment 467638

  --> https://bugs.webkit.org/attachment.cgi?id=467638&action=review

Minimal changes to build (without implementing replacement functionality)

Here's a patch showing what it takes to build with !ENABLE(JIT) && ENABLE(WEBASSEMBLY) at current HEAD.

Many of these changes really are places where we're assuming that ENABLE(WEBASSEMBLY) implies ENABLE(JIT) and thus could be landed separately if we wanted.
(Note that IPInt is presently WIP so I have nothing I can say about it.)

---

This patch is obviously not meant to be run; in order to make this actually work, we'll at a minimum need to migrate two JIT thunks to offlineasm:

1. "JS->WebAssembly entrypoint[i]" (which handles the args and result for each call) is the big daunting thing, since it amounts to all of JSToWasm.cpp.

2. "Wasm LLInt entry thunks" in LLIntPlan::didCompleteCompilation (a single thunk providing a jump label for each LLIntCallee) is much smaller to translate but less clear how to connect up.
Presumably we still make our vector of callees as usual in WasmLLIntPlan.cpp (no JIT involved there), but there's an llint op which references the appropriate callee (somehow), stores a pointer to it on the stack, and jumps to wasm_function_prologue?

There's also the IC stuff, but that can be safely postponed to a ticket beyond this one.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20230911/73b644a6/attachment.htm>


More information about the webkit-unassigned mailing list