8075930: AARCH64: Use FP Register in C2
Modify to allow C2 to allocate FP (R29) as a general register Reviewed-by: aph, kvn, dlong
This commit is contained in:
parent
294d9dce7f
commit
650d8b7cb6
@ -449,7 +449,7 @@ reg_class no_special_reg32(
|
||||
R26
|
||||
/* R27, */ // heapbase
|
||||
/* R28, */ // thread
|
||||
/* R29, */ // fp
|
||||
R29, // fp
|
||||
/* R30, */ // lr
|
||||
/* R31 */ // sp
|
||||
);
|
||||
@ -483,7 +483,7 @@ reg_class no_special_reg(
|
||||
R26, R26_H,
|
||||
/* R27, R27_H, */ // heapbase
|
||||
/* R28, R28_H, */ // thread
|
||||
/* R29, R29_H, */ // fp
|
||||
R29, R29_H, // fp
|
||||
/* R30, R30_H, */ // lr
|
||||
/* R31, R31_H */ // sp
|
||||
);
|
||||
@ -2538,7 +2538,7 @@ RegMask Matcher::modL_proj_mask() {
|
||||
}
|
||||
|
||||
const RegMask Matcher::method_handle_invoke_SP_save_mask() {
|
||||
return RegMask();
|
||||
return FP_REG_mask();
|
||||
}
|
||||
|
||||
// helper for encoding java_to_runtime calls on sim
|
||||
|
@ -77,12 +77,6 @@ inline frame::frame(intptr_t* sp, intptr_t* fp, address pc) {
|
||||
inline frame::frame(intptr_t* sp, intptr_t* unextended_sp, intptr_t* fp, address pc) {
|
||||
intptr_t a = intptr_t(sp);
|
||||
intptr_t b = intptr_t(fp);
|
||||
#ifndef PRODUCT
|
||||
if (fp)
|
||||
if (sp > fp || (fp - sp > 0x100000))
|
||||
for(;;)
|
||||
asm("nop");
|
||||
#endif
|
||||
_sp = sp;
|
||||
_unextended_sp = unextended_sp;
|
||||
_fp = fp;
|
||||
@ -104,12 +98,6 @@ inline frame::frame(intptr_t* sp, intptr_t* unextended_sp, intptr_t* fp, address
|
||||
inline frame::frame(intptr_t* sp, intptr_t* fp) {
|
||||
intptr_t a = intptr_t(sp);
|
||||
intptr_t b = intptr_t(fp);
|
||||
#ifndef PRODUCT
|
||||
if (fp)
|
||||
if (sp > fp || (fp - sp > 0x100000))
|
||||
for(;;)
|
||||
asm("nop");
|
||||
#endif
|
||||
_sp = sp;
|
||||
_unextended_sp = sp;
|
||||
_fp = fp;
|
||||
|
Loading…
x
Reference in New Issue
Block a user