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

Reply via email to