[webkit-changes] [WebKit/WebKit] 5dec07: [JSC] Do not use disallowStubs

Yusuke Suzuki noreply at github.com
Tue May 28 16:31:21 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 5dec07a85f6eb5306f53796598fa8bf9da84aa4c
      https://github.com/WebKit/WebKit/commit/5dec07a85f6eb5306f53796598fa8bf9da84aa4c
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2024-05-28 (Tue, 28 May 2024)

  Changed paths:
    M Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp

  Log Message:
  -----------
  [JSC] Do not use disallowStubs
https://bugs.webkit.org/show_bug.cgi?id=148914
rdar://128886060

Reviewed by Keith Miller.

Previously out Call IC stub for repatching is doing a jump to the stub and jump back to the caller. This means, when calling a function from polymorphic call stub,
there is no return address pointing at the caller of this stub. As a result, we may collect Getter / Setter IC code, and it destroys holding polymorphic call stub code too.
But now, all call IC stubs are invoked through call operations. This means the return address is pointing at caller's address, so JITStubRoutine's GC scanning just works.
We do not need to disable stubs anymore.

* Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp:
(JSC::InlineCacheCompiler::generateImpl):
(JSC::InlineCacheCompiler::emitProxyObjectAccess):

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