equal
deleted
inserted
replaced
196 // Map a Java-signature return type into return register-value |
196 // Map a Java-signature return type into return register-value |
197 // machine registers for 0, 1 and 2 returned values. |
197 // machine registers for 0, 1 and 2 returned values. |
198 const TypeTuple *range = C->tf()->range(); |
198 const TypeTuple *range = C->tf()->range(); |
199 if( range->cnt() > TypeFunc::Parms ) { // If not a void function |
199 if( range->cnt() > TypeFunc::Parms ) { // If not a void function |
200 // Get ideal-register return type |
200 // Get ideal-register return type |
201 int ireg = base2reg[range->field_at(TypeFunc::Parms)->base()]; |
201 int ireg = range->field_at(TypeFunc::Parms)->ideal_reg(); |
202 // Get machine return register |
202 // Get machine return register |
203 uint sop = C->start()->Opcode(); |
203 uint sop = C->start()->Opcode(); |
204 OptoRegPair regs = return_value(ireg, false); |
204 OptoRegPair regs = return_value(ireg, false); |
205 |
205 |
206 // And mask for same |
206 // And mask for same |
1283 if (is_method_handle_invoke) { |
1283 if (is_method_handle_invoke) { |
1284 // Kill some extra stack space in case method handles want to do |
1284 // Kill some extra stack space in case method handles want to do |
1285 // a little in-place argument insertion. |
1285 // a little in-place argument insertion. |
1286 // FIXME: Is this still necessary? |
1286 // FIXME: Is this still necessary? |
1287 int regs_per_word = NOT_LP64(1) LP64_ONLY(2); // %%% make a global const! |
1287 int regs_per_word = NOT_LP64(1) LP64_ONLY(2); // %%% make a global const! |
1288 out_arg_limit_per_call += methodOopDesc::extra_stack_entries() * regs_per_word; |
1288 out_arg_limit_per_call += Method::extra_stack_entries() * regs_per_word; |
1289 // Do not update mcall->_argsize because (a) the extra space is not |
1289 // Do not update mcall->_argsize because (a) the extra space is not |
1290 // pushed as arguments and (b) _argsize is dead (not used anywhere). |
1290 // pushed as arguments and (b) _argsize is dead (not used anywhere). |
1291 } |
1291 } |
1292 |
1292 |
1293 // Compute the max stack slot killed by any call. These will not be |
1293 // Compute the max stack slot killed by any call. These will not be |