@@ -444,7 +444,7 @@ inline frame frame::sender_for_compiled_frame(RegisterMap* map) const {
444
444
assert (oop_map () == NULL || !oop_map ()->has_any (OopMapValue::callee_saved_value), " callee-saved value in compiled frame" );
445
445
}
446
446
447
- // Since the prolog does the save and restore of EBP there is no oopmap
447
+ // Since the prolog does the save and restore of FP there is no oopmap
448
448
// for it so we must fill in its location as if there was an oopmap entry
449
449
// since if our caller was compiled code there could be live jvm state in it.
450
450
update_map_with_saved_link (map, saved_fp_addr);
@@ -464,14 +464,11 @@ inline frame frame::sender_for_compiled_frame(RegisterMap* map) const {
464
464
465
465
template <typename RegisterMapT>
466
466
void frame::update_map_with_saved_link (RegisterMapT* map, intptr_t ** link_addr) {
467
- // The interpreter and compiler(s) always save EBP/RBP in a known
468
- // location on entry. We must record where that location is
469
- // so this if EBP/RBP was live on callout from c2 we can find
470
- // the saved copy no matter what it called.
471
-
472
- // Since the interpreter always saves EBP/RBP if we record where it is then
473
- // we don't have to always save EBP/RBP on entry and exit to c2 compiled
474
- // code, on entry will be enough.
467
+ // The interpreter and compiler(s) always save FP in a known
468
+ // location on entry. C2-compiled code uses FP as an allocatable
469
+ // callee-saved register. We must record where that location is so
470
+ // that if FP was live on callout from c2 we can find the saved copy.
471
+
475
472
map->set_location (rfp->as_VMReg (), (address) link_addr);
476
473
// this is weird "H" ought to be at a higher address however the
477
474
// oopMaps seems to have the "H" regs at the same address and the
0 commit comments