< prev index next >

src/hotspot/share/compiler/methodLiveness.cpp

Print this page

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


474     case Bytecodes::_iconst_m1:
475     case Bytecodes::_iconst_0:
476     case Bytecodes::_iconst_1:
477     case Bytecodes::_iconst_2:
478     case Bytecodes::_iconst_3:
479     case Bytecodes::_iconst_4:
480     case Bytecodes::_iconst_5:
481     case Bytecodes::_fconst_0:
482     case Bytecodes::_fconst_1:
483     case Bytecodes::_fconst_2:
484     case Bytecodes::_bipush:
485     case Bytecodes::_sipush:
486     case Bytecodes::_lconst_0:
487     case Bytecodes::_lconst_1:
488     case Bytecodes::_dconst_0:
489     case Bytecodes::_dconst_1:
490     case Bytecodes::_ldc2_w:
491     case Bytecodes::_ldc:
492     case Bytecodes::_ldc_w:
493     case Bytecodes::_iaload:

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