[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