mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 06:45:07 +02:00
8008511: JSR 292: MemberName vmtarget refs to methods must be updated at class redefinition
Lazily create and maintain the MemberNameTable to be able to update MemberName's Reviewed-by: coleenp, jrose, dholmes
This commit is contained in:
parent
46b3969016
commit
87f3086e13
9 changed files with 231 additions and 58 deletions
|
@ -90,6 +90,7 @@ class DepChange;
|
|||
class nmethodBucket;
|
||||
class PreviousVersionNode;
|
||||
class JvmtiCachedClassFieldMap;
|
||||
class MemberNameTable;
|
||||
|
||||
// This is used in iterators below.
|
||||
class FieldClosure: public StackObj {
|
||||
|
@ -246,6 +247,7 @@ class InstanceKlass: public Klass {
|
|||
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
|
||||
int* _methods_cached_itable_indices; // itable_index cache for JNI invoke corresponding to methods idnum, or NULL
|
||||
|
@ -1028,6 +1030,11 @@ public:
|
|||
// jvm support
|
||||
jint compute_modifier_flags(TRAPS) const;
|
||||
|
||||
// JSR-292 support
|
||||
MemberNameTable* member_names() { return _member_names; }
|
||||
void set_member_names(MemberNameTable* member_names) { _member_names = member_names; }
|
||||
void add_member_name(Handle member_name);
|
||||
|
||||
public:
|
||||
// JVMTI support
|
||||
jint jvmti_class_status() const;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue