--- old/src/share/vm/runtime/frame.inline.hpp 2017-06-27 15:25:07.737349381 +0200 +++ new/src/share/vm/runtime/frame.inline.hpp 2017-06-27 15:25:07.489348151 +0200 @@ -53,4 +53,14 @@ return is_entry_frame() && entry_frame_is_first(); } +inline oop* frame::oopmapreg_to_location(VMReg reg, const RegisterMap* reg_map) const { + if(reg->is_reg()) { + // If it is passed in a register, it got spilled in the stub frame. + return (oop *)reg_map->location(reg); + } else { + int sp_offset_in_bytes = reg->reg2stack() * VMRegImpl::stack_slot_size; + return (oop*)(((address)unextended_sp()) + sp_offset_in_bytes); + } +} + #endif // SHARE_VM_RUNTIME_FRAME_INLINE_HPP