equal
deleted
inserted
replaced
36 #include "oops/fieldInfo.hpp" |
36 #include "oops/fieldInfo.hpp" |
37 #include "oops/instanceOop.hpp" |
37 #include "oops/instanceOop.hpp" |
38 #include "oops/klassVtable.hpp" |
38 #include "oops/klassVtable.hpp" |
39 #include "runtime/handles.hpp" |
39 #include "runtime/handles.hpp" |
40 #include "runtime/os.hpp" |
40 #include "runtime/os.hpp" |
41 #include "trace/traceMacros.hpp" |
|
42 #include "utilities/accessFlags.hpp" |
41 #include "utilities/accessFlags.hpp" |
43 #include "utilities/align.hpp" |
42 #include "utilities/align.hpp" |
44 #include "utilities/macros.hpp" |
43 #include "utilities/macros.hpp" |
|
44 #if INCLUDE_JFR |
|
45 #include "jfr/support/jfrKlassExtension.hpp" |
|
46 #endif |
|
47 |
45 |
48 |
46 // An InstanceKlass is the VM level representation of a Java class. |
49 // An InstanceKlass is the VM level representation of a Java class. |
47 // It contains all information needed for at class at execution runtime. |
50 // It contains all information needed for at class at execution runtime. |
48 |
51 |
49 // InstanceKlass embedded field layout (after declared fields): |
52 // InstanceKlass embedded field layout (after declared fields): |
960 void set_breakpoints(BreakpointInfo* bps) { _breakpoints = bps; }; |
963 void set_breakpoints(BreakpointInfo* bps) { _breakpoints = bps; }; |
961 #endif |
964 #endif |
962 |
965 |
963 // support for stub routines |
966 // support for stub routines |
964 static ByteSize init_state_offset() { return in_ByteSize(offset_of(InstanceKlass, _init_state)); } |
967 static ByteSize init_state_offset() { return in_ByteSize(offset_of(InstanceKlass, _init_state)); } |
965 TRACE_DEFINE_KLASS_TRACE_ID_OFFSET; |
968 JFR_ONLY(DEFINE_KLASS_TRACE_ID_OFFSET;) |
966 static ByteSize init_thread_offset() { return in_ByteSize(offset_of(InstanceKlass, _init_thread)); } |
969 static ByteSize init_thread_offset() { return in_ByteSize(offset_of(InstanceKlass, _init_thread)); } |
967 |
970 |
968 // subclass/subinterface checks |
971 // subclass/subinterface checks |
969 bool implements_interface(Klass* k) const; |
972 bool implements_interface(Klass* k) const; |
970 bool is_same_or_direct_interface(Klass* k) const; |
973 bool is_same_or_direct_interface(Klass* k) const; |