@@ -839,10 +839,10 @@ LinearScan::LinearScan(Compiler* theCompiler)
839839 isApxSupported = compiler->canUseApxEncoding();
840840 if (isApxSupported)
841841 {
842- regIndices = new regNumber[ ACTUAL_REG_COUNT] ;
843- for (int i = 0; i < (int) ACTUAL_REG_COUNT; i++)
842+ regIndices = theCompiler->getAllocator(CMK_LSRA).allocate< regNumber>( ACTUAL_REG_COUNT + 1) ;
843+ for (int i = 0; i <= ACTUAL_REG_COUNT; i++)
844844 {
845- regIndices[i] = ( regNumber)i ;
845+ regIndices[i] = static_cast< regNumber>(i) ;
846846 }
847847 }
848848 else
@@ -857,7 +857,7 @@ LinearScan::LinearScan(Compiler* theCompiler)
857857 (regNumber)52, (regNumber)53, (regNumber)54, (regNumber)55, (regNumber)56, (regNumber)57,
858858 (regNumber)58, (regNumber)59, (regNumber)60, (regNumber)61, (regNumber)62, (regNumber)63,
859859 (regNumber)64, (regNumber)65, (regNumber)66, (regNumber)67, (regNumber)68, (regNumber)69,
860- (regNumber)70, (regNumber)71};
860+ (regNumber)70, (regNumber)71, (regNumber)72 };
861861 }
862862#endif // TARGET_AMD64
863863
@@ -11923,7 +11923,7 @@ void LinearScan::verifyFreeRegisters(regMaskTP regsToFree)
1192311923 // If this is occupied by a double interval, skip the corresponding float reg.
1192411924 if ((assignedInterval != nullptr) && (assignedInterval->registerType == TYP_DOUBLE))
1192511925 {
11926- NEXT_REGISTER( reg, regIndex );
11926+ reg = REG_NEXT(reg );
1192711927 }
1192811928#endif
1192911929 }
0 commit comments