comparison src/share/vm/oops/instanceKlass.hpp @ 20785:9906d432d6db jdk8u31-b11

8064524: Compiler code generation improvements Reviewed-by: jrose, acorn, vlivanov
author drchase
date Mon, 01 Dec 2014 13:06:20 -0500
parents 386dd1c71858
children c4f1e23c4139
comparison
equal deleted inserted replaced
20784:b3a8626eefc5 20785:9906d432d6db
513 bool find_field_from_offset(int offset, bool is_static, fieldDescriptor* fd) const; 513 bool find_field_from_offset(int offset, bool is_static, fieldDescriptor* fd) const;
514 514
515 // find a local method (returns NULL if not found) 515 // find a local method (returns NULL if not found)
516 Method* find_method(Symbol* name, Symbol* signature) const; 516 Method* find_method(Symbol* name, Symbol* signature) const;
517 static Method* find_method(Array<Method*>* methods, Symbol* name, Symbol* signature); 517 static Method* find_method(Array<Method*>* methods, Symbol* name, Symbol* signature);
518
519 // find a local method, but skip static methods
520 Method* find_instance_method(Symbol* name, Symbol* signature);
518 static Method* find_instance_method(Array<Method*>* methods, Symbol* name, Symbol* signature); 521 static Method* find_instance_method(Array<Method*>* methods, Symbol* name, Symbol* signature);
519 522
523 // true if method matches signature and conforms to skipping_X conditions.
524 static bool method_matches(Method* m, Symbol* signature, bool skipping_overpass, bool skipping_static);
525
520 // find a local method index in default_methods (returns -1 if not found) 526 // find a local method index in default_methods (returns -1 if not found)
521 static int find_method_index(Array<Method*>* methods, Symbol* name, Symbol* signature, bool skipping_overpass); 527 static int find_method_index(Array<Method*>* methods, Symbol* name, Symbol* signature, bool skipping_overpass, bool skipping_static);
522 528
523 // lookup operation (returns NULL if not found) 529 // lookup operation (returns NULL if not found)
524 Method* uncached_lookup_method(Symbol* name, Symbol* signature, MethodLookupMode mode) const; 530 Method* uncached_lookup_method(Symbol* name, Symbol* signature, MethodLookupMode mode) const;
525 531
526 // lookup a method in all the interfaces that this class implements 532 // lookup a method in all the interfaces that this class implements
1048 // Returns the array class with this class as element type 1054 // Returns the array class with this class as element type
1049 Klass* array_klass_impl(bool or_null, TRAPS); 1055 Klass* array_klass_impl(bool or_null, TRAPS);
1050 1056
1051 // find a local method (returns NULL if not found) 1057 // find a local method (returns NULL if not found)
1052 Method* find_method_impl(Symbol* name, Symbol* signature, bool skipping_overpass) const; 1058 Method* find_method_impl(Symbol* name, Symbol* signature, bool skipping_overpass) const;
1053 static Method* find_method_impl(Array<Method*>* methods, Symbol* name, Symbol* signature, bool skipping_overpass); 1059 static Method* find_method_impl(Array<Method*>* methods, Symbol* name, Symbol* signature, bool skipping_overpass, bool skipping_static);
1054 1060
1055 // Free CHeap allocated fields. 1061 // Free CHeap allocated fields.
1056 void release_C_heap_structures(); 1062 void release_C_heap_structures();
1057 public: 1063 public:
1058 // CDS support - remove and restore oops from metadata. Oops are not shared. 1064 // CDS support - remove and restore oops from metadata. Oops are not shared.