src/share/vm/oops/instanceKlass.hpp

changeset 8716
619700f41f8e
parent 8185
5cece4584b8e
child 8721
575f637864df
     1.1 --- a/src/share/vm/oops/instanceKlass.hpp	Fri Jan 20 16:22:39 2017 +0000
     1.2 +++ b/src/share/vm/oops/instanceKlass.hpp	Thu Feb 02 00:29:28 2017 +0000
     1.3 @@ -1,5 +1,5 @@
     1.4  /*
     1.5 - * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
     1.6 + * Copyright (c) 1997, 2017, Oracle and/or its affiliates. All rights reserved.
     1.7   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     1.8   *
     1.9   * This code is free software; you can redistribute it and/or modify it
    1.10 @@ -527,18 +527,36 @@
    1.11    Method* find_instance_method(Symbol* name, Symbol* signature);
    1.12    static Method* find_instance_method(Array<Method*>* methods, Symbol* name, Symbol* signature);
    1.13  
    1.14 +  // find a local method (returns NULL if not found)
    1.15 +  Method* find_local_method(Symbol* name, Symbol* signature,
    1.16 +                           OverpassLookupMode overpass_mode,
    1.17 +                           StaticLookupMode static_mode,
    1.18 +                           PrivateLookupMode private_mode) const;
    1.19 +
    1.20 +  // find a local method from given methods array (returns NULL if not found)
    1.21 +  static Method* find_local_method(Array<Method*>* methods,
    1.22 +                           Symbol* name, Symbol* signature,
    1.23 +                           OverpassLookupMode overpass_mode,
    1.24 +                           StaticLookupMode static_mode,
    1.25 +                           PrivateLookupMode private_mode);
    1.26 +
    1.27    // true if method matches signature and conforms to skipping_X conditions.
    1.28 -  static bool method_matches(Method* m, Symbol* signature, bool skipping_overpass, bool skipping_static);
    1.29 +  static bool method_matches(Method* m, Symbol* signature, bool skipping_overpass, bool skipping_static, bool skipping_private);
    1.30  
    1.31 -  // find a local method index in default_methods (returns -1 if not found)
    1.32 -  static int find_method_index(Array<Method*>* methods, Symbol* name, Symbol* signature, bool skipping_overpass, bool skipping_static);
    1.33 +  // find a local method index in methods or default_methods (returns -1 if not found)
    1.34 +  static int find_method_index(Array<Method*>* methods,
    1.35 +                               Symbol* name, Symbol* signature,
    1.36 +                               OverpassLookupMode overpass_mode,
    1.37 +                               StaticLookupMode static_mode,
    1.38 +                               PrivateLookupMode private_mode);
    1.39 +
    1.40  
    1.41    // lookup operation (returns NULL if not found)
    1.42 -  Method* uncached_lookup_method(Symbol* name, Symbol* signature, MethodLookupMode mode) const;
    1.43 +  Method* uncached_lookup_method(Symbol* name, Symbol* signature, OverpassLookupMode overpass_mode) const;
    1.44  
    1.45    // lookup a method in all the interfaces that this class implements
    1.46    // (returns NULL if not found)
    1.47 -  Method* lookup_method_in_all_interfaces(Symbol* name, Symbol* signature, MethodLookupMode mode) const;
    1.48 +  Method* lookup_method_in_all_interfaces(Symbol* name, Symbol* signature, DefaultsLookupMode defaults_mode) const;
    1.49  
    1.50    // lookup a method in local defaults then in all interfaces
    1.51    // (returns NULL if not found)
    1.52 @@ -1089,8 +1107,15 @@
    1.53    Klass* array_klass_impl(bool or_null, TRAPS);
    1.54  
    1.55    // find a local method (returns NULL if not found)
    1.56 -  Method* find_method_impl(Symbol* name, Symbol* signature, bool skipping_overpass) const;
    1.57 -  static Method* find_method_impl(Array<Method*>* methods, Symbol* name, Symbol* signature, bool skipping_overpass, bool skipping_static);
    1.58 +  Method* find_method_impl(Symbol* name, Symbol* signature,
    1.59 +                           OverpassLookupMode overpass_mode,
    1.60 +                           StaticLookupMode static_mode,
    1.61 +                           PrivateLookupMode private_mode) const;
    1.62 +  static Method* find_method_impl(Array<Method*>* methods,
    1.63 +                                  Symbol* name, Symbol* signature,
    1.64 +                                  OverpassLookupMode overpass_mode,
    1.65 +                                  StaticLookupMode static_mode,
    1.66 +                                  PrivateLookupMode private_mode);
    1.67  
    1.68    // Free CHeap allocated fields.
    1.69    void release_C_heap_structures();

mercurial