--- a/hotspot/src/share/vm/oops/klass.hpp Mon Apr 14 10:13:03 2014 -0400
+++ b/hotspot/src/share/vm/oops/klass.hpp Mon Apr 14 14:27:45 2014 -0400
@@ -154,6 +154,8 @@
void* operator new(size_t size, ClassLoaderData* loader_data, size_t word_size, TRAPS) throw();
public:
+ enum MethodLookupMode { normal, skip_overpass, skip_defaults };
+
bool is_klass() const volatile { return true; }
// super
@@ -391,10 +393,10 @@
virtual void initialize(TRAPS);
// lookup operation for MethodLookupCache
friend class MethodLookupCache;
- virtual Method* uncached_lookup_method(Symbol* name, Symbol* signature) const;
+ virtual Method* uncached_lookup_method(Symbol* name, Symbol* signature, MethodLookupMode mode) const;
public:
Method* lookup_method(Symbol* name, Symbol* signature) const {
- return uncached_lookup_method(name, signature);
+ return uncached_lookup_method(name, signature, normal);
}
// array class with specific rank