518 bool find_field_from_offset(int offset, bool is_static, fieldDescriptor* fd) const; |
518 bool find_field_from_offset(int offset, bool is_static, fieldDescriptor* fd) const; |
519 |
519 |
520 // find a local method (returns NULL if not found) |
520 // find a local method (returns NULL if not found) |
521 Method* find_method(Symbol* name, Symbol* signature) const; |
521 Method* find_method(Symbol* name, Symbol* signature) const; |
522 static Method* find_method(Array<Method*>* methods, Symbol* name, Symbol* signature); |
522 static Method* find_method(Array<Method*>* methods, Symbol* name, Symbol* signature); |
|
523 |
|
524 // find a local method, but skip static methods |
|
525 Method* find_instance_method(Symbol* name, Symbol* signature); |
523 static Method* find_instance_method(Array<Method*>* methods, Symbol* name, Symbol* signature); |
526 static Method* find_instance_method(Array<Method*>* methods, Symbol* name, Symbol* signature); |
524 |
527 |
|
528 // true if method matches signature and conforms to skipping_X conditions. |
|
529 static bool method_matches(Method* m, Symbol* signature, bool skipping_overpass, bool skipping_static); |
|
530 |
525 // find a local method index in default_methods (returns -1 if not found) |
531 // find a local method index in default_methods (returns -1 if not found) |
526 static int find_method_index(Array<Method*>* methods, Symbol* name, Symbol* signature, bool skipping_overpass); |
532 static int find_method_index(Array<Method*>* methods, Symbol* name, Symbol* signature, bool skipping_overpass, bool skipping_static); |
527 |
533 |
528 // lookup operation (returns NULL if not found) |
534 // lookup operation (returns NULL if not found) |
529 Method* uncached_lookup_method(Symbol* name, Symbol* signature, MethodLookupMode mode) const; |
535 Method* uncached_lookup_method(Symbol* name, Symbol* signature, MethodLookupMode mode) const; |
530 |
536 |
531 // lookup a method in all the interfaces that this class implements |
537 // lookup a method in all the interfaces that this class implements |
1074 // Returns the array class with this class as element type |
1080 // Returns the array class with this class as element type |
1075 Klass* array_klass_impl(bool or_null, TRAPS); |
1081 Klass* array_klass_impl(bool or_null, TRAPS); |
1076 |
1082 |
1077 // find a local method (returns NULL if not found) |
1083 // find a local method (returns NULL if not found) |
1078 Method* find_method_impl(Symbol* name, Symbol* signature, bool skipping_overpass) const; |
1084 Method* find_method_impl(Symbol* name, Symbol* signature, bool skipping_overpass) const; |
1079 static Method* find_method_impl(Array<Method*>* methods, Symbol* name, Symbol* signature, bool skipping_overpass); |
1085 static Method* find_method_impl(Array<Method*>* methods, Symbol* name, Symbol* signature, bool skipping_overpass, bool skipping_static); |
1080 |
1086 |
1081 // Free CHeap allocated fields. |
1087 // Free CHeap allocated fields. |
1082 void release_C_heap_structures(); |
1088 void release_C_heap_structures(); |
1083 public: |
1089 public: |
1084 // CDS support - remove and restore oops from metadata. Oops are not shared. |
1090 // CDS support - remove and restore oops from metadata. Oops are not shared. |