Skip to content

Commit 4d0bc38

Browse files
committedApr 30, 2021
deps: V8: cherry-pick 6771d3e31883
Original commit message: [wasm][liftoff][cleanup] Remove default parameter of GetUnusedRegister This CL removes the default parameter of GetUnusedRegister to avoid bugs where the default parameter is used accidentially. With "{}" the default value of the parameter is easy to write, and also not much more difficult to read. R=clemensb@chromium.org Bug: v8:10506 Change-Id: I3debe5eb91578c82abdac81dc6c252435fdf30d6 Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2202991 Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#67822} Refs: v8/v8@6771d3e PR-URL: #38275 Reviewed-By: Matteo Collina <matteo.collina@gmail.com> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: Shelley Vohr <codebytere@gmail.com>
1 parent 9829378 commit 4d0bc38

8 files changed

+54
-53
lines changed
 

‎common.gypi

+1-1
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@
3636

3737
# Reset this number to 0 on major V8 upgrades.
3838
# Increment by one for each non-official patch applied to deps/v8.
39-
'v8_embedder_string': '-node.55',
39+
'v8_embedder_string': '-node.56',
4040

4141
##### V8 defaults for Node.js #####
4242

‎deps/v8/src/wasm/baseline/arm/liftoff-assembler-arm.h

