@@ -4086,7 +4086,7 @@ void CodeGen::genEnregisterOSRArgsAndLocals()
40864086
40874087 GetEmitter ()->emitIns_R_AR (ins_Load (lclTyp), size, varDsc->GetRegNum (), genFramePointerReg (), offset);
40884088
4089- #elif defined(TARGET_ARM64)
4089+ #elif defined(TARGET_ARM64) || defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64)
40904090
40914091 // Patchpoint offset is from top of Tier0 frame
40924092 //
@@ -4118,37 +4118,7 @@ void CodeGen::genEnregisterOSRArgsAndLocals()
41184118
41194119 genInstrWithConstant (ins_Load (lclTyp), size, varDsc->GetRegNum (), genFramePointerReg (), offset, initReg);
41204120 *pInitRegZeroed = false ;
4121- #elif defined(TARGET_LOONGARCH64) || defined(TARGET_RISCV64)
4122-
4123- // Patchpoint offset is from top of Tier0 frame
4124- //
4125- // We need to determine the frame-pointer relative
4126- // offset for this variable in the osr frame.
4127- //
4128- // First there is no need to ajust stkOffs
4129- // as it relative to sp within Tier0 frame
4130-
4131- // then add the OSR frame size
4132- //
4133- const int osrFrameSize = genTotalFrameSize ();
4134-
4135- // then subtract OSR SP-FP delta
4136- //
4137- const int osrSpToFpDelta = genSPtoFPdelta ();
4138-
4139- // | => tier0 top of frame relative
4140- // | + => osr bottom of frame (sp) relative
4141- // | | - => osr fp relative
4142- // | | |
4143- const int offset = stkOffs + osrFrameSize - osrSpToFpDelta;
4144-
4145- JITDUMP (" ---OSR--- V%02u (reg) Tier0 virtual offset %d OSR frame size %d OSR sp-fp "
4146- " delta %d total offset %d (0x%x)\n " ,
4147- varNum, stkOffs, osrFrameSize, osrSpToFpDelta, offset, offset);
4148-
4149- genInstrWithConstant (ins_Load (lclTyp), size, varDsc->GetRegNum (), genFramePointerReg (), offset, initReg);
4150- *pInitRegZeroed = false ;
4151- #endif // TARGET_LOONGARCH64 || TARGET_RISCV64
4121+ #endif // TARGET_ARM64 || TARGET_LOONGARCH64 || TARGET_RISCV64
41524122 }
41534123}
41544124
0 commit comments