...
Created attachment 366440 [details] WIP almost 2x faster on richards-wasm I still need to make the code correct in the common case, e.g, teach the unwinder how to unwind past these frames and read callee saves, and restore wasm context
Created attachment 366455 [details] WIP
Created attachment 366457 [details] WIP
Created attachment 366532 [details] WIP Wasm tests appear to pass
I now need to make polymorphic calls work.
Created attachment 366541 [details] WIP now with polymorphic ICs
Created attachment 366571 [details] WIP Almost done. Just need to clean up a few things.
Created attachment 366667 [details] patch
Attachment 366667 [details] did not pass style-queue: ERROR: Source/JavaScriptCore/wasm/js/WebAssemblyFunctionHeapCellType.cpp:32: Alphabetical sorting problem. [build/include_order] [4] Total errors found: 1 in 34 files If any of these errors are false positives, please file a bug against check-webkit-style.
Comment on attachment 366667 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=366667&action=review > Source/JavaScriptCore/jit/Repatch.cpp:1151 > - codePtr = variant.executable()->generatedJITCodeForCall()->addressForCall(ArityCheckNotRequired); > + > +#if ENABLE(WEBASSEMBLY) > + if (callLinkInfo.specializationKind() == CodeForCall) { > + if (JSFunction* function = variant.function()) { > + if (auto* wasmFunction = jsDynamicCast<WebAssemblyFunction*>(vm, function)) > + codePtr = wasmFunction->jsCallEntrypoint(); > + } > + } > +#endif > + > + if (!codePtr) > + codePtr = variant.executable()->generatedJITCodeForCall()->addressForCall(ArityCheckNotRequired); Seems like we write this code or some variant of it in multiple places. Helper?
Comment on attachment 366667 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=366667&action=review >> Source/JavaScriptCore/jit/Repatch.cpp:1151 >> + codePtr = variant.executable()->generatedJITCodeForCall()->addressForCall(ArityCheckNotRequired); > > Seems like we write this code or some variant of it in multiple places. > > Helper? Thanks for the review. Will fix.
Created attachment 366674 [details] patch for landing
Created attachment 366730 [details] patch for landing With windows build fix.
This is also a 12% speedup on https://pspdfkit.com/webassembly-benchmark/
Comment on attachment 366730 [details] patch for landing Clearing flags on attachment: 366730 Committed r243886: <https://trac.webkit.org/changeset/243886>
All reviewed patches have been landed. Closing bug.
<rdar://problem/49616723>
Committed r243898: <https://trac.webkit.org/changeset/243898>
Re-opened since this is blocked by bug 196624
Will land cloop build fix momentarily
CLoop build fix: http://trac.webkit.org/changeset/243907/webkit