[Webkit-unassigned] [Bug 220365] [JSC] Allow to build WebAssembly without B3
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Jan 6 08:58:15 PST 2021
https://bugs.webkit.org/show_bug.cgi?id=220365
Xan Lopez <xan.lopez at gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
CC| |xan.lopez at gmail.com
--- Comment #1 from Xan Lopez <xan.lopez at gmail.com> ---
Created attachment 417088
--> https://bugs.webkit.org/attachment.cgi?id=417088&action=review
WIP patch.
WIP patch.
- Adds a WEBASSEMBLY_JIT flag. Technically there's still some JIT used (trampolines), so maybe it could have a different name for now, this just seemed intuitive.
- The patch mostly #ifdefs out the tiering up code. Pretty straightforward save for two bits:
1) code in WasmCallingConvention.h uses B3::ValueRep for all tiers. This seems to be a self-contained class to track the representation of values. It could be moved out of b3/, or we could use something different.
2) the js->wasm entrypoint uses B3::Compilation unconditionally, even for LLInt code. Again, this can be basically compiled by itself, so I'm also doing that. It could be moved elsewhere, or we could use something different.
There's still some JIT usage left, AFAICT used for trampoline code between wasm and js. It's been marked with FIXMEs. If someone manages to also replace that for LLInt-only builds they'd have a JIT-less wasm implementation, I think.
I tried to get the minimal thing that seems to work, but comments are more than welcome about the approach and what to do with the B3 classes that are used unconditionally, I'm far from familiar with the code.
All tests in JSTests/wasm pass.
--
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/20210106/9c7e9391/attachment.htm>
More information about the webkit-unassigned
mailing list