+5-5
Original file line numberDiff line numberDiff line change
@@ -437,7 +437,7 @@ void LiftoffAssembler::LoadConstant(LiftoffRegister reg, WasmValue value,
437437
vmov(liftoff::GetFloatRegister(reg.fp()), value.to_f32_boxed());
438438
break;
439439
case ValueType::kF64: {
440-
Register extra_scratch = GetUnusedRegister(kGpReg).gp();
440+
Register extra_scratch = GetUnusedRegister(kGpReg, {}).gp();
441441
vmov(reg.fp(), Double(value.to_f64_boxed().get_bits()), extra_scratch);
442442
break;
443443
}
@@ -1173,7 +1173,7 @@ void LiftoffAssembler::StoreCallerFrameSlot(LiftoffRegister src,
11731173
void LiftoffAssembler::MoveStackValue(uint32_t dst_offset, uint32_t src_offset,
11741174
ValueType type) {
11751175
DCHECK_NE(dst_offset, src_offset);
1176-
LiftoffRegister reg = GetUnusedRegister(reg_class_for(type));
1176+
LiftoffRegister reg = GetUnusedRegister(reg_class_for(type), {});
11771177
Fill(reg, src_offset, type);
11781178
Spill(dst_offset, reg, type);
11791179
}
@@ -1216,7 +1216,7 @@ void LiftoffAssembler::Spill(int offset, WasmValue value) {
12161216
// The scratch register will be required by str if multiple instructions
12171217
// are required to encode the offset, and so we cannot use it in that case.
12181218
if (!ImmediateFitsAddrMode2Instruction(dst.offset())) {
1219-
src = GetUnusedRegister(kGpReg).gp();
1219+
src = GetUnusedRegister(kGpReg, {}).gp();
12201220
} else {
12211221
src = temps.Acquire();
12221222
}
@@ -1758,7 +1758,7 @@ void LiftoffAssembler::emit_f32_copysign(DoubleRegister dst, DoubleRegister lhs,
17581758
DoubleRegister rhs) {
17591759
constexpr uint32_t kF32SignBit = uint32_t{1} << 31;
17601760
UseScratchRegisterScope temps(this);
1761-
Register scratch = GetUnusedRegister(kGpReg).gp();
1761+
Register scratch = GetUnusedRegister(kGpReg, {}).gp();
17621762
Register scratch2 = temps.Acquire();
17631763
VmovLow(scratch, lhs);
17641764
// Clear sign bit in {scratch}.
@@ -1777,7 +1777,7 @@ void LiftoffAssembler::emit_f64_copysign(DoubleRegister dst, DoubleRegister lhs,
17771777
// On arm, we cannot hold the whole f64 value in a gp register, so we just
17781778
// operate on the upper half (UH).
17791779
UseScratchRegisterScope temps(this);
1780-
Register scratch = GetUnusedRegister(kGpReg).gp();
1780+
Register scratch = GetUnusedRegister(kGpReg, {}).gp();
17811781
Register scratch2 = temps.Acquire();
17821782
VmovHigh(scratch, lhs);
17831783
// Clear sign bit in {scratch}.

‎deps/v8/src/wasm/baseline/ia32/liftoff-assembler-ia32.h

+10-10
Original file line numberDiff line numberDiff line change
@@ -130,7 +130,7 @@ inline Register GetTmpByteRegister(LiftoffAssembler* assm, Register candidate) {
130130
if (candidate.is_byte_register()) return candidate;
131131
// {GetUnusedRegister()} may insert move instructions to spill registers to
132132
// the stack. This is OK because {mov} does not change the status flags.
133-
return assm->GetUnusedRegister(liftoff::kByteRegs).gp();
133+
return assm->GetUnusedRegister(liftoff::kByteRegs, {}).gp();
134134
}
135135

136136
inline void MoveStackValue(LiftoffAssembler* assm, const Operand& src,
@@ -1468,7 +1468,7 @@ inline void EmitFloatMinOrMax(LiftoffAssembler* assm, DoubleRegister dst,
14681468

14691469
// We need one tmp register to extract the sign bit. Get it right at the
14701470
// beginning, such that the spilling code is not accidentially jumped over.
1471-
Register tmp = assm->GetUnusedRegister(kGpReg).gp();
1471+
Register tmp = assm->GetUnusedRegister(kGpReg, {}).gp();
14721472

14731473
#define dop(name, ...) \
14741474
do { \
@@ -1531,9 +1531,9 @@ void LiftoffAssembler::emit_f32_max(DoubleRegister dst, DoubleRegister lhs,
15311531
void LiftoffAssembler::emit_f32_copysign(DoubleRegister dst, DoubleRegister lhs,
15321532
DoubleRegister rhs) {
15331533
static constexpr int kF32SignBit = 1 << 31;
1534-
Register scratch = GetUnusedRegister(kGpReg).gp();
1535-
Register scratch2 =
1536-
GetUnusedRegister(kGpReg, LiftoffRegList::ForRegs(scratch)).gp();
1534+
LiftoffRegList pinned;
1535+
Register scratch = pinned.set(GetUnusedRegister(kGpReg, pinned)).gp();
1536+
Register scratch2 = GetUnusedRegister(kGpReg, pinned).gp();
15371537
Movd(scratch, lhs); // move {lhs} into {scratch}.
15381538
and_(scratch, Immediate(~kF32SignBit)); // clear sign bit in {scratch}.
15391539
Movd(scratch2, rhs); // move {rhs} into {scratch2}.
@@ -1660,9 +1660,9 @@ void LiftoffAssembler::emit_f64_copysign(DoubleRegister dst, DoubleRegister lhs,
16601660
static constexpr int kF32SignBit = 1 << 31;
16611661
// On ia32, we cannot hold the whole f64 value in a gp register, so we just
16621662
// operate on the upper half (UH).
1663-
Register scratch = GetUnusedRegister(kGpReg).gp();
1664-
Register scratch2 =
1665-
GetUnusedRegister(kGpReg, LiftoffRegList::ForRegs(scratch)).gp();
1663+
LiftoffRegList pinned;
1664+
Register scratch = pinned.set(GetUnusedRegister(kGpReg, pinned)).gp();
1665+
Register scratch2 = GetUnusedRegister(kGpReg, pinned).gp();
16661666

16671667
Pextrd(scratch, lhs, 1); // move UH of {lhs} into {scratch}.
16681668
and_(scratch, Immediate(~kF32SignBit)); // clear sign bit in {scratch}.
@@ -2500,7 +2500,7 @@ void LiftoffAssembler::emit_i8x16_shl(LiftoffRegister dst, LiftoffRegister lhs,
25002500
void LiftoffAssembler::emit_i8x16_shli(LiftoffRegister dst, LiftoffRegister lhs,
25012501
int32_t rhs) {
25022502
static constexpr RegClass tmp_rc = reg_class_for(ValueType::kI32);
2503-
LiftoffRegister tmp = GetUnusedRegister(tmp_rc);
2503+
LiftoffRegister tmp = GetUnusedRegister(tmp_rc, {});
25042504
byte shift = static_cast<byte>(rhs & 0x7);
25052505
if (CpuFeatures::IsSupported(AVX)) {
25062506
CpuFeatureScope scope(this, AVX);
@@ -3389,7 +3389,7 @@ void LiftoffAssembler::StackCheck(Label* ool_code, Register limit_address) {
33893389
}
33903390

33913391
void LiftoffAssembler::CallTrapCallbackForTesting() {
3392-
PrepareCallCFunction(0, GetUnusedRegister(kGpReg).gp());
3392+
PrepareCallCFunction(0, GetUnusedRegister(kGpReg, {}).gp());
33933393
CallCFunction(ExternalReference::wasm_call_trap_callback_for_testing(), 0);
33943394
}
33953395

‎deps/v8/src/wasm/baseline/liftoff-assembler.cc

+2-2
Original file line numberDiff line numberDiff line change
@@ -542,7 +542,7 @@ LiftoffRegister LiftoffAssembler::LoadI64HalfIntoRegister(VarState slot,
542542
if (slot.is_reg()) {
543543
return half == kLowWord ? slot.reg().low() : slot.reg().high();
544544
}
545-
LiftoffRegister dst = GetUnusedRegister(kGpReg);
545+
LiftoffRegister dst = GetUnusedRegister(kGpReg, {});
546546
if (slot.is_stack()) {
547547
FillI64Half(dst.gp(), slot.offset(), half);
548548
return dst;
@@ -581,7 +581,7 @@ void LiftoffAssembler::PrepareLoopArgs(int num) {
581581
if (!slot.is_const()) continue;
582582
RegClass rc =
583583
kNeedI64RegPair && slot.type() == kWasmI64 ? kGpRegPair : kGpReg;
584-
LiftoffRegister reg = GetUnusedRegister(rc);
584+
LiftoffRegister reg = GetUnusedRegister(rc, {});
585585
LoadConstant(reg, slot.constant());
586586
slot.MakeRegister(reg);
587587
cache_state_.inc_used(reg);

‎deps/v8/src/wasm/baseline/liftoff-assembler.h

+2-2
Original file line numberDiff line numberDiff line change
@@ -340,7 +340,7 @@ class LiftoffAssembler : public TurboAssembler {
340340
// possible.
341341
LiftoffRegister GetUnusedRegister(
342342
RegClass rc, std::initializer_list<LiftoffRegister> try_first,
343-
LiftoffRegList pinned = {}) {
343+
LiftoffRegList pinned) {
344344
for (LiftoffRegister reg : try_first) {
345345
DCHECK_EQ(reg.reg_class(), rc);
346346
if (cache_state_.is_free(reg)) return reg;
@@ -349,7 +349,7 @@ class LiftoffAssembler : public TurboAssembler {
349349
}
350350

351351
// Get an unused register for class {rc}, potentially spilling to free one.
352-
LiftoffRegister GetUnusedRegister(RegClass rc, LiftoffRegList pinned = {}) {
352+
LiftoffRegister GetUnusedRegister(RegClass rc, LiftoffRegList pinned) {
353353
if (kNeedI64RegPair && rc == kGpRegPair) {
354354
LiftoffRegList candidates = kGpCacheRegList;
355355
Register low = pinned.set(GetUnusedRegister(candidates, pinned)).gp();

‎deps/v8/src/wasm/baseline/liftoff-compiler.cc

+26-25
Original file line numberDiff line numberDiff line change
@@ -495,7 +495,7 @@ class LiftoffCompiler {
495495
position, __ cache_state()->used_registers,
496496
RegisterDebugSideTableEntry(DebugSideTableBuilder::kAssumeSpilling)));
497497
OutOfLineCode& ool = out_of_line_code_.back();
498-
Register limit_address = __ GetUnusedRegister(kGpReg).gp();
498+
Register limit_address = __ GetUnusedRegister(kGpReg, {}).gp();
499499
LOAD_INSTANCE_FIELD(limit_address, StackLimitAddress, kSystemPointerSize);
500500
__ StackCheck(ool.label.get(), limit_address);
501501
__ bind(ool.continuation.get());
@@ -604,7 +604,7 @@ class LiftoffCompiler {
604604
*next_breakpoint_ptr_ == decoder->position());
605605
if (!has_breakpoint) {
606606
DEBUG_CODE_COMMENT("check hook on function call");
607-
Register flag = __ GetUnusedRegister(kGpReg).gp();
607+
Register flag = __ GetUnusedRegister(kGpReg, {}).gp();
608608
LOAD_INSTANCE_FIELD(flag, HookOnFunctionCallAddress,
609609
kSystemPointerSize);
610610
Label no_break;
@@ -923,8 +923,8 @@ class LiftoffCompiler {
923923
constexpr RegClass result_rc = reg_class_for(result_type);
924924
LiftoffRegister src = __ PopToRegister();
925925
LiftoffRegister dst = src_rc == result_rc
926-
? __ GetUnusedRegister(result_rc, {src})
927-
: __ GetUnusedRegister(result_rc);
926+
? __ GetUnusedRegister(result_rc, {src}, {})
927+
: __ GetUnusedRegister(result_rc, {});
928928
CallEmitFn(fn, dst, src);
929929
__ PushRegister(ValueType(result_type), dst);
930930
}
@@ -951,8 +951,9 @@ class LiftoffCompiler {
951951
static constexpr RegClass src_rc = reg_class_for(src_type);
952952
static constexpr RegClass dst_rc = reg_class_for(dst_type);
953953
LiftoffRegister src = __ PopToRegister();
954-
LiftoffRegister dst = src_rc == dst_rc ? __ GetUnusedRegister(dst_rc, {src})
955-
: __ GetUnusedRegister(dst_rc);
954+
LiftoffRegister dst = src_rc == dst_rc
955+
? __ GetUnusedRegister(dst_rc, {src}, {})
956+
: __ GetUnusedRegister(dst_rc, {});
956957
DCHECK_EQ(!!can_trap, trap_position > 0);
957958
Label* trap = can_trap ? AddOutOfLineTrap(
958959
trap_position,
@@ -1122,8 +1123,8 @@ class LiftoffCompiler {
11221123

11231124
LiftoffRegister lhs = __ PopToRegister();
11241125
LiftoffRegister dst = src_rc == result_rc
1125-
? __ GetUnusedRegister(result_rc, {lhs})
1126-
: __ GetUnusedRegister(result_rc);
1126+
? __ GetUnusedRegister(result_rc, {lhs}, {})
1127+
: __ GetUnusedRegister(result_rc, {});
11271128

11281129
CallEmitFn(fnImm, dst, lhs, imm);
11291130
__ PushRegister(ValueType(result_type), dst);
@@ -1141,8 +1142,8 @@ class LiftoffCompiler {
11411142
LiftoffRegister rhs = __ PopToRegister();
11421143
LiftoffRegister lhs = __ PopToRegister(LiftoffRegList::ForRegs(rhs));
11431144
LiftoffRegister dst = src_rc == result_rc
1144-
? __ GetUnusedRegister(result_rc, {lhs, rhs})
1145-
: __ GetUnusedRegister(result_rc);
1145+
? __ GetUnusedRegister(result_rc, {lhs, rhs}, {})
1146+
: __ GetUnusedRegister(result_rc, {});
11461147

11471148
if (swap_lhs_rhs) std::swap(lhs, rhs);
11481149

@@ -1483,20 +1484,20 @@ class LiftoffCompiler {
14831484
if (value_i32 == value) {
14841485
__ PushConstant(kWasmI64, value_i32);
14851486
} else {
1486-
LiftoffRegister reg = __ GetUnusedRegister(reg_class_for(kWasmI64));
1487+
LiftoffRegister reg = __ GetUnusedRegister(reg_class_for(kWasmI64), {});
14871488
__ LoadConstant(reg, WasmValue(value));
14881489
__ PushRegister(kWasmI64, reg);
14891490
}
14901491
}
14911492

14921493
void F32Const(FullDecoder* decoder, Value* result, float value) {
1493-
LiftoffRegister reg = __ GetUnusedRegister(kFpReg);
1494+
LiftoffRegister reg = __ GetUnusedRegister(kFpReg, {});
14941495
__ LoadConstant(reg, WasmValue(value));
14951496
__ PushRegister(kWasmF32, reg);
14961497
}
14971498

14981499
void F64Const(FullDecoder* decoder, Value* result, double value) {
1499-
LiftoffRegister reg = __ GetUnusedRegister(kFpReg);
1500+
LiftoffRegister reg = __ GetUnusedRegister(kFpReg, {});
15001501
__ LoadConstant(reg, WasmValue(value));
15011502
__ PushRegister(kWasmF64, reg);
15021503
}
@@ -1546,7 +1547,7 @@ class LiftoffCompiler {
15461547
break;
15471548
case kStack: {
15481549
auto rc = reg_class_for(imm.type);
1549-
LiftoffRegister reg = __ GetUnusedRegister(rc);
1550+
LiftoffRegister reg = __ GetUnusedRegister(rc, {});
15501551
__ Fill(reg, slot.offset(), imm.type);
15511552
__ PushRegister(slot.type(), reg);
15521553
break;
@@ -1570,7 +1571,7 @@ class LiftoffCompiler {
15701571
}
15711572
DCHECK_EQ(type, __ local_type(local_index));
15721573
RegClass rc = reg_class_for(type);
1573-
LiftoffRegister dst_reg = __ GetUnusedRegister(rc);
1574+
LiftoffRegister dst_reg = __ GetUnusedRegister(rc, {});
15741575
__ Fill(dst_reg, src_slot.offset(), type);
15751576
*dst_slot = LiftoffAssembler::VarState(type, dst_reg, dst_slot->offset());
15761577
__ cache_state()->inc_used(dst_reg);
@@ -1609,7 +1610,7 @@ class LiftoffCompiler {
16091610

16101611
Register GetGlobalBaseAndOffset(const WasmGlobal* global,
16111612
LiftoffRegList* pinned, uint32_t* offset) {
1612-
Register addr = pinned->set(__ GetUnusedRegister(kGpReg)).gp();
1613+
Register addr = pinned->set(__ GetUnusedRegister(kGpReg, {})).gp();
16131614
if (global->mutability && global->imported) {
16141615
LOAD_INSTANCE_FIELD(addr, ImportedMutableGlobals, kSystemPointerSize);
16151616
__ Load(LiftoffRegister(addr), addr, no_reg,
@@ -1675,8 +1676,8 @@ class LiftoffCompiler {
16751676
DCHECK_EQ(type, __ cache_state()->stack_state.end()[-2].type());
16761677
LiftoffRegister false_value = pinned.set(__ PopToRegister(pinned));
16771678
LiftoffRegister true_value = __ PopToRegister(pinned);
1678-
LiftoffRegister dst =
1679-
__ GetUnusedRegister(true_value.reg_class(), {true_value, false_value});
1679+
LiftoffRegister dst = __ GetUnusedRegister(true_value.reg_class(),
1680+
{true_value, false_value}, {});
16801681
__ PushRegister(type, dst);
16811682

16821683
// Now emit the actual code to move either {true_value} or {false_value}
@@ -2075,7 +2076,7 @@ class LiftoffCompiler {
20752076
}
20762077

20772078
void CurrentMemoryPages(FullDecoder* decoder, Value* result) {
2078-
Register mem_size = __ GetUnusedRegister(kGpReg).gp();
2079+
Register mem_size = __ GetUnusedRegister(kGpReg, {}).gp();
20792080
LOAD_INSTANCE_FIELD(mem_size, MemorySize, kSystemPointerSize);
20802081
__ emit_ptrsize_shri(mem_size, mem_size, kWasmPageSizeLog2);
20812082
__ PushRegister(kWasmI32, LiftoffRegister(mem_size));
@@ -2344,7 +2345,7 @@ class LiftoffCompiler {
23442345
src_rc == result_rc
23452346
? __ GetUnusedRegister(result_rc, {src3},
23462347
LiftoffRegList::ForRegs(src1, src2))
2347-
: __ GetUnusedRegister(result_rc);
2348+
: __ GetUnusedRegister(result_rc, {});
23482349
CallEmitFn(fn, dst, src1, src2, src3);
23492350
__ PushRegister(ValueType(result_type), dst);
23502351
}
@@ -2360,14 +2361,14 @@ class LiftoffCompiler {
23602361
int32_t imm = rhs_slot.i32_const();
23612362

23622363
LiftoffRegister operand = __ PopToRegister();
2363-
LiftoffRegister dst = __ GetUnusedRegister(result_rc, {operand});
2364+
LiftoffRegister dst = __ GetUnusedRegister(result_rc, {operand}, {});
23642365

23652366
CallEmitFn(fnImm, dst, operand, imm);
23662367
__ PushRegister(kWasmS128, dst);
23672368
} else {
23682369
LiftoffRegister count = __ PopToRegister();
23692370
LiftoffRegister operand = __ PopToRegister();
2370-
LiftoffRegister dst = __ GetUnusedRegister(result_rc, {operand});
2371+
LiftoffRegister dst = __ GetUnusedRegister(result_rc, {operand}, {});
23712372

23722373
CallEmitFn(fn, dst, operand, count);
23732374
__ PushRegister(kWasmS128, dst);
@@ -2689,8 +2690,8 @@ class LiftoffCompiler {
26892690
static constexpr RegClass result_rc = reg_class_for(result_type);
26902691
LiftoffRegister lhs = __ PopToRegister();
26912692
LiftoffRegister dst = src_rc == result_rc
2692-
? __ GetUnusedRegister(result_rc, {lhs})
2693-
: __ GetUnusedRegister(result_rc);
2693+
? __ GetUnusedRegister(result_rc, {lhs}, {})
2694+
: __ GetUnusedRegister(result_rc, {});
26942695
fn(dst, lhs, imm.lane);
26952696
__ PushRegister(ValueType(result_type), dst);
26962697
}
@@ -2716,7 +2717,7 @@ class LiftoffCompiler {
27162717
(src2_rc == result_rc || pin_src2)
27172718
? __ GetUnusedRegister(result_rc, {src1},
27182719
LiftoffRegList::ForRegs(src2))
2719-
: __ GetUnusedRegister(result_rc, {src1});
2720+
: __ GetUnusedRegister(result_rc, {src1}, {});
27202721
fn(dst, src1, src2, imm.lane);
27212722
__ PushRegister(kWasmS128, dst);
27222723
}

‎deps/v8/src/wasm/baseline/mips/liftoff-assembler-mips.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -603,7 +603,7 @@ void LiftoffAssembler::StoreCallerFrameSlot(LiftoffRegister src,
603603
void LiftoffAssembler::MoveStackValue(uint32_t dst_offset, uint32_t src_offset,
604604
ValueType type) {
605605
DCHECK_NE(dst_offset, src_offset);
606-
LiftoffRegister reg = GetUnusedRegister(reg_class_for(type));
606+
LiftoffRegister reg = GetUnusedRegister(reg_class_for(type), {});
607607
Fill(reg, src_offset, type);
608608
Spill(dst_offset, reg, type);
609609
}
@@ -646,13 +646,13 @@ void LiftoffAssembler::Spill(int offset, WasmValue value) {
646646
MemOperand dst = liftoff::GetStackSlot(offset);
647647
switch (value.type().kind()) {
648648
case ValueType::kI32: {
649-
LiftoffRegister tmp = GetUnusedRegister(kGpReg);
649+
LiftoffRegister tmp = GetUnusedRegister(kGpReg, {});
650650
TurboAssembler::li(tmp.gp(), Operand(value.to_i32()));
651651
sw(tmp.gp(), dst);
652652
break;
653653
}
654654
case ValueType::kI64: {
655-
LiftoffRegister tmp = GetUnusedRegister(kGpRegPair);
655+
LiftoffRegister tmp = GetUnusedRegister(kGpRegPair, {});
656656

657657
int32_t low_word = value.to_i64();
658658
int32_t high_word = value.to_i64() >> 32;
@@ -2251,7 +2251,7 @@ void LiftoffAssembler::StackCheck(Label* ool_code, Register limit_address) {
22512251
}
22522252

22532253
void LiftoffAssembler::CallTrapCallbackForTesting() {
2254-
PrepareCallCFunction(0, GetUnusedRegister(kGpReg).gp());
2254+
PrepareCallCFunction(0, GetUnusedRegister(kGpReg, {}).gp());
22552255
CallCFunction(ExternalReference::wasm_call_trap_callback_for_testing(), 0);
22562256
}
22572257

‎deps/v8/src/wasm/baseline/mips64/liftoff-assembler-mips64.h

+4-4
Original file line numberDiff line numberDiff line change
@@ -532,7 +532,7 @@ void LiftoffAssembler::StoreCallerFrameSlot(LiftoffRegister src,
532532
void LiftoffAssembler::MoveStackValue(uint32_t dst_offset, uint32_t src_offset,
533533
ValueType type) {
534534
DCHECK_NE(dst_offset, src_offset);
535-
LiftoffRegister reg = GetUnusedRegister(reg_class_for(type));
535+
LiftoffRegister reg = GetUnusedRegister(reg_class_for(type), {});
536536
Fill(reg, src_offset, type);
537537
Spill(dst_offset, reg, type);
538538
}
@@ -582,13 +582,13 @@ void LiftoffAssembler::Spill(int offset, WasmValue value) {
582582
MemOperand dst = liftoff::GetStackSlot(offset);
583583
switch (value.type().kind()) {
584584
case ValueType::kI32: {
585-
LiftoffRegister tmp = GetUnusedRegister(kGpReg);
585+
LiftoffRegister tmp = GetUnusedRegister(kGpReg, {});
586586
TurboAssembler::li(tmp.gp(), Operand(value.to_i32()));
587587
sw(tmp.gp(), dst);
588588
break;
589589
}
590590
case ValueType::kI64: {
591-
LiftoffRegister tmp = GetUnusedRegister(kGpReg);
591+
LiftoffRegister tmp = GetUnusedRegister(kGpReg, {});
592592
TurboAssembler::li(tmp.gp(), value.to_i64());
593593
sd(tmp.gp(), dst);
594594
break;
@@ -2197,7 +2197,7 @@ void LiftoffAssembler::StackCheck(Label* ool_code, Register limit_address) {
21972197
}
21982198

21992199
void LiftoffAssembler::CallTrapCallbackForTesting() {
2200-
PrepareCallCFunction(0, GetUnusedRegister(kGpReg).gp());
2200+
PrepareCallCFunction(0, GetUnusedRegister(kGpReg, {}).gp());
22012201
CallCFunction(ExternalReference::wasm_call_trap_callback_for_testing(), 0);
22022202
}
22032203

0 commit comments

Comments
 (0)
Please sign in to comment.