mirror of
https://github.com/openjdk/jdk.git
synced 2025-08-27 06:45:07 +02:00
8014013: CallInfo structure no longer accurately reports the result of a LinkResolver operation
Enhance method resolution and resulting data structures, plus some refactoring. Reviewed-by: twisti, acorn, jrose
This commit is contained in:
parent
98d8f57603
commit
222c735458
40 changed files with 715 additions and 601 deletions
|
@ -245,7 +245,6 @@ class InstanceKlass: public Klass {
|
|||
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
|
||||
nmethodBucket* _dependencies; // list of dependent nmethods
|
||||
nmethod* _osr_nmethods_head; // Head of list of on-stack replacement nmethods for this class
|
||||
BreakpointInfo* _breakpoints; // bpt lists, managed by Method*
|
||||
|
@ -690,10 +689,6 @@ class InstanceKlass: public Klass {
|
|||
size_t *length_p, jmethodID* id_p);
|
||||
jmethodID jmethod_id_or_null(Method* method);
|
||||
|
||||
// cached itable index support
|
||||
void set_cached_itable_index(size_t idnum, int index);
|
||||
int cached_itable_index(size_t idnum);
|
||||
|
||||
// annotations support
|
||||
Annotations* annotations() const { return _annotations; }
|
||||
void set_annotations(Annotations* anno) { _annotations = anno; }
|
||||
|
@ -994,11 +989,6 @@ private:
|
|||
void release_set_methods_jmethod_ids(jmethodID* jmeths)
|
||||
{ OrderAccess::release_store_ptr(&_methods_jmethod_ids, jmeths); }
|
||||
|
||||
int* methods_cached_itable_indices_acquire() const
|
||||
{ return (int*)OrderAccess::load_ptr_acquire(&_methods_cached_itable_indices); }
|
||||
void release_set_methods_cached_itable_indices(int* indices)
|
||||
{ OrderAccess::release_store_ptr(&_methods_cached_itable_indices, indices); }
|
||||
|
||||
// Lock during initialization
|
||||
public:
|
||||
// Lock for (1) initialization; (2) access to the ConstantPool of this class.
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue