Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 349d9d98217583326815bc41d75d96f16bb47c0b
https://github.com/WebKit/WebKit/commit/349d9d98217583326815bc41d75d96f16bb47c0b
Author: Yusuke Suzuki <[email protected]>
Date: 2022-12-03 (Sat, 03 Dec 2022)
Changed paths:
M Source/JavaScriptCore/bytecode/CallLinkInfo.cpp
M Source/JavaScriptCore/bytecode/CallLinkInfo.h
M Source/JavaScriptCore/bytecode/CallLinkStatus.cpp
M Source/JavaScriptCore/bytecode/CallLinkStatus.h
M Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp
M Source/JavaScriptCore/dfg/DFGOperations.cpp
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
M Source/JavaScriptCore/jit/JITCall.cpp
M Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
Log Message:
-----------
[JSC] Make BaselineCallLinkInfo more compact
https://bugs.webkit.org/show_bug.cgi?id=248704
rdar://102929204
Reviewed by Mark Lam.
This patch makes BaselineCallLinkInfo more compact by reducing size of
m_maxArgumentCountIncludingThis from unsigned to uint8_t.
This is OK since this data is profiling information and only meaningful value
is under 100 (since varargs call inlining threshold
is 100). We also store BytecodeIndex for BaselineCallLinkInfo instead of
CodeOrigin. By doing them, we can make
sizeof(BaselineCallLinkInfo) from 88 to 80 with the other reordering.
* Source/JavaScriptCore/bytecode/CallLinkInfo.cpp:
(JSC::OptimizingCallLinkInfo::setDirectCallMaxArgumentCountIncludingThis):
(JSC::CallLinkInfo::visitWeak):
(JSC::BaselineCallLinkInfo::initialize):
(JSC::CallLinkInfo::setMaxArgumentCountIncludingThis): Deleted.
* Source/JavaScriptCore/bytecode/CallLinkInfo.h:
(JSC::CallLinkInfo::offsetOfMaxArgumentCountIncludingThisForVarargs):
(JSC::CallLinkInfo::maxArgumentCountIncludingThisForVarargs):
(JSC::CallLinkInfo::updateMaxArgumentCountIncludingThisForVarargs):
(JSC::CallLinkInfo::CallLinkInfo):
(JSC::CallLinkInfo::codeOrigin const):
(JSC::CallLinkInfo::offsetOfMaxArgumentCountIncludingThis): Deleted.
(JSC::CallLinkInfo::maxArgumentCountIncludingThis): Deleted.
(JSC::CallLinkInfo::updateMaxArgumentCountIncludingThis): Deleted.
(JSC::CallLinkInfo::codeOrigin): Deleted.
(JSC::CallLinkInfo::setCallLinkInfoGPR): Deleted.
* Source/JavaScriptCore/bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFor):
(JSC::CallLinkStatus::dump const):
* Source/JavaScriptCore/bytecode/CallLinkStatus.h:
* Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:
(JSC::DFG::ByteCodeParser::handleVarargsInlining):
* Source/JavaScriptCore/dfg/DFGOperations.cpp:
(JSC::DFG::JSC_DEFINE_JIT_OPERATION):
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT32_64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
* Source/JavaScriptCore/jit/JITCall.cpp:
(JSC::JIT::compileSetupFrame):
* Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:
(JSC::LLInt::varargsSetup):
Canonical link: https://commits.webkit.org/257325@main
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes