equal
deleted
inserted
replaced
372 __ ld_ptr(cache, ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::flags_offset(), flags); |
372 __ ld_ptr(cache, ConstantPoolCache::base_offset() + ConstantPoolCacheEntry::flags_offset(), flags); |
373 const Register parameter_size = flags; |
373 const Register parameter_size = flags; |
374 __ and3(flags, ConstantPoolCacheEntry::parameter_size_mask, parameter_size); // argument size in words |
374 __ and3(flags, ConstantPoolCacheEntry::parameter_size_mask, parameter_size); // argument size in words |
375 __ sll(parameter_size, Interpreter::logStackElementSize, parameter_size); // each argument size in bytes |
375 __ sll(parameter_size, Interpreter::logStackElementSize, parameter_size); // each argument size in bytes |
376 __ add(Lesp, parameter_size, Lesp); // pop arguments |
376 __ add(Lesp, parameter_size, Lesp); // pop arguments |
|
377 |
|
378 __ check_and_handle_popframe(Gtemp); |
|
379 __ check_and_handle_earlyret(Gtemp); |
|
380 |
377 __ dispatch_next(state, step); |
381 __ dispatch_next(state, step); |
378 |
382 |
379 return entry; |
383 return entry; |
380 } |
384 } |
381 |
385 |
464 __ dispatch_via(vtos, Interpreter::normal_table(vtos)); |
468 __ dispatch_via(vtos, Interpreter::normal_table(vtos)); |
465 return entry; |
469 return entry; |
466 } |
470 } |
467 |
471 |
468 |
472 |
469 address TemplateInterpreterGenerator::generate_continuation_for(TosState state) { |
|
470 address entry = __ pc(); |
|
471 __ dispatch_next(state); |
|
472 return entry; |
|
473 } |
|
474 |
|
475 // |
473 // |
476 // Helpers for commoning out cases in the various type of method entries. |
474 // Helpers for commoning out cases in the various type of method entries. |
477 // |
475 // |
478 |
476 |
479 // increment invocation count & check for overflow |
477 // increment invocation count & check for overflow |