comparison src/share/vm/oops/method.hpp @ 14704:b51e29501f30

Merged with jdk9/dev/hotspot changeset 9486a41de3b7
author twisti
date Tue, 18 Mar 2014 20:19:10 -0700
parents d8041d695d19 8504393de66b
children 92aa6797d639
comparison
equal deleted inserted replaced
14647:8f483e200405 14704:b51e29501f30
106 #ifdef CC_INTERP 106 #ifdef CC_INTERP
107 int _result_index; // C++ interpreter needs for converting results to/from stack 107 int _result_index; // C++ interpreter needs for converting results to/from stack
108 #endif 108 #endif
109 u2 _method_size; // size of this object 109 u2 _method_size; // size of this object
110 u1 _intrinsic_id; // vmSymbols::intrinsic_id (0 == _none) 110 u1 _intrinsic_id; // vmSymbols::intrinsic_id (0 == _none)
111 u1 _jfr_towrite : 1, // Flags 111
112 _caller_sensitive : 1, 112 // Flags
113 _force_inline : 1, 113 enum Flags {
114 _hidden : 1, 114 _jfr_towrite = 1 << 0,
115 _dont_inline : 1, 115 _caller_sensitive = 1 << 1,
116 : 3; 116 _force_inline = 1 << 2,
117 _dont_inline = 1 << 3,
118 _hidden = 1 << 4
119 };
120 u1 _flags;
117 121
118 #ifndef PRODUCT 122 #ifndef PRODUCT
119 int _compiled_invocation_count; // Number of nmethod invocations so far (for perf. debugging) 123 int _compiled_invocation_count; // Number of nmethod invocations so far (for perf. debugging)
120 #endif 124 #endif
121 // Entry point for calling both from and to the interpreter. 125 // Entry point for calling both from and to the interpreter.
757 761
758 // Helper routines for intrinsic_id() and vmIntrinsics::method(). 762 // Helper routines for intrinsic_id() and vmIntrinsics::method().
759 void init_intrinsic_id(); // updates from _none if a match 763 void init_intrinsic_id(); // updates from _none if a match
760 static vmSymbols::SID klass_id_for_intrinsics(Klass* holder); 764 static vmSymbols::SID klass_id_for_intrinsics(Klass* holder);
761 765
762 bool jfr_towrite() { return _jfr_towrite; } 766 bool jfr_towrite() {
763 void set_jfr_towrite(bool x) { _jfr_towrite = x; } 767 return (_flags & _jfr_towrite) != 0;
764 bool caller_sensitive() { return _caller_sensitive; } 768 }
765 void set_caller_sensitive(bool x) { _caller_sensitive = x; } 769 void set_jfr_towrite(bool x) {
766 bool force_inline() { return _force_inline; } 770 _flags = x ? (_flags | _jfr_towrite) : (_flags & ~_jfr_towrite);
767 void set_force_inline(bool x) { _force_inline = x; } 771 }
768 bool dont_inline() { return _dont_inline; } 772
769 void set_dont_inline(bool x) { _dont_inline = x; } 773 bool caller_sensitive() {
770 bool is_hidden() { return _hidden; } 774 return (_flags & _caller_sensitive) != 0;
771 void set_hidden(bool x) { _hidden = x; } 775 }
776 void set_caller_sensitive(bool x) {
777 _flags = x ? (_flags | _caller_sensitive) : (_flags & ~_caller_sensitive);
778 }
779
780 bool force_inline() {
781 return (_flags & _force_inline) != 0;
782 }
783 void set_force_inline(bool x) {
784 _flags = x ? (_flags | _force_inline) : (_flags & ~_force_inline);
785 }
786
787 bool dont_inline() {
788 return (_flags & _dont_inline) != 0;
789 }
790 void set_dont_inline(bool x) {
791 _flags = x ? (_flags | _dont_inline) : (_flags & ~_dont_inline);
792 }
793
794 bool is_hidden() {
795 return (_flags & _hidden) != 0;
796 }
797 void set_hidden(bool x) {
798 _flags = x ? (_flags | _hidden) : (_flags & ~_hidden);
799 }
800
772 ConstMethod::MethodType method_type() const { 801 ConstMethod::MethodType method_type() const {
773 return _constMethod->method_type(); 802 return _constMethod->method_type();
774 } 803 }
775 bool is_overpass() const { return method_type() == ConstMethod::OVERPASS; } 804 bool is_overpass() const { return method_type() == ConstMethod::OVERPASS; }
776 805