From a8d106c2cb0361246268028cbc17efdb8edb5a02 Mon Sep 17 00:00:00 2001 From: Basilisk-Dev Date: Sun, 26 Apr 2026 15:37:02 -0400 Subject: [PATCH] Issue #3049 - loongarch64: localize shared JIT cleanup --- js/src/jit/MacroAssembler.h | 6 ++---- .../jit/loongarch64/MacroAssembler-loongarch64.h | 5 +++++ js/src/jit/mips64/Lowering-mips64.cpp | 6 ------ js/src/jit/mips64/Lowering-mips64.h | 1 - js/src/moz.build | 15 +++------------ 5 files changed, 10 insertions(+), 23 deletions(-) diff --git a/js/src/jit/MacroAssembler.h b/js/src/jit/MacroAssembler.h index bf04575821..af7de1c16a 100644 --- a/js/src/jit/MacroAssembler.h +++ b/js/src/jit/MacroAssembler.h @@ -1656,12 +1656,10 @@ class MacroAssembler : public MacroAssemblerSpecific Register temp, Label* failure); Register extractString(const Address& address, Register scratch) { - unboxString(address, scratch); - return scratch; + return extractObject(address, scratch); } Register extractString(const ValueOperand& value, Register scratch) { - unboxString(value, scratch); - return scratch; + return extractObject(value, scratch); } using MacroAssemblerSpecific::extractTag; diff --git a/js/src/jit/loongarch64/MacroAssembler-loongarch64.h b/js/src/jit/loongarch64/MacroAssembler-loongarch64.h index c8883137c0..93b21aaacb 100644 --- a/js/src/jit/loongarch64/MacroAssembler-loongarch64.h +++ b/js/src/jit/loongarch64/MacroAssembler-loongarch64.h @@ -928,6 +928,11 @@ class MacroAssemblerLOONGARCH64Compat : public MacroAssemblerLOONGARCH64 { // and returns that. [[nodiscard]] Register extractObject(const Address& address, Register scratch); + [[nodiscard]] Register extractString(const Address& address, + Register scratch) { + unboxString(address, scratch); + return scratch; + } [[nodiscard]] Register extractObject(const ValueOperand& value, Register scratch) { unboxObject(value, scratch); diff --git a/js/src/jit/mips64/Lowering-mips64.cpp b/js/src/jit/mips64/Lowering-mips64.cpp index ce4121fb2c..cf4e005db8 100644 --- a/js/src/jit/mips64/Lowering-mips64.cpp +++ b/js/src/jit/mips64/Lowering-mips64.cpp @@ -181,9 +181,3 @@ LIRGeneratorMIPS64::visitRandom(MRandom* ins) LRandom *lir = new(alloc()) LRandom(temp(), temp(), temp()); defineFixed(lir, ins, LFloatReg(ReturnDoubleReg)); } - -void -LIRGeneratorMIPS64::visitSignExtendInt64(MSignExtendInt64* ins) -{ - defineInt64(new(alloc()) LSignExtendInt64(useInt64RegisterAtStart(ins->input())), ins); -} diff --git a/js/src/jit/mips64/Lowering-mips64.h b/js/src/jit/mips64/Lowering-mips64.h index ef2061ef2f..1c24dd2fa0 100644 --- a/js/src/jit/mips64/Lowering-mips64.h +++ b/js/src/jit/mips64/Lowering-mips64.h @@ -46,7 +46,6 @@ class LIRGeneratorMIPS64 : public LIRGeneratorMIPSShared void visitUnbox(MUnbox* unbox); void visitReturn(MReturn* ret); void visitRandom(MRandom* ins); - void visitSignExtendInt64(MSignExtendInt64* ins); }; typedef LIRGeneratorMIPS64 LIRGeneratorSpecific; diff --git a/js/src/moz.build b/js/src/moz.build index f03137f2e4..e2f180beb1 100644 --- a/js/src/moz.build +++ b/js/src/moz.build @@ -348,6 +348,7 @@ main_deunified_sources = [ 'vm/WeakMapPtr.cpp', 'vm/Xdr.cpp', 'wasm/AsmJS.cpp', + 'wasm/WasmBaselineCompile.cpp', 'wasm/WasmBinaryFormat.cpp', 'wasm/WasmBinaryIterator.cpp', 'wasm/WasmBinaryToAST.cpp', @@ -359,6 +360,7 @@ main_deunified_sources = [ 'wasm/WasmFrameIterator.cpp', 'wasm/WasmGenerator.cpp', 'wasm/WasmInstance.cpp', + 'wasm/WasmIonCompile.cpp', 'wasm/WasmJS.cpp', 'wasm/WasmModule.cpp', 'wasm/WasmSignalHandlers.cpp', @@ -369,17 +371,6 @@ main_deunified_sources = [ 'wasm/WasmTypes.cpp' ] -if not CONFIG['JS_CODEGEN_LOONGARCH64']: - SOURCES += [ - 'wasm/WasmBaselineCompile.cpp', - 'wasm/WasmIonCompile.cpp', - ] -else: - SOURCES += [ - 'wasm/WasmBaselineCompile.cpp', - 'wasm/WasmIonCompile.cpp', - ] - # jsarray.cpp and jsatom.cpp cannot be built in unified mode because # xpcshell is broken during packaging when compiled with gcc-4.8.2 # builtin/RegExp.cpp cannot be built in unified mode because it is built @@ -435,7 +426,7 @@ if CONFIG['ENABLE_TRACE_LOGGING']: jit_ioncheck1_deunified_sources = [] jit_ioncheck2_deunified_sources = [] jit_ioncheck3_deunified_sources = [] -if CONFIG['JS_CODEGEN_NONE']: +if not CONFIG['ENABLE_ION']: jit_ioncheck1_deunified_sources += [ 'jit/none/Trampoline-none.cpp' ]