[webkit-changes] [WebKit/WebKit] 1dbb4d: [JSC] Simplify BaselineCallLinkInfo by not setting...

Yusuke Suzuki noreply at github.com
Mon Mar 18 13:53:26 PDT 2024


  Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 1dbb4d47a17bf9214dbea275fe54e156f6a8d0e6
      https://github.com/WebKit/WebKit/commit/1dbb4d47a17bf9214dbea275fe54e156f6a8d0e6
  Author: Yusuke Suzuki <ysuzuki at apple.com>
  Date:   2024-03-18 (Mon, 18 Mar 2024)

  Changed paths:
    M Source/JavaScriptCore/bytecode/CallLinkInfo.cpp
    M Source/JavaScriptCore/bytecode/CallLinkInfo.h
    M Source/JavaScriptCore/bytecode/CallLinkStatus.cpp
    M Source/JavaScriptCore/bytecode/CodeBlock.cpp
    M Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp
    M Source/JavaScriptCore/bytecode/Repatch.cpp
    M Source/JavaScriptCore/dfg/DFGJITCompiler.cpp
    M Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp
    M Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp
    M Source/JavaScriptCore/jit/BaselineJITCode.cpp
    M Source/JavaScriptCore/jit/BaselineJITCode.h
    M Source/JavaScriptCore/jit/JIT.cpp
    M Source/JavaScriptCore/jit/PolymorphicCallStubRoutine.cpp
    M Source/JavaScriptCore/wasm/js/WasmToJS.cpp

  Log Message:
  -----------
  [JSC] Simplify BaselineCallLinkInfo by not setting doneLocation
https://bugs.webkit.org/show_bug.cgi?id=271107
rdar://124739833

Reviewed by Justin Michaud.

This patch makes CodeBlock::setupWithUnlinkedBaselineCode and BaselineCallLinkInfo simpler by not setting doneLocation.
CallLinkInfo's doneLocation for Baseline JIT is collected during compilation, and it is used only by DFG OSR exit compiler.
We can just keep it in BaselineJITCode and use it instead of storing it in BaselineCallLinkInfo.

* Source/JavaScriptCore/bytecode/CallLinkInfo.cpp:
(JSC::CallLinkInfo::doneLocationIfExists):
(JSC::CallLinkInfo::doneLocation): Deleted.
* Source/JavaScriptCore/bytecode/CallLinkInfo.h:
(JSC::UnlinkedCallLinkInfo::setDoneLocation):
(JSC::UnlinkedCallLinkInfo::setCodeLocations): Deleted.
* Source/JavaScriptCore/bytecode/CallLinkStatus.cpp:
(JSC::CallLinkStatus::computeFor):
* Source/JavaScriptCore/bytecode/CodeBlock.cpp:
(JSC::CodeBlock::setupWithUnlinkedBaselineCode):
* Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp:
(JSC::InlineCacheCompiler::generateImpl):
(JSC::InlineCacheCompiler::emitProxyObjectAccess):
* Source/JavaScriptCore/bytecode/Repatch.cpp:
(JSC::linkPolymorphicCall):
* Source/JavaScriptCore/dfg/DFGJITCompiler.cpp:
(JSC::DFG::JITCompiler::link):
* Source/JavaScriptCore/dfg/DFGOSRExitCompilerCommon.cpp:
(JSC::DFG::callerReturnPC):
* Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:
(JSC::FTL::DFG::LowerDFGToB3::compileCompareStrictEq):
* Source/JavaScriptCore/jit/BaselineJITCode.cpp:
(JSC::BaselineJITCode::getCallLinkDoneLocationForBytecodeIndex const):
(JSC::BaselineJITCode::~BaselineJITCode): Deleted.
* Source/JavaScriptCore/jit/BaselineJITCode.h:
* Source/JavaScriptCore/jit/JIT.cpp:
(JSC::JIT::link):
* Source/JavaScriptCore/jit/PolymorphicCallStubRoutine.cpp:
(JSC::PolymorphicCallNode::unlinkOrUpgradeImpl):
* Source/JavaScriptCore/wasm/js/WasmToJS.cpp:
(JSC::Wasm::wasmToJS):

Canonical link: https://commits.webkit.org/276292@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