Branch: refs/heads/main
  Home:   https://github.com/WebKit/WebKit
  Commit: 0b1e4218e15e0a570bc14845039f209c16e43d09
      
https://github.com/WebKit/WebKit/commit/0b1e4218e15e0a570bc14845039f209c16e43d09
  Author: Ian Grunert <[email protected]>
  Date:   2024-06-20 (Thu, 20 Jun 2024)

  Changed paths:
    M Source/JavaScriptCore/assembler/AbstractMacroAssembler.h
    M Source/JavaScriptCore/assembler/MacroAssembler.cpp
    M Source/JavaScriptCore/assembler/MacroAssembler.h
    M Source/JavaScriptCore/assembler/MacroAssemblerPrinter.cpp
    M Source/JavaScriptCore/assembler/MacroAssemblerPrinter.h
    M Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h
    M Source/JavaScriptCore/assembler/ProbeContext.h
    M Source/JavaScriptCore/bytecode/CodeBlock.h
    M Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp
    M Source/JavaScriptCore/dfg/DFGArithMode.h
    M Source/JavaScriptCore/dfg/DFGJITCompiler.h
    M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h
    M Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
    M Source/JavaScriptCore/interpreter/CallFrame.h
    M Source/JavaScriptCore/jit/CCallHelpers.h
    M Source/JavaScriptCore/jit/JIT.h
    M Source/JavaScriptCore/jit/JITCall.cpp
    M Source/JavaScriptCore/jit/JITOpcodes.cpp
    M Source/JavaScriptCore/jit/JITOperations.cpp
    M Source/JavaScriptCore/jit/JITOperations.h
    M Source/JavaScriptCore/jit/JITPropertyAccess.cpp
    M Source/JavaScriptCore/jit/OperationResult.h
    M Source/JavaScriptCore/jit/RegisterSet.cpp
    M Source/JavaScriptCore/jit/SlowPathCall.cpp
    M Source/JavaScriptCore/jit/ThunkGenerators.cpp
    M Source/JavaScriptCore/llint/LLIntData.cpp
    M Source/JavaScriptCore/llint/LLIntData.h
    M Source/JavaScriptCore/llint/LLIntSlowPaths.cpp
    M Source/JavaScriptCore/llint/LLIntThunks.h
    M Source/JavaScriptCore/runtime/Options.cpp
    M Source/JavaScriptCore/runtime/SlowPathFunction.h
    M Source/JavaScriptCore/tools/JSDollarVM.cpp
    M Source/WTF/wtf/FunctionTraits.h
    M Source/WTF/wtf/PlatformEnable.h
    M Source/WTF/wtf/PlatformUse.h

  Log Message:
  -----------
  Use SystemV ABI for Baseline JS JIT on Windows
https://bugs.webkit.org/show_bug.cgi?id=275213

Reviewed by Yusuke Suzuki.

Using SystemV ABI for C++ entrypoints and JIT operations.

Removed ExceptionOperationResultBase from OperationResult. Due to more
conservative empty base class optimization on Windows, this was causing
register spills which (surprisingly) added an extra register parameter
to the compiled function, which broke when called from JIT generated
assembly.

USE_BUILTIN_FRAME_ADDRESS is still disabled, this requires work in clang
to enable __builtin_stack_address().

Disabled CSS Selector JIT, requires further work
Disable DFG JIT at runtime, requires further work
Disable YARR JIT at runtime, requires further work

* Source/JavaScriptCore/assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::TrustedImmPtr::TrustedImmPtr):
* Source/JavaScriptCore/assembler/MacroAssembler.cpp:
(JSC::stdFunctionCallback):
* Source/JavaScriptCore/assembler/MacroAssembler.h:
* Source/JavaScriptCore/assembler/MacroAssemblerPrinter.cpp:
(JSC::Printer::printCallback):
* Source/JavaScriptCore/assembler/MacroAssemblerPrinter.h:
* Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::call):
(JSC::MacroAssemblerX86_64::callWithUGPRPair): Deleted.
* Source/JavaScriptCore/assembler/ProbeContext.h:
* Source/JavaScriptCore/bytecode/CodeBlock.h:
* Source/JavaScriptCore/bytecode/InlineCacheCompiler.cpp:
(JSC::InlineCacheCompiler::emitDataICPrologue):
* Source/JavaScriptCore/dfg/DFGArithMode.h:
* Source/JavaScriptCore/dfg/DFGJITCompiler.h:
(JSC::DFG::JITCompiler::appendCallWithUGPRPair): Deleted.
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::appendCallSetResult):
(JSC::DFG::SpeculativeJIT::appendCallWithUGPRPair): Deleted.
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::emitCall):
* Source/JavaScriptCore/interpreter/CallFrame.h:
* Source/JavaScriptCore/jit/CCallHelpers.h:
(JSC::CCallHelpers::ArgCollection::argCount):
(JSC::CCallHelpers::calculatePokeOffset):
(JSC::CCallHelpers::marshallArgumentRegister):
(JSC::CCallHelpers::setupArgumentsImpl):
* Source/JavaScriptCore/jit/JIT.h:
* Source/JavaScriptCore/jit/JITCall.cpp:
(JSC::JIT::emit_op_iterator_next):
* Source/JavaScriptCore/jit/JITOpcodes.cpp:
(JSC::JIT::op_enter_handlerGenerator):
* Source/JavaScriptCore/jit/JITOperations.cpp:
* Source/JavaScriptCore/jit/JITOperations.h:
* Source/JavaScriptCore/jit/JITPropertyAccess.cpp:
* Source/JavaScriptCore/jit/OperationResult.h:
* Source/JavaScriptCore/jit/RegisterSet.cpp:
(JSC::RegisterSetBuilder::wasmPinnedRegisters):
* Source/JavaScriptCore/jit/SlowPathCall.cpp:
(JSC::JITSlowPathCall::generateThunk):
* Source/JavaScriptCore/jit/ThunkGenerators.cpp:
(JSC::nativeForGenerator):
(JSC::arityFixupGenerator):
* Source/JavaScriptCore/llint/LLIntData.cpp:
* Source/JavaScriptCore/llint/LLIntData.h:
* Source/JavaScriptCore/llint/LLIntSlowPaths.cpp:
(JSC::LLInt::logWasmPrologue):
(JSC::LLInt::llint_write_barrier_slow):
* Source/JavaScriptCore/llint/LLIntThunks.h:
* Source/JavaScriptCore/runtime/Options.cpp:
(JSC::Options::notifyOptionsChanged):
* Source/JavaScriptCore/runtime/SlowPathFunction.h:
* Source/JavaScriptCore/tools/JSDollarVM.cpp:
* Source/WTF/wtf/FunctionTraits.h:
(WTF::SYSV_ABI):
* Source/WTF/wtf/PlatformEnable.h:
* Source/WTF/wtf/PlatformUse.h:

Canonical link: https://commits.webkit.org/280216@main



To unsubscribe from these emails, change your notification settings at 
https://github.com/WebKit/WebKit/settings/notifications
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to