comparison src/share/vm/oops/method.hpp @ 13086:096c224171c4

Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/
author Doug Simon <doug.simon@oracle.com>
date Wed, 20 Nov 2013 00:10:38 +0100
parents 359f7e70ae7f f50418dfb1b7
children de839ec35cc7
comparison
equal deleted inserted replaced
12782:92b7ec34ddfa 13086:096c224171c4
565 bool is_vanilla_constructor() const; 565 bool is_vanilla_constructor() const;
566 566
567 // checks method and its method holder 567 // checks method and its method holder
568 bool is_final_method() const; 568 bool is_final_method() const;
569 bool is_final_method(AccessFlags class_access_flags) const; 569 bool is_final_method(AccessFlags class_access_flags) const;
570 bool is_default_method() const;
570 571
571 // true if method needs no dynamic dispatch (final and/or no vtable entry) 572 // true if method needs no dynamic dispatch (final and/or no vtable entry)
572 bool can_be_statically_bound() const; 573 bool can_be_statically_bound() const;
573 bool can_be_statically_bound(AccessFlags class_access_flags) const; 574 bool can_be_statically_bound(AccessFlags class_access_flags) const;
574 575
802 bool is_always_compilable() const; 803 bool is_always_compilable() const;
803 804
804 private: 805 private:
805 void print_made_not_compilable(int comp_level, bool is_osr, bool report, const char* reason); 806 void print_made_not_compilable(int comp_level, bool is_osr, bool report, const char* reason);
806 807
808 public:
807 MethodCounters* get_method_counters(TRAPS) { 809 MethodCounters* get_method_counters(TRAPS) {
808 if (_method_counters == NULL) { 810 if (_method_counters == NULL) {
809 build_method_counters(this, CHECK_AND_CLEAR_NULL); 811 build_method_counters(this, CHECK_AND_CLEAR_NULL);
810 } 812 }
811 return _method_counters; 813 return _method_counters;
812 } 814 }
813 815
814 public:
815 bool is_not_c1_compilable() const { return access_flags().is_not_c1_compilable(); } 816 bool is_not_c1_compilable() const { return access_flags().is_not_c1_compilable(); }
816 void set_not_c1_compilable() { _access_flags.set_not_c1_compilable(); } 817 void set_not_c1_compilable() { _access_flags.set_not_c1_compilable(); }
817 void clear_not_c1_compilable() { _access_flags.clear_not_c1_compilable(); } 818 void clear_not_c1_compilable() { _access_flags.clear_not_c1_compilable(); }
818 bool is_not_c2_compilable() const { return access_flags().is_not_c2_compilable(); } 819 bool is_not_c2_compilable() const { return access_flags().is_not_c2_compilable(); }
819 void set_not_c2_compilable() { _access_flags.set_not_c2_compilable(); } 820 void set_not_c2_compilable() { _access_flags.set_not_c2_compilable(); }
844 #else 845 #else
845 void print_name(outputStream* st = tty) PRODUCT_RETURN; // prints as "virtual void foo(int)" 846 void print_name(outputStream* st = tty) PRODUCT_RETURN; // prints as "virtual void foo(int)"
846 #endif 847 #endif
847 848
848 // Helper routine used for method sorting 849 // Helper routine used for method sorting
849 static void sort_methods(Array<Method*>* methods, bool idempotent = false); 850 static void sort_methods(Array<Method*>* methods, bool idempotent = false, bool set_idnums = true);
850 851
851 // Deallocation function for redefine classes or if an error occurs 852 // Deallocation function for redefine classes or if an error occurs
852 void deallocate_contents(ClassLoaderData* loader_data); 853 void deallocate_contents(ClassLoaderData* loader_data);
853 854
854 // Printing 855 // Printing