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
|