[webkit-changes] [WebKit/WebKit] 3feec6: [JSC] Combine FTL code generation into one
Yusuke Suzuki
noreply at github.com
Fri Mar 8 19:01:12 PST 2024
Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: 3feec6ad3154fd9e99b455a8d5e9609402b6602f
https://github.com/WebKit/WebKit/commit/3feec6ad3154fd9e99b455a8d5e9609402b6602f
Author: Yusuke Suzuki <ysuzuki at apple.com>
Date: 2024-03-08 (Fri, 08 Mar 2024)
Changed paths:
M Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
M Source/JavaScriptCore/b3/air/AirDisassembler.cpp
M Source/JavaScriptCore/ftl/FTLCompile.cpp
R Source/JavaScriptCore/ftl/FTLGeneratedFunction.h
M Source/JavaScriptCore/ftl/FTLJITCode.cpp
M Source/JavaScriptCore/ftl/FTLJITCode.h
M Source/JavaScriptCore/ftl/FTLJITFinalizer.h
M Source/JavaScriptCore/ftl/FTLLink.cpp
M Source/JavaScriptCore/ftl/FTLState.h
Log Message:
-----------
[JSC] Combine FTL code generation into one
https://bugs.webkit.org/show_bug.cgi?id=270684
rdar://124259821
Reviewed by Justin Michaud.
This patch simplifies FTL code generation. Previously we were always generating two codes, one for normal code and one for arity check etc.
But just generating both into one is easy and simple. This patch cleans up around it and use of LinkBuffer / AssemblerData etc. gets simplified.
Originally we were doing so since FTL part is generated by LLVM, and we generate arity check as a separate code, but now both are generated by JSC's
JIT compiler. So we do not need to separate them.
* Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj:
* Source/JavaScriptCore/b3/air/AirDisassembler.cpp:
(JSC::B3::Air::Disassembler::dump):
* Source/JavaScriptCore/ftl/FTLCompile.cpp:
(JSC::FTL::compile):
* Source/JavaScriptCore/ftl/FTLGeneratedFunction.h: Removed.
* Source/JavaScriptCore/ftl/FTLJITCode.cpp:
(JSC::FTL::JITCode::~JITCode):
(JSC::FTL::JITCode::initializeAddressForArityCheck):
(JSC::FTL::JITCode::addressForCall):
(JSC::FTL::JITCode::initializeArityCheckEntrypoint): Deleted.
* Source/JavaScriptCore/ftl/FTLJITCode.h:
* Source/JavaScriptCore/ftl/FTLJITFinalizer.h:
* Source/JavaScriptCore/ftl/FTLLink.cpp:
(JSC::FTL::link):
* Source/JavaScriptCore/ftl/FTLState.h:
Canonical link: https://commits.webkit.org/275868@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