20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_VM_RUNTIME_FRAME_INLINE_HPP
26 #define SHARE_VM_RUNTIME_FRAME_INLINE_HPP
27
28 #include "code/compiledMethod.inline.hpp"
29 #include "interpreter/bytecodeInterpreter.hpp"
30 #include "interpreter/bytecodeInterpreter.inline.hpp"
31 #include "interpreter/interpreter.hpp"
32 #include "oops/method.hpp"
33 #include "runtime/frame.hpp"
34 #include "runtime/signature.hpp"
35 #include "utilities/macros.hpp"
36 #ifdef ZERO
37 # include "entryFrame_zero.hpp"
38 # include "fakeStubFrame_zero.hpp"
39 # include "interpreterFrame_zero.hpp"
40 # include "sharkFrame_zero.hpp"
41 #endif
42
43 #include CPU_HEADER_INLINE(frame)
44
45 inline bool frame::is_entry_frame() const {
46 return StubRoutines::returns_to_call_stub(pc());
47 }
48
49 inline bool frame::is_stub_frame() const {
50 return StubRoutines::is_stub_code(pc()) || (_cb != NULL && _cb->is_adapter_blob());
51 }
52
53 inline bool frame::is_first_frame() const {
54 return is_entry_frame() && entry_frame_is_first();
55 }
56
57 inline oop* frame::oopmapreg_to_location(VMReg reg, const RegisterMap* reg_map) const {
58 if(reg->is_reg()) {
59 // If it is passed in a register, it got spilled in the stub frame.
60 return (oop *)reg_map->location(reg);
|
20 * or visit www.oracle.com if you need additional information or have any
21 * questions.
22 *
23 */
24
25 #ifndef SHARE_VM_RUNTIME_FRAME_INLINE_HPP
26 #define SHARE_VM_RUNTIME_FRAME_INLINE_HPP
27
28 #include "code/compiledMethod.inline.hpp"
29 #include "interpreter/bytecodeInterpreter.hpp"
30 #include "interpreter/bytecodeInterpreter.inline.hpp"
31 #include "interpreter/interpreter.hpp"
32 #include "oops/method.hpp"
33 #include "runtime/frame.hpp"
34 #include "runtime/signature.hpp"
35 #include "utilities/macros.hpp"
36 #ifdef ZERO
37 # include "entryFrame_zero.hpp"
38 # include "fakeStubFrame_zero.hpp"
39 # include "interpreterFrame_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);
|