[webkit-changes] [WebKit/WebKit] 6aefea: Use NodeName and Namespace in CSS JIT

Yusuke Suzuki noreply at github.com
Mon Mar 25 17:51:21 PDT 2024


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

  Changed paths:
    M Source/JavaScriptCore/assembler/MacroAssembler.h
    M Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
    M Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h
    M Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h
    M Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h
    M Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h
    M Source/WTF/wtf/PlatformEnable.h
    M Source/WebCore/cssjit/RegisterAllocator.h
    M Source/WebCore/cssjit/SelectorCompiler.cpp
    M Source/WebCore/dom/QualifiedName.h

  Log Message:
  -----------
  Use NodeName and Namespace in CSS JIT
https://bugs.webkit.org/show_bug.cgi?id=267671
rdar://121167170

Reviewed by Ryosuke Niwa and Justin Michaud.

1. Use NodeName in CSS JIT code generation. This is more efficient and we can reduce code size.
2. Drop Darwin ARMv7 CSS JIT since it is no longer used.
3. We adjust registers so that this patch removes weird configuration of Assemblers in CSS JIT (what registers are reserved etc.).

* Source/JavaScriptCore/assembler/MacroAssembler.h:
(JSC::MacroAssembler::patchableBranch16):
* Source/JavaScriptCore/assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::branch16):
(JSC::MacroAssemblerARM64::patchableBranch16):
* Source/JavaScriptCore/assembler/MacroAssemblerARMv7.h:
(JSC::MacroAssemblerARMv7::branch16):
(JSC::MacroAssemblerARMv7::patchableBranch16):
* Source/JavaScriptCore/assembler/MacroAssemblerRISCV64.h:
(JSC::MacroAssemblerRISCV64::branch16):
* Source/JavaScriptCore/assembler/MacroAssemblerX86Common.h:
(JSC::MacroAssemblerX86Common::branch16):
(JSC::MacroAssemblerX86Common::branch8):
* Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::branch16):
* Source/WTF/wtf/PlatformEnable.h:
* Source/WebCore/cssjit/SelectorCompiler.cpp:
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementAttributeMatching):
(WebCore::SelectorCompiler::SelectorCodeGenerator::generateElementHasTagName):
* Source/WebCore/dom/QualifiedName.h:
(WebCore::QualifiedName::QualifiedNameImpl::namespaceMemoryOffset):
(WebCore::QualifiedName::QualifiedNameImpl::nodeNameMemoryOffset):
(WebCore::QualifiedName::QualifiedNameImpl::namespaceURIMemoryOffset):

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