Branch: refs/heads/main Home: https://github.com/WebKit/WebKit Commit: 103f05d044f0b05b0497833dba83a642526c229a https://github.com/WebKit/WebKit/commit/103f05d044f0b05b0497833dba83a642526c229a Author: Yusuke Suzuki <ysuz...@apple.com> Date: 2024-04-26 (Fri, 26 Apr 2024)
Changed paths: M Source/JavaScriptCore/bytecode/AccessCase.cpp M Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp Log Message: ----------- [JSC] Remove use of Committed / Primordial state of AccessCase and cloning cases only when it is Generated and having CallLinkInfo https://bugs.webkit.org/show_bug.cgi?id=273276 rdar://127076206 Reviewed by Keith Miller. This is a change towards making AccessCase just a constant feedback information instead of having mutating state. This patch removes effective use of Committed / Primordial state since we do not care about them. Right now CallLinkInfo is tied to AccessCase so we still need to know about Generated state and we need to clone it. But we don't need to clone AccessCase when it doesn't have CallLinkInfo inside it. So this patch removes this cloning for AccessCases not holding CallLinkInfo*. This is paving a path towards https://bugs.webkit.org/show_bug.cgi?id=156456. Once CallLinkInfo* gets wiped from AccessCase, we can completely remove (1) Generated state since AccessCase now just becomes immutable data and (2) cloning feature since we no longer need this. * Source/JavaScriptCore/bytecode/AccessCase.cpp: (JSC::AccessCase::commit): * Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp: (JSC::doesJSCalls): (JSC::InlineCacheCompiler::generateWithGuard): (JSC::InlineCacheCompiler::generate): (JSC::InlineCacheCompiler::regenerate): Canonical link: https://commits.webkit.org/278051@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