mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-28 07:14:30 +02:00
8148047: Move the vtable length field to Klass
Reviewed-by: cjplummer, twisti, coleenp, kbarrett
This commit is contained in:
parent
97e169ac77
commit
211dc93a85
32 changed files with 78 additions and 80 deletions
|
@ -178,6 +178,7 @@ class InstanceKlass: public 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
|
||||
|
@ -211,8 +212,6 @@ class InstanceKlass: public Klass {
|
|||
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
|
||||
|
@ -311,10 +310,6 @@ class InstanceKlass: public Klass {
|
|||
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; }
|
||||
|
@ -949,9 +944,6 @@ public:
|
|||
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() + vtable_length(); }
|
||||
int itable_offset_in_words() const { return start_of_itable() - (intptr_t*)this; }
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue