1.1 --- a/src/share/vm/runtime/deoptimization.hpp Mon May 09 19:45:52 2011 -0700 1.2 +++ b/src/share/vm/runtime/deoptimization.hpp Thu May 12 10:29:02 2011 -0700 1.3 @@ -138,6 +138,9 @@ 1.4 intptr_t* _register_block; // Block for storing callee-saved registers. 1.5 BasicType _return_type; // Tells if we have to restore double or long return value 1.6 intptr_t _initial_fp; // FP of the sender frame 1.7 + int _caller_actual_parameters; // The number of actual arguments at the 1.8 + // interpreted caller of the deoptimized frame 1.9 + 1.10 // The following fields are used as temps during the unpacking phase 1.11 // (which is tight on registers, especially on x86). They really ought 1.12 // to be PD variables but that involves moving this class into its own 1.13 @@ -149,6 +152,7 @@ 1.14 // Constructor 1.15 UnrollBlock(int size_of_deoptimized_frame, 1.16 int caller_adjustment, 1.17 + int caller_actual_parameters, 1.18 int number_of_frames, 1.19 intptr_t* frame_sizes, 1.20 address* frames_pcs, 1.21 @@ -168,6 +172,8 @@ 1.22 1.23 void set_initial_fp(intptr_t fp) { _initial_fp = fp; } 1.24 1.25 + int caller_actual_parameters() const { return _caller_actual_parameters; } 1.26 + 1.27 // Accessors used by the code generator for the unpack stub. 1.28 static int size_of_deoptimized_frame_offset_in_bytes() { return offset_of(UnrollBlock, _size_of_deoptimized_frame); } 1.29 static int caller_adjustment_offset_in_bytes() { return offset_of(UnrollBlock, _caller_adjustment); }