Branch: refs/heads/main
Home: https://github.com/WebKit/WebKit
Commit: bf1dab73b14dafe56b0e5a9f987fdf8ca4f4ee66
https://github.com/WebKit/WebKit/commit/bf1dab73b14dafe56b0e5a9f987fdf8ca4f4ee66
Author: Yusuke Suzuki <[email protected]>
Date: 2026-08-06 (Thu, 06 Aug 2026)
Changed paths:
M Source/JavaScriptCore/bytecode/DataFormat.h
M Source/JavaScriptCore/bytecode/ValueRecovery.cpp
M Source/JavaScriptCore/bytecode/ValueRecovery.h
M Source/JavaScriptCore/dfg/DFGAbstractValue.h
M Source/JavaScriptCore/dfg/DFGGenerationInfo.h
M Source/JavaScriptCore/dfg/DFGNode.h
M Source/JavaScriptCore/dfg/DFGOSREntry.cpp
M Source/JavaScriptCore/dfg/DFGOSRExit.cpp
M Source/JavaScriptCore/dfg/DFGSilentRegisterSavePlan.h
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h
M Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp
M Source/JavaScriptCore/dfg/DFGUseKind.h
M Source/JavaScriptCore/dfg/DFGVariableEvent.h
M Source/JavaScriptCore/dfg/DFGVariableEventStream.cpp
M Source/JavaScriptCore/jit/CallFrameShuffler64.cpp
M Source/JavaScriptCore/jit/JIT.h
M Source/JavaScriptCore/jit/JITArithmetic.cpp
M Source/JavaScriptCore/jit/JITCall.cpp
M Source/JavaScriptCore/jit/JITInlines.h
M Source/JavaScriptCore/jit/JITOpcodes.cpp
M Source/JavaScriptCore/jit/JITPropertyAccess.cpp
M Source/JavaScriptCore/wasm/WasmBBQJIT.cpp
M Source/JavaScriptCore/wasm/WasmBBQJIT.h
M Source/JavaScriptCore/wasm/WasmBBQJIT64.h
Log Message:
-----------
[JSC] Remove many 32bit-only concept from JIT
https://bugs.webkit.org/show_bug.cgi?id=321164
rdar://184200996
Reviewed by Sosuke Suzuki.
We remove many GPR pairs which are only used for 32bit's JSValue
representation. Also remove various DFG formats which are only used
in 32bit. Additionally, dropping 32bit-only-related OSR entry code.
* Source/JavaScriptCore/bytecode/DataFormat.h:
(JSC::isJSFormat): Deleted.
(JSC::isJSInt32): Deleted.
(JSC::isJSDouble): Deleted.
(JSC::isJSCell): Deleted.
(JSC::isJSBoolean): Deleted.
* Source/JavaScriptCore/bytecode/ValueRecovery.cpp:
(JSC::ValueRecovery::dumpInContext const):
* Source/JavaScriptCore/bytecode/ValueRecovery.h:
(JSC::ValueRecovery::inGPR):
(JSC::ValueRecovery::isInGPR const):
(JSC::ValueRecovery::dataFormat const):
(JSC::ValueRecovery::forEachReg):
* Source/JavaScriptCore/dfg/DFGAbstractValue.h:
* Source/JavaScriptCore/dfg/DFGGenerationInfo.h:
(JSC::DFG::GenerationInfo::initCell):
(JSC::DFG::GenerationInfo::fillStrictInt52):
(JSC::DFG::GenerationInfo::initBoolean): Deleted.
(JSC::DFG::GenerationInfo::isJSFormat): Deleted.
(JSC::DFG::GenerationInfo::isJSInt32): Deleted.
(JSC::DFG::GenerationInfo::isJSDouble): Deleted.
(JSC::DFG::GenerationInfo::isJSCell): Deleted.
(JSC::DFG::GenerationInfo::isJSBoolean): Deleted.
(JSC::DFG::GenerationInfo::fillBoolean): Deleted.
* Source/JavaScriptCore/dfg/DFGNode.h:
(JSC::DFG::Node::asBoolean): Deleted.
* Source/JavaScriptCore/dfg/DFGOSREntry.cpp:
(JSC::DFG::prepareOSREntry):
* Source/JavaScriptCore/dfg/DFGOSRExit.cpp:
(JSC::DFG::OSRExit::compileExit):
* Source/JavaScriptCore/dfg/DFGSilentRegisterSavePlan.h:
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:
(JSC::DFG::SpeculativeJIT::silentSavePlanForGPR):
(JSC::DFG::SpeculativeJIT::silentSpillImpl):
(JSC::DFG::SpeculativeJIT::silentFillImpl):
(JSC::DFG::SpeculativeJIT::checkGeneratedTypeForToInt32):
(JSC::DFG::SpeculativeJIT::compileExtractFromTuple):
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT.h:
(JSC::DFG::SpeculativeJIT::spill):
* Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:
(JSC::DFG::SpeculativeJIT::fillJSValue):
(JSC::DFG::SpeculativeJIT::fillSpeculateInt32Internal):
(JSC::DFG::SpeculativeJIT::fillSpeculateCell):
(JSC::DFG::SpeculativeJIT::fillSpeculateBoolean):
(JSC::DFG::SpeculativeJIT::fillSpeculateBigInt32):
* Source/JavaScriptCore/dfg/DFGUseKind.h:
* Source/JavaScriptCore/dfg/DFGVariableEvent.h:
* Source/JavaScriptCore/dfg/DFGVariableEventStream.cpp:
* Source/JavaScriptCore/jit/CallFrameShuffler64.cpp:
(JSC::CallFrameShuffler::emitStore):
(JSC::CallFrameShuffler::emitBox):
* Source/JavaScriptCore/jit/JIT.h:
* Source/JavaScriptCore/jit/JITArithmetic.cpp:
(JSC::JIT::emit_compareUnsignedAndJumpImpl):
(JSC::JIT::emit_compareUnsignedImpl):
* Source/JavaScriptCore/jit/JITCall.cpp:
(JSC::JIT::compileCallDirectEval):
(JSC::JIT::emit_op_async_iterator_next):
(JSC::JIT::emit_op_instanceof):
* Source/JavaScriptCore/jit/JITInlines.h:
(JSC::JIT::emitGetVirtualRegisterPayload): Deleted.
* Source/JavaScriptCore/jit/JITOpcodes.cpp:
(JSC::JIT::emit_op_set_function_name):
(JSC::JIT::emit_op_get_parent_scope):
(JSC::JIT::emit_op_create_this):
(JSC::JIT::emitNewFuncCommon):
(JSC::JIT::emitNewFuncExprCommon):
(JSC::JIT::emit_op_create_lexical_environment):
(JSC::JIT::emit_op_create_scoped_arguments):
(JSC::JIT::emit_op_log_shadow_chicken_prologue):
(JSC::JIT::emit_op_log_shadow_chicken_tail):
* Source/JavaScriptCore/jit/JITPropertyAccess.cpp:
(JSC::JIT::emit_op_put_getter_by_id):
(JSC::JIT::emit_op_put_setter_by_id):
(JSC::JIT::emit_op_put_getter_setter_by_id):
(JSC::JIT::emit_op_put_getter_by_val):
(JSC::JIT::emit_op_put_setter_by_val):
(JSC::JIT::emit_op_resolve_scope):
(JSC::JIT::emitSlow_op_resolve_scope):
(JSC::JIT::emit_op_get_from_scope):
(JSC::JIT::emitSlow_op_get_from_scope):
(JSC::JIT::emit_op_put_to_scope):
(JSC::JIT::emit_op_get_from_arguments):
(JSC::JIT::emit_op_put_to_arguments):
(JSC::JIT::emit_op_get_internal_field):
(JSC::JIT::emit_op_put_internal_field):
* Source/JavaScriptCore/wasm/WasmBBQJIT.cpp:
(JSC::Wasm::BBQJITImpl::Location::dump const):
(JSC::Wasm::BBQJITImpl::Location::operator== const):
(JSC::Wasm::BBQJITImpl::BBQJIT::saveValuesAcrossCallAndPassArguments):
(JSC::Wasm::BBQJITImpl::BBQJIT::returnValuesFromCall):
(JSC::Wasm::BBQJITImpl::BBQJIT::addFusedIfCompare):
(JSC::Wasm::BBQJITImpl::BBQJIT::setLRUKey):
(JSC::Wasm::BBQJITImpl::BBQJIT::allocateWithHint):
(JSC::Wasm::BBQJITImpl::BBQJIT::bind):
(JSC::Wasm::BBQJITImpl::BBQJIT::unbind):
(JSC::Wasm::BBQJITImpl::Location::isGPR2 const): Deleted.
(JSC::Wasm::BBQJITImpl::Location::asGPRlo const): Deleted.
(JSC::Wasm::BBQJITImpl::Location::asGPRhi const): Deleted.
* Source/JavaScriptCore/wasm/WasmBBQJIT.h:
(JSC::Wasm::BBQJITImpl::BBQJIT::ScratchScope::initializedPreservedSet):
* Source/JavaScriptCore/wasm/WasmBBQJIT64.h:
(JSC::Wasm::BBQJITImpl::BBQJIT::typeNeedsGPR2): Deleted.
Canonical link: https://commits.webkit.org/318721@main
To unsubscribe from these emails, change your notification settings at
https://github.com/WebKit/WebKit/settings/notifications