[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