@@ -495,7 +495,7 @@ class LiftoffCompiler{
495495 position, __ cache_state ()->used_registers ,
496496RegisterDebugSideTableEntry (DebugSideTableBuilder::kAssumeSpilling )));
497497 OutOfLineCode& ool = out_of_line_code_.back ();
498- Register limit_address = __ GetUnusedRegister (kGpReg ).gp ();
498+ Register limit_address = __ GetUnusedRegister (kGpReg ,{} ).gp ();
499499LOAD_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 ());
605605if (!has_breakpoint){
606606DEBUG_CODE_COMMENT (" check hook on function call" );
607- Register flag = __ GetUnusedRegister (kGpReg ).gp ();
607+ Register flag = __ GetUnusedRegister (kGpReg ,{} ).gp ();
608608LOAD_INSTANCE_FIELD (flag, HookOnFunctionCallAddress,
609609kSystemPointerSize );
610610 Label no_break;
@@ -923,8 +923,8 @@ class LiftoffCompiler{
923923constexpr 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,{} );
928928CallEmitFn (fn, dst, src);
929929 __ PushRegister (ValueType (result_type), dst);
930930 }
@@ -951,8 +951,9 @@ class LiftoffCompiler{
951951static constexpr RegClass src_rc = reg_class_for (src_type);
952952static 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,{});
956957DCHECK_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
11281129CallEmitFn (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
11471148if (swap_lhs_rhs) std::swap (lhs, rhs);
11481149
@@ -1483,20 +1484,20 @@ class LiftoffCompiler{
14831484if (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
14921493void 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
14981499void 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{
15461547break ;
15471548case kStack :{
15481549auto 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);
15521553break ;
@@ -1570,7 +1571,7 @@ class LiftoffCompiler{
15701571 }
15711572DCHECK_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 ();
16131614if (global->mutability && global->imported ){
16141615LOAD_INSTANCE_FIELD (addr, ImportedMutableGlobals, kSystemPointerSize );
16151616 __ Load (LiftoffRegister (addr), addr, no_reg,
@@ -1675,8 +1676,8 @@ class LiftoffCompiler{
16751676DCHECK_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
20772078void CurrentMemoryPages (FullDecoder* decoder, Value* result){
2078- Register mem_size = __ GetUnusedRegister (kGpReg ).gp ();
2079+ Register mem_size = __ GetUnusedRegister (kGpReg ,{} ).gp ();
20792080LOAD_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},
23462347LiftoffRegList::ForRegs (src1, src2))
2347- : __ GetUnusedRegister (result_rc);
2348+ : __ GetUnusedRegister (result_rc,{} );
23482349CallEmitFn (fn, dst, src1, src2, src3);
23492350 __ PushRegister (ValueType (result_type), dst);
23502351 }
@@ -2360,14 +2361,14 @@ class LiftoffCompiler{
23602361int32_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
23652366CallEmitFn (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
23722373CallEmitFn (fn, dst, operand, count);
23732374 __ PushRegister (kWasmS128 , dst);
@@ -2689,8 +2690,8 @@ class LiftoffCompiler{
26892690static 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,{} );
26942695fn (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},
27182719LiftoffRegList::ForRegs (src2))
2719- : __ GetUnusedRegister (result_rc,{src1});
2720+ : __ GetUnusedRegister (result_rc,{src1},{} );
27202721fn (dst, src1, src2, imm.lane );
27212722 __ PushRegister (kWasmS128 , dst);
27222723 }
0 commit comments