hotspot/src/share/vm/oops/instanceKlass.hpp
changeset 28731 f7339cba0a6a
parent 27674 00cabfc45357
child 28738 8f9731dd6bd4
equal deleted inserted replaced
28628:544fb99e0080 28731:f7339cba0a6a
     1 /*
     1 /*
     2  * Copyright (c) 1997, 2014, Oracle and/or its affiliates. All rights reserved.
     2  * Copyright (c) 1997, 2015, Oracle and/or its affiliates. All rights reserved.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
     4  *
     4  *
     5  * This code is free software; you can redistribute it and/or modify it
     5  * This code is free software; you can redistribute it and/or modify it
     6  * under the terms of the GNU General Public License version 2 only, as
     6  * under the terms of the GNU General Public License version 2 only, as
     7  * published by the Free Software Foundation.
     7  * published by the Free Software Foundation.
   491   Method* find_method(Symbol* name, Symbol* signature) const;
   491   Method* find_method(Symbol* name, Symbol* signature) const;
   492   static Method* find_method(Array<Method*>* methods, Symbol* name, Symbol* signature);
   492   static Method* find_method(Array<Method*>* methods, Symbol* name, Symbol* signature);
   493   static Method* find_instance_method(Array<Method*>* methods, Symbol* name, Symbol* signature);
   493   static Method* find_instance_method(Array<Method*>* methods, Symbol* name, Symbol* signature);
   494 
   494 
   495   // find a local method index in default_methods (returns -1 if not found)
   495   // find a local method index in default_methods (returns -1 if not found)
   496   static int find_method_index(Array<Method*>* methods, Symbol* name, Symbol* signature, bool skipping_overpass);
   496   static int find_method_index(Array<Method*>* methods, Symbol* name, Symbol* signature,
       
   497                                OverpassLookupMode overpass_mode, StaticLookupMode static_mode);
   497 
   498 
   498   // lookup operation (returns NULL if not found)
   499   // lookup operation (returns NULL if not found)
   499   Method* uncached_lookup_method(Symbol* name, Symbol* signature, MethodLookupMode mode) const;
   500   Method* uncached_lookup_method(Symbol* name, Symbol* signature, OverpassLookupMode overpass_mode) const;
   500 
   501 
   501   // lookup a method in all the interfaces that this class implements
   502   // lookup a method in all the interfaces that this class implements
   502   // (returns NULL if not found)
   503   // (returns NULL if not found)
   503   Method* lookup_method_in_all_interfaces(Symbol* name, Symbol* signature, MethodLookupMode mode) const;
   504   Method* lookup_method_in_all_interfaces(Symbol* name, Symbol* signature, DefaultsLookupMode defaults_mode) const;
   504 
   505 
   505   // lookup a method in local defaults then in all interfaces
   506   // lookup a method in local defaults then in all interfaces
   506   // (returns NULL if not found)
   507   // (returns NULL if not found)
   507   Method* lookup_method_in_ordered_interfaces(Symbol* name, Symbol* signature) const;
   508   Method* lookup_method_in_ordered_interfaces(Symbol* name, Symbol* signature) const;
   508 
   509 
  1050 
  1051 
  1051   // Returns the array class with this class as element type
  1052   // Returns the array class with this class as element type
  1052   Klass* array_klass_impl(bool or_null, TRAPS);
  1053   Klass* array_klass_impl(bool or_null, TRAPS);
  1053 
  1054 
  1054   // find a local method (returns NULL if not found)
  1055   // find a local method (returns NULL if not found)
  1055   Method* find_method_impl(Symbol* name, Symbol* signature, bool skipping_overpass) const;
  1056   Method* find_method_impl(Symbol* name, Symbol* signature,
  1056   static Method* find_method_impl(Array<Method*>* methods, Symbol* name, Symbol* signature, bool skipping_overpass);
  1057                            OverpassLookupMode overpass_mode, StaticLookupMode static_mode) const;
       
  1058   static Method* find_method_impl(Array<Method*>* methods, Symbol* name, Symbol* signature,
       
  1059                                   OverpassLookupMode overpass_mode, StaticLookupMode static_mode);
  1057 
  1060 
  1058   // Free CHeap allocated fields.
  1061   // Free CHeap allocated fields.
  1059   void release_C_heap_structures();
  1062   void release_C_heap_structures();
  1060 
  1063 
  1061   // RedefineClasses support
  1064   // RedefineClasses support