< prev index next >

src/hotspot/share/compiler/methodLiveness.cpp

Print this page

460 void MethodLiveness::BasicBlock::compute_gen_kill_range(ciBytecodeStream *bytes) {
461   _gen.clear();
462   _kill.clear();
463 
464   while (bytes->next() != ciBytecodeStream::EOBC()) {
465     compute_gen_kill_single(bytes);
466   }
467 }
468 
469 void MethodLiveness::BasicBlock::compute_gen_kill_single(ciBytecodeStream *instruction) {
470   // We prohibit _gen and _kill from having locals in common.  If we
471   // know that one is definitely going to be applied before the other,
472   // we could save some computation time by relaxing this prohibition.
473 
474   switch (instruction->cur_bc()) {
475     case Bytecodes::_nop:
476     case Bytecodes::_goto:
477     case Bytecodes::_goto_w:
478     case Bytecodes::_aconst_null:
479     case Bytecodes::_new:


480     case Bytecodes::_iconst_m1:
481     case Bytecodes::_iconst_0:
482     case Bytecodes::_iconst_1:
483     case Bytecodes::_iconst_2:
484     case Bytecodes::_iconst_3:
485     case Bytecodes::_iconst_4:
486     case Bytecodes::_iconst_5:
487     case Bytecodes::_fconst_0:
488     case Bytecodes::_fconst_1:
489     case Bytecodes::_fconst_2:
490     case Bytecodes::_bipush:
491     case Bytecodes::_sipush:
492     case Bytecodes::_lconst_0:
493     case Bytecodes::_lconst_1:
494     case Bytecodes::_dconst_0:
495     case Bytecodes::_dconst_1:
496     case Bytecodes::_ldc2_w:
497     case Bytecodes::_ldc:
498     case Bytecodes::_ldc_w:
499     case Bytecodes::_iaload:

460 void MethodLiveness::BasicBlock::compute_gen_kill_range(ciBytecodeStream *bytes) {
461   _gen.clear();
462   _kill.clear();
463 
464   while (bytes->next() != ciBytecodeStream::EOBC()) {
465     compute_gen_kill_single(bytes);
466   }
467 }
468 
469 void MethodLiveness::BasicBlock::compute_gen_kill_single(ciBytecodeStream *instruction) {
470   // We prohibit _gen and _kill from having locals in common.  If we
471   // know that one is definitely going to be applied before the other,
472   // we could save some computation time by relaxing this prohibition.
473 
474   switch (instruction->cur_bc()) {
475     case Bytecodes::_nop:
476     case Bytecodes::_goto:
477     case Bytecodes::_goto_w:
478     case Bytecodes::_aconst_null:
479     case Bytecodes::_new:
480     case Bytecodes::_defaultvalue:
481     case Bytecodes::_withfield:
482     case Bytecodes::_iconst_m1:
483     case Bytecodes::_iconst_0:
484     case Bytecodes::_iconst_1:
485     case Bytecodes::_iconst_2:
486     case Bytecodes::_iconst_3:
487     case Bytecodes::_iconst_4:
488     case Bytecodes::_iconst_5:
489     case Bytecodes::_fconst_0:
490     case Bytecodes::_fconst_1:
491     case Bytecodes::_fconst_2:
492     case Bytecodes::_bipush:
493     case Bytecodes::_sipush:
494     case Bytecodes::_lconst_0:
495     case Bytecodes::_lconst_1:
496     case Bytecodes::_dconst_0:
497     case Bytecodes::_dconst_1:
498     case Bytecodes::_ldc2_w:
499     case Bytecodes::_ldc:
500     case Bytecodes::_ldc_w:
501     case Bytecodes::_iaload:
< prev index next >