Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: b9c0ed5b8c51f209410cbc18059d00add9fce06e
      
https://github.com/WebKit/WebKit/commit/b9c0ed5b8c51f209410cbc18059d00add9fce06e
  Author: Kai Tamkun <[email protected]>
  Date:   2026-09-11 (Fri, 11 Sep 2026)

  Changed paths:
    M Source/JavaScriptCore/llint/LLIntExceptions.h
    M Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
    M Source/JavaScriptCore/llint/LowLevelInterpreter.asm
    M Source/JavaScriptCore/llint/LowLevelInterpreter64.asm
    M Source/JavaScriptCore/runtime/CommonSlowPaths.cpp

  Log Message:
  -----------
  [JSC] Throwing an exception causes a CPA2 failure in LLInt slow paths
https://bugs.webkit.org/show_bug.cgi?id=323984
rdar://185182086

Reviewed by Keith Miller.

On CPA2-supporting architectures, we need to bypass the reconstruction of PC
in LLInt when an exception is thrown in a slow path. This patch does this by
introducing a sentinel value (all ones) returned in r1 that we test for to
jump straight to the throw trampoline when necessary.

No new tests because this can't be tested in software.

* Source/JavaScriptCore/llint/LLIntExceptions.h:
(JSC::LLInt::exceptionSignal):
* Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:
(JSC::LLInt::LLINT_SLOW_PATH_DECL):
* Source/JavaScriptCore/llint/LowLevelInterpreter.asm:
* Source/JavaScriptCore/llint/LowLevelInterpreter64.asm:
* Source/JavaScriptCore/runtime/CommonSlowPaths.cpp:

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



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications

Reply via email to