1.1 --- a/src/share/vm/oops/methodOop.hpp Mon Jan 09 10:27:24 2012 +0100 1.2 +++ b/src/share/vm/oops/methodOop.hpp Wed Jan 11 17:34:02 2012 -0500 1.3 @@ -77,7 +77,7 @@ 1.4 // | method_size | max_stack | 1.5 // | max_locals | size_of_parameters | 1.6 // |------------------------------------------------------| 1.7 -// | intrinsic_id, (unused) | throwout_count | 1.8 +// |intrinsic_id| flags | throwout_count | 1.9 // |------------------------------------------------------| 1.10 // | num_breakpoints | (unused) | 1.11 // |------------------------------------------------------| 1.12 @@ -124,6 +124,8 @@ 1.13 u2 _max_locals; // Number of local variables used by this method 1.14 u2 _size_of_parameters; // size of the parameter block (receiver + arguments) in words 1.15 u1 _intrinsic_id; // vmSymbols::intrinsic_id (0 == _none) 1.16 + u1 _jfr_towrite : 1, // Flags 1.17 + : 7; 1.18 u2 _interpreter_throwout_count; // Count of times method was exited via exception while interpreting 1.19 u2 _number_of_breakpoints; // fullspeed debugging support 1.20 InvocationCounter _invocation_counter; // Incremented before each activation of the method - used to trigger frequency-based optimizations 1.21 @@ -225,6 +227,7 @@ 1.22 void clear_number_of_breakpoints() { _number_of_breakpoints = 0; } 1.23 1.24 // index into instanceKlass methods() array 1.25 + // note: also used by jfr 1.26 u2 method_idnum() const { return constMethod()->method_idnum(); } 1.27 void set_method_idnum(u2 idnum) { constMethod()->set_method_idnum(idnum); } 1.28 1.29 @@ -650,6 +653,9 @@ 1.30 void init_intrinsic_id(); // updates from _none if a match 1.31 static vmSymbols::SID klass_id_for_intrinsics(klassOop holder); 1.32 1.33 + bool jfr_towrite() { return _jfr_towrite; } 1.34 + void set_jfr_towrite(bool towrite) { _jfr_towrite = towrite; } 1.35 + 1.36 // On-stack replacement support 1.37 bool has_osr_nmethod(int level, bool match_level) { 1.38 return instanceKlass::cast(method_holder())->lookup_osr_nmethod(this, InvocationEntryBci, level, match_level) != NULL;