src/share/vm/oops/method.hpp

changeset 4303
5505fbbae3d3
parent 4295
59c790074993
parent 4302
b2dbd323c668
child 4338
fd74228fd5ca
child 4393
35431a769282
     1.1 --- a/src/share/vm/oops/method.hpp	Thu Nov 29 11:23:15 2012 -0800
     1.2 +++ b/src/share/vm/oops/method.hpp	Thu Nov 29 13:55:49 2012 -0800
     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 @@ -289,9 +287,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 @@ -607,7 +605,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); }

mercurial