src/share/vm/oops/instanceKlass.hpp

changeset 7714
d5b74c583ec1
parent 7325
3c87c13918fb
child 7717
41c3c456e326
equal deleted inserted replaced
7713:b7e8193d0b53 7714:d5b74c583ec1
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.

mercurial