New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[JSC] Expand InByVal ICs to cover integer indices as well #17704
[JSC] Expand InByVal ICs to cover integer indices as well #17704
Conversation
EWS run on previous version of this PR (hash db0eeff) |
db0eeff
to
37258e1
Compare
EWS run on previous version of this PR (hash 37258e1) |
37258e1
to
dc3771b
Compare
EWS run on previous version of this PR (hash dc3771b) |
dc3771b
to
69cad80
Compare
69cad80
to
4c3a468
Compare
EWS run on previous version of this PR (hash 4c3a468)
|
4c3a468
to
1d9c5c1
Compare
EWS run on previous version of this PR (hash 1d9c5c1)
|
1d9c5c1
to
58b65d8
Compare
EWS run on current version of this PR (hash 58b65d8)
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
r=me.
https://bugs.webkit.org/show_bug.cgi?id=226619 rdar://79172384 Reviewed by Keith Miller. Inline Cache for InByVal should cover indexed accesses too so that we can handle multiple indexed-shaped arrays efficiently at one InByVal site. * Source/JavaScriptCore/bytecode/AccessCase.cpp: (JSC::AccessCase::create): (JSC::AccessCase::guardedByStructureCheckSkippingConstantIdentifierCheck const): (JSC::AccessCase::requiresIdentifierNameMatch const): (JSC::AccessCase::requiresInt32PropertyCheck const): (JSC::AccessCase::forEachDependentCell const): (JSC::AccessCase::doesCalls const): (JSC::AccessCase::canReplace const): (JSC::AccessCase::runWithDowncast): (JSC::AccessCase::canBeShared): (JSC::AccessCase::needsScratchFPR const): Deleted. * Source/JavaScriptCore/bytecode/AccessCase.h: * Source/JavaScriptCore/bytecode/InByStatus.cpp: (JSC::InByStatus::computeForStubInfoWithoutExitSiteFeedback): * Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp: (JSC::toTypedArrayType): (JSC::forResizableTypedArray): (JSC::needsScratchFPR): (JSC::forInBy): (JSC::InlineCacheCompiler::generateWithGuard): (JSC::InlineCacheCompiler::generateImpl): (JSC::InlineCacheCompiler::regenerate): * Source/JavaScriptCore/bytecode/Repatch.cpp: (JSC::tryCacheArrayInByVal): (JSC::repatchArrayInByVal): * Source/JavaScriptCore/bytecode/Repatch.h: * Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp: (JSC::DFG::SpeculativeJIT::compile): * Source/JavaScriptCore/jit/JITOperations.cpp: (JSC::JSC_DEFINE_JIT_OPERATION): * Source/JavaScriptCore/runtime/CommonSlowPaths.h: (JSC::CommonSlowPaths::opInByVal): Canonical link: https://commits.webkit.org/267991@main
58b65d8
to
17e3401
Compare
Committed 267991@main (17e3401): https://commits.webkit.org/267991@main Reviewed commits have been landed. Closing PR #17704 and removing active labels. |
17e3401
58b65d8