1.1 --- a/src/share/vm/oops/method.hpp Fri Nov 16 09:43:43 2012 -0800 1.2 +++ b/src/share/vm/oops/method.hpp Tue Nov 27 17:03:56 2012 -0500 1.3 @@ -73,12 +73,10 @@ 1.4 // |------------------------------------------------------| 1.5 // | result_index (C++ interpreter only) | 1.6 // |------------------------------------------------------| 1.7 -// | method_size | max_stack | 1.8 -// | max_locals | size_of_parameters | 1.9 +// | method_size | max_locals | 1.10 +// | size_of_parameters | intrinsic_id| flags | 1.11 // |------------------------------------------------------| 1.12 -// |intrinsic_id| flags | throwout_count | 1.13 -// |------------------------------------------------------| 1.14 -// | num_breakpoints | (unused) | 1.15 +// | throwout_count | num_breakpoints | 1.16 // |------------------------------------------------------| 1.17 // | invocation_counter | 1.18 // | backedge_counter | 1.19 @@ -118,7 +116,6 @@ 1.20 int _result_index; // C++ interpreter needs for converting results to/from stack 1.21 #endif 1.22 u2 _method_size; // size of this object 1.23 - u2 _max_stack; // Maximum number of entries on the expression stack 1.24 u2 _max_locals; // Number of local variables used by this method 1.25 u2 _size_of_parameters; // size of the parameter block (receiver + arguments) in words 1.26 u1 _intrinsic_id; // vmSymbols::intrinsic_id (0 == _none) 1.27 @@ -166,6 +163,7 @@ 1.28 int localvariable_table_length, 1.29 int exception_table_length, 1.30 int checked_exceptions_length, 1.31 + u2 generic_signature_index, 1.32 ConstMethod::MethodType method_type, 1.33 TRAPS); 1.34 1.35 @@ -288,9 +286,9 @@ 1.36 1.37 // max stack 1.38 // return original max stack size for method verification 1.39 - int verifier_max_stack() const { return _max_stack; } 1.40 - int max_stack() const { return _max_stack + extra_stack_entries(); } 1.41 - void set_max_stack(int size) { _max_stack = size; } 1.42 + int verifier_max_stack() const { return constMethod()->max_stack(); } 1.43 + int max_stack() const { return constMethod()->max_stack() + extra_stack_entries(); } 1.44 + void set_max_stack(int size) { constMethod()->set_max_stack(size); } 1.45 1.46 // max locals 1.47 int max_locals() const { return _max_locals; } 1.48 @@ -606,7 +604,6 @@ 1.49 static ByteSize from_interpreted_offset() { return byte_offset_of(Method, _from_interpreted_entry ); } 1.50 static ByteSize interpreter_entry_offset() { return byte_offset_of(Method, _i2i_entry ); } 1.51 static ByteSize signature_handler_offset() { return in_ByteSize(sizeof(Method) + wordSize); } 1.52 - static ByteSize max_stack_offset() { return byte_offset_of(Method, _max_stack ); } 1.53 1.54 // for code generation 1.55 static int method_data_offset_in_bytes() { return offset_of(Method, _method_data); }