Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 92f56d6eefafccbc7015657959a40e3423ff4410
      
https://github.com/WebKit/WebKit/commit/92f56d6eefafccbc7015657959a40e3423ff4410
  Author: Yusuke Suzuki <ysuz...@apple.com>
  Date:   2025-09-02 (Tue, 02 Sep 2025)

  Changed paths:
    M Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp

  Log Message:
  -----------
  [JSC] Wasm IPInt do not need to enter OSR from prologue
https://bugs.webkit.org/show_bug.cgi?id=298152
rdar://159517911

Reviewed by Yijia Huang.

In JS, we need prologue OSR. The reason is JS's compilation requires
finalization on the main thread. So already compiled Plans are still
staying unfinished, and prologue can find them, installing them, and
immediately start using them.

On the other hand, wasm does not require finalization on the main
thread. Compilation and installation are fully done in the wasm compiler
thread. Any cooperative main thread handling is not necessary for
installation.

This means that IPInt prologue OSR is meaningless. If wasm code is
already compiled, then you can get it already. Not entering into IPInt.

This patch adds explicit annotation Prologue, Loop, Epilogue to
jitCompileAndSetHeuristics. And avoid getting callee when the phase is
Prologue or Epilogue.

* Source/JavaScriptCore/wasm/WasmIPIntSlowPaths.cpp:
(JSC::IPInt::jitCompileAndSetHeuristics):
(JSC::IPInt::WASM_IPINT_EXTERN_CPP_DECL):

Canonical link: https://commits.webkit.org/299453@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to