[webkit-changes] [WebKit/WebKit] e30982: [JSC] Not using PolymorphicAccess in Handler IC
Yusuke Suzuki
noreply at github.com
Mon Aug 19 10:14:41 PDT 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: e3098206e15faab0ba2e81ceb226134f6371999a
https://github.com/WebKit/WebKit/commit/e3098206e15faab0ba2e81ceb226134f6371999a
Author: Yusuke Suzuki <ysuzuki at apple.com>
Date: 2024-08-19 (Mon, 19 Aug 2024)
Changed paths:
M Source/JavaScriptCore/bytecode/CheckPrivateBrandStatus.cpp
M Source/JavaScriptCore/bytecode/DeleteByStatus.cpp
M Source/JavaScriptCore/bytecode/GetByStatus.cpp
M Source/JavaScriptCore/bytecode/InByStatus.cpp
M Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp
M Source/JavaScriptCore/bytecode/InlineCacheCompiler.h
M Source/JavaScriptCore/bytecode/InstanceOfStatus.cpp
M Source/JavaScriptCore/bytecode/PutByStatus.cpp
M Source/JavaScriptCore/bytecode/SetPrivateBrandStatus.cpp
M Source/JavaScriptCore/bytecode/StructureStubInfo.cpp
M Source/JavaScriptCore/bytecode/StructureStubInfo.h
Log Message:
-----------
[JSC] Not using PolymorphicAccess in Handler IC
https://bugs.webkit.org/show_bug.cgi?id=278283
rdar://134159625
Reviewed by Yijia Huang.
Handler IC is already keeping AccessCase information in handlers. Thus PolymorphicAccess is unnecessary abstraction.
This patch refactors the architecture so that we no longer have PolymorphicAccess in Handler IC. Once FTL moves to Handler IC,
64bit IC will completely remove PolymorphicAccess, using chain of handlers.
* Source/JavaScriptCore/bytecode/CheckPrivateBrandStatus.cpp:
(JSC::CheckPrivateBrandStatus::computeForStubInfoWithoutExitSiteFeedback):
* Source/JavaScriptCore/bytecode/DeleteByStatus.cpp:
(JSC::DeleteByStatus::computeForStubInfoWithoutExitSiteFeedback):
* Source/JavaScriptCore/bytecode/GetByStatus.cpp:
(JSC::GetByStatus::computeForStubInfoWithoutExitSiteFeedback):
* Source/JavaScriptCore/bytecode/InByStatus.cpp:
(JSC::InByStatus::computeForStubInfoWithoutExitSiteFeedback):
* Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp:
(JSC::InlineCacheHandler::propagateTransitions const):
(JSC::InlineCacheHandler::visitAggregateImpl):
(JSC::InlineCacheCompiler::tryFoldToMegamorphic):
(JSC::InlineCacheCompiler::compileHandler):
(JSC::InlineCacheCompiler::compileOneAccessCaseHandler):
(JSC::InlineCacheHandler::visitWeak):
* Source/JavaScriptCore/bytecode/InlineCacheCompiler.h:
(JSC::PolymorphicAccess::at):
(JSC::PolymorphicAccess::operator[]):
* Source/JavaScriptCore/bytecode/InstanceOfStatus.cpp:
(JSC::InstanceOfStatus::computeForStubInfo):
* Source/JavaScriptCore/bytecode/PutByStatus.cpp:
(JSC::PutByStatus::computeForStubInfo):
* Source/JavaScriptCore/bytecode/SetPrivateBrandStatus.cpp:
(JSC::SetPrivateBrandStatus::computeForStubInfoWithoutExitSiteFeedback):
* Source/JavaScriptCore/bytecode/StructureStubInfo.cpp:
(JSC::StructureStubInfo::upgradeForPolyProtoIfNecessary):
(JSC::StructureStubInfo::addAccessCase):
(JSC::StructureStubInfo::reset):
(JSC::StructureStubInfo::visitAggregateImpl):
(JSC::StructureStubInfo::visitWeakReferences):
(JSC::StructureStubInfo::propagateTransitions):
(JSC::StructureStubInfo::summary const):
(JSC::StructureStubInfo::summary):
(JSC::StructureStubInfo::containsPC const):
(JSC::StructureStubInfo::listedAccessCases const):
* Source/JavaScriptCore/bytecode/StructureStubInfo.h:
Canonical link: https://commits.webkit.org/282431@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