[webkit-changes] [WebKit/WebKit] c88311: Refactor OMG call patchpoint and tail call patchpoint

Justin Michaud noreply at github.com
Tue May 21 06:23:44 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: c88311640e5fed73c815ddc6e06c4575b4364fcf
      https://github.com/WebKit/WebKit/commit/c88311640e5fed73c815ddc6e06c4575b4364fcf
  Author: Justin Michaud <jmichaud at igalia.com>
  Date:   2024-05-21 (Tue, 21 May 2024)

  Changed paths:
    A JSTests/wasm/stress/cc-int-to-int-tail-call.js
    M Source/JavaScriptCore/dfg/DFGStrengthReductionPhase.cpp
    M Source/JavaScriptCore/runtime/Options.cpp
    M Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp
    M Source/JavaScriptCore/wasm/js/WasmToJS.cpp

  Log Message:
  -----------
  Refactor OMG call patchpoint and tail call patchpoint
https://bugs.webkit.org/show_bug.cgi?id=273823

Reviewed by Yusuke Suzuki.

The wasm tail calls feature does not currently work when the new frame
overlaps the old frame in interesting ways, so the tail calls tests
were disabled. Then, OMG inlining broke tail calls, causing an assertion failure.

This patch does not fix tail calls, but it does fix that assertion.

It also refactors both versions of create[Tail]CallPatchpoint to look
the same. This makes it a little nicer to read, but more importantly,
it makes it easier for a follow-up patch to fix OMG tail calls.

The main reason for this change is so that the follow-up patch is easier to read.

* Source/JavaScriptCore/wasm/WasmOMGIRGenerator.cpp:
(JSC::Wasm::OMGIRGenerator::emitIndirectCall):
(JSC::Wasm::OMGIRGenerator::createCallPatchpoint):
(JSC::Wasm::OMGIRGenerator::createTailCallPatchpoint):
(JSC::Wasm::OMGIRGenerator::addCall):

Canonical link: https://commits.webkit.org/279055@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