< prev index next >
src/share/vm/oops/instanceKlass.hpp
Print this page
@@ -176,10 +176,11 @@
u2 _source_file_name_index;
u2 _static_oop_field_count;// number of static oop fields in this klass
u2 _java_fields_count; // The number of declared Java fields
int _nonstatic_oop_map_size;// size in words of nonstatic oop map blocks
+ int _itable_len; // length of Java itable (in words)
// _is_marked_dependent can be set concurrently, thus cannot be part of the
// _misc_flags.
bool _is_marked_dependent; // used for marking during flushing and deoptimization
// The low two bits of _misc_flags contains the kind field.
@@ -209,12 +210,10 @@
};
u2 _misc_flags;
u2 _minor_version; // minor version number of class file
u2 _major_version; // major version number of class file
Thread* _init_thread; // Pointer to current thread doing initialization (to handle recusive initialization)
- int _vtable_len; // length of Java vtable (in words)
- int _itable_len; // length of Java itable (in words)
OopMapCache* volatile _oop_map_cache; // OopMapCache for all methods in the klass (allocated lazily)
MemberNameTable* _member_names; // Member names
JNIid* _jni_ids; // First JNI identifier for static fields in this class
jmethodID* _methods_jmethod_ids; // jmethodIDs corresponding to method_idnum, or NULL if none
intptr_t _dep_context; // packed DependencyContext structure
@@ -309,14 +308,10 @@
void set_static_field_size(int size) { _static_field_size = size; }
int static_oop_field_count() const { return (int)_static_oop_field_count; }
void set_static_oop_field_count(u2 size) { _static_oop_field_count = size; }
- // Java vtable
- int vtable_length() const { return _vtable_len; }
- void set_vtable_length(int len) { _vtable_len = len; }
-
// Java itable
int itable_length() const { return _itable_len; }
void set_itable_length(int len) { _itable_len = len; }
// array klasses
@@ -949,13 +944,10 @@
}
#if INCLUDE_SERVICES
virtual void collect_statistics(KlassSizeStats *sz) const;
#endif
- static ByteSize vtable_start_offset() { return in_ByteSize(header_size() * wordSize); }
- static ByteSize vtable_length_offset() { return byte_offset_of(InstanceKlass, _vtable_len); }
-
intptr_t* start_of_vtable() const { return (intptr_t*) ((address)this + in_bytes(vtable_start_offset())); }
intptr_t* start_of_itable() const { return start_of_vtable() + align_object_offset(vtable_length()); }
int itable_offset_in_words() const { return start_of_itable() - (intptr_t*)this; }
intptr_t* end_of_itable() const { return start_of_itable() + itable_length(); }
< prev index next >