Issue #3049 - loongarch64: localize shared JIT cleanup

This commit is contained in:
Basilisk-Dev 2026-04-26 15:37:02 -04:00 committed by wuggy
commit a8d106c2cb
5 changed files with 10 additions and 23 deletions

View file

@ -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;

View file

@ -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);

View file

@ -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);
}

View file

@ -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;

View file

@ -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'
]