< prev index next >

src/share/vm/runtime/frame.inline.hpp

Print this page
rev 13143 : 8183001: Various inlining improvements
Reviewed-by: iklam, mikael, ehelin


  36 # include "entryFrame_zero.hpp"
  37 # include "fakeStubFrame_zero.hpp"
  38 # include "interpreterFrame_zero.hpp"
  39 # include "sharkFrame_zero.hpp"
  40 #endif
  41 
  42 #include CPU_HEADER_INLINE(frame)
  43 
  44 inline bool frame::is_entry_frame() const {
  45   return StubRoutines::returns_to_call_stub(pc());
  46 }
  47 
  48 inline bool frame::is_stub_frame() const {
  49   return StubRoutines::is_stub_code(pc()) || (_cb != NULL && _cb->is_adapter_blob());
  50 }
  51 
  52 inline bool frame::is_first_frame() const {
  53   return is_entry_frame() && entry_frame_is_first();
  54 }
  55 










  56 #endif // SHARE_VM_RUNTIME_FRAME_INLINE_HPP


  36 # include "entryFrame_zero.hpp"
  37 # include "fakeStubFrame_zero.hpp"
  38 # include "interpreterFrame_zero.hpp"
  39 # include "sharkFrame_zero.hpp"
  40 #endif
  41 
  42 #include CPU_HEADER_INLINE(frame)
  43 
  44 inline bool frame::is_entry_frame() const {
  45   return StubRoutines::returns_to_call_stub(pc());
  46 }
  47 
  48 inline bool frame::is_stub_frame() const {
  49   return StubRoutines::is_stub_code(pc()) || (_cb != NULL && _cb->is_adapter_blob());
  50 }
  51 
  52 inline bool frame::is_first_frame() const {
  53   return is_entry_frame() && entry_frame_is_first();
  54 }
  55 
  56 inline oop* frame::oopmapreg_to_location(VMReg reg, const RegisterMap* reg_map) const {
  57   if(reg->is_reg()) {
  58     // If it is passed in a register, it got spilled in the stub frame.
  59     return (oop *)reg_map->location(reg);
  60   } else {
  61     int sp_offset_in_bytes = reg->reg2stack() * VMRegImpl::stack_slot_size;
  62     return (oop*)(((address)unextended_sp()) + sp_offset_in_bytes);
  63   }
  64 }
  65 
  66 #endif // SHARE_VM_RUNTIME_FRAME_INLINE_HPP
< prev index next >