src/hotspot/share/oops/klass.inline.hpp
branchdatagramsocketimpl-branch
changeset 58678 9cf78a70fa4f
parent 54786 ebf733a324d4
child 58679 9c3209ff7550
equal deleted inserted replaced
58677:13588c901957 58678:9cf78a70fa4f
    23  */
    23  */
    24 
    24 
    25 #ifndef SHARE_OOPS_KLASS_INLINE_HPP
    25 #ifndef SHARE_OOPS_KLASS_INLINE_HPP
    26 #define SHARE_OOPS_KLASS_INLINE_HPP
    26 #define SHARE_OOPS_KLASS_INLINE_HPP
    27 
    27 
       
    28 #include "classfile/classLoaderData.inline.hpp"
    28 #include "oops/compressedOops.hpp"
    29 #include "oops/compressedOops.hpp"
    29 #include "oops/klass.hpp"
    30 #include "oops/klass.hpp"
    30 #include "oops/markOop.hpp"
    31 #include "oops/markWord.hpp"
       
    32 #include "oops/oopHandle.inline.hpp"
    31 
    33 
    32 inline void Klass::set_prototype_header(markOop header) {
    34 inline void Klass::set_prototype_header(markWord header) {
    33   assert(!header->has_bias_pattern() || is_instance_klass(), "biased locking currently only supported for Java instances");
    35   assert(!header.has_bias_pattern() || is_instance_klass(), "biased locking currently only supported for Java instances");
    34   _prototype_header = header;
    36   _prototype_header = header;
    35 }
    37 }
    36 
    38 
       
    39 inline oop Klass::java_mirror() const {
       
    40   return _java_mirror.resolve();
       
    41 }
       
    42 
       
    43 inline klassVtable Klass::vtable() const {
       
    44   return klassVtable(const_cast<Klass*>(this), start_of_vtable(), vtable_length() / vtableEntry::size());
       
    45 }
       
    46 
       
    47 inline oop Klass::class_loader() const {
       
    48   return class_loader_data()->class_loader();
       
    49 }
       
    50 
       
    51 inline vtableEntry* Klass::start_of_vtable() const {
       
    52   return (vtableEntry*) ((address)this + in_bytes(vtable_start_offset()));
       
    53 }
       
    54 
       
    55 inline ByteSize Klass::vtable_start_offset() {
       
    56   return in_ByteSize(InstanceKlass::header_size() * wordSize);
       
    57 }
       
    58 
    37 #endif // SHARE_OOPS_KLASS_INLINE_HPP
    59 #endif // SHARE_OOPS_KLASS_INLINE_HPP