Mercurial > hg > truffle
comparison src/share/vm/runtime/deoptimization.hpp @ 3931:5432047c7db7
7087445: Improve platform independence of JSR292 shared code
Summary: changes necessary for some JSR292 ports
Reviewed-by: jrose, dholmes
author | bdelsart |
---|---|
date | Thu, 08 Sep 2011 10:12:25 +0200 |
parents | 3d2ab563047a |
children | f6f3bb0ee072 |
comparison
equal
deleted
inserted
replaced
3930:da6a29fb0da5 | 3931:5432047c7db7 |
---|---|
135 int _total_frame_sizes; // Total of number*sizes frames | 135 int _total_frame_sizes; // Total of number*sizes frames |
136 intptr_t* _frame_sizes; // Array of frame sizes, in bytes, for unrolling the stack | 136 intptr_t* _frame_sizes; // Array of frame sizes, in bytes, for unrolling the stack |
137 address* _frame_pcs; // Array of frame pc's, in bytes, for unrolling the stack | 137 address* _frame_pcs; // Array of frame pc's, in bytes, for unrolling the stack |
138 intptr_t* _register_block; // Block for storing callee-saved registers. | 138 intptr_t* _register_block; // Block for storing callee-saved registers. |
139 BasicType _return_type; // Tells if we have to restore double or long return value | 139 BasicType _return_type; // Tells if we have to restore double or long return value |
140 intptr_t _initial_fp; // FP of the sender frame | 140 intptr_t _initial_info; // Platform dependent data for the sender frame (was FP on x86) |
141 int _caller_actual_parameters; // The number of actual arguments at the | 141 int _caller_actual_parameters; // The number of actual arguments at the |
142 // interpreted caller of the deoptimized frame | 142 // interpreted caller of the deoptimized frame |
143 | 143 |
144 // The following fields are used as temps during the unpacking phase | 144 // The following fields are used as temps during the unpacking phase |
145 // (which is tight on registers, especially on x86). They really ought | 145 // (which is tight on registers, especially on x86). They really ought |
168 address* frame_pcs() const { return _frame_pcs ; } | 168 address* frame_pcs() const { return _frame_pcs ; } |
169 | 169 |
170 // Returns the total size of frames | 170 // Returns the total size of frames |
171 int size_of_frames() const; | 171 int size_of_frames() const; |
172 | 172 |
173 void set_initial_fp(intptr_t fp) { _initial_fp = fp; } | 173 void set_initial_info(intptr_t info) { _initial_info = info; } |
174 | 174 |
175 int caller_actual_parameters() const { return _caller_actual_parameters; } | 175 int caller_actual_parameters() const { return _caller_actual_parameters; } |
176 | 176 |
177 // Accessors used by the code generator for the unpack stub. | 177 // Accessors used by the code generator for the unpack stub. |
178 static int size_of_deoptimized_frame_offset_in_bytes() { return offset_of(UnrollBlock, _size_of_deoptimized_frame); } | 178 static int size_of_deoptimized_frame_offset_in_bytes() { return offset_of(UnrollBlock, _size_of_deoptimized_frame); } |
182 static int total_frame_sizes_offset_in_bytes() { return offset_of(UnrollBlock, _total_frame_sizes); } | 182 static int total_frame_sizes_offset_in_bytes() { return offset_of(UnrollBlock, _total_frame_sizes); } |
183 static int frame_pcs_offset_in_bytes() { return offset_of(UnrollBlock, _frame_pcs); } | 183 static int frame_pcs_offset_in_bytes() { return offset_of(UnrollBlock, _frame_pcs); } |
184 static int register_block_offset_in_bytes() { return offset_of(UnrollBlock, _register_block); } | 184 static int register_block_offset_in_bytes() { return offset_of(UnrollBlock, _register_block); } |
185 static int return_type_offset_in_bytes() { return offset_of(UnrollBlock, _return_type); } | 185 static int return_type_offset_in_bytes() { return offset_of(UnrollBlock, _return_type); } |
186 static int counter_temp_offset_in_bytes() { return offset_of(UnrollBlock, _counter_temp); } | 186 static int counter_temp_offset_in_bytes() { return offset_of(UnrollBlock, _counter_temp); } |
187 static int initial_fp_offset_in_bytes() { return offset_of(UnrollBlock, _initial_fp); } | 187 static int initial_info_offset_in_bytes() { return offset_of(UnrollBlock, _initial_info); } |
188 static int unpack_kind_offset_in_bytes() { return offset_of(UnrollBlock, _unpack_kind); } | 188 static int unpack_kind_offset_in_bytes() { return offset_of(UnrollBlock, _unpack_kind); } |
189 static int sender_sp_temp_offset_in_bytes() { return offset_of(UnrollBlock, _sender_sp_temp); } | 189 static int sender_sp_temp_offset_in_bytes() { return offset_of(UnrollBlock, _sender_sp_temp); } |
190 | 190 |
191 BasicType return_type() const { return _return_type; } | 191 BasicType return_type() const { return _return_type; } |
192 void print(); | 192 void print(); |