Mercurial > hg > truffle
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 |