src/share/vm/c1/c1_LIR.cpp

Print this page




 447 // switch that adds the operands for each instruction
 448 
 449 void LIR_OpVisitState::visit(LIR_Op* op) {
 450   // copy information from the LIR_Op
 451   reset();
 452   set_op(op);
 453 
 454   switch (op->code()) {
 455 
 456 // LIR_Op0
 457     case lir_word_align:               // result and info always invalid
 458     case lir_backwardbranch_target:    // result and info always invalid
 459     case lir_build_frame:              // result and info always invalid
 460     case lir_fpop_raw:                 // result and info always invalid
 461     case lir_24bit_FPU:                // result and info always invalid
 462     case lir_reset_FPU:                // result and info always invalid
 463     case lir_breakpoint:               // result and info always invalid
 464     case lir_membar:                   // result and info always invalid
 465     case lir_membar_acquire:           // result and info always invalid
 466     case lir_membar_release:           // result and info always invalid




 467     {
 468       assert(op->as_Op0() != NULL, "must be");
 469       assert(op->_info == NULL, "info not used by this instruction");
 470       assert(op->_result->is_illegal(), "not used");
 471       break;
 472     }
 473 
 474     case lir_nop:                      // may have info, result always invalid
 475     case lir_std_entry:                // may have result, info always invalid
 476     case lir_osr_entry:                // may have result, info always invalid
 477     case lir_get_thread:               // may have result, info always invalid
 478     {
 479       assert(op->as_Op0() != NULL, "must be");
 480       if (op->_info != NULL)           do_info(op->_info);
 481       if (op->_result->is_valid())     do_output(op->_result);
 482       break;
 483     }
 484 
 485 
 486 // LIR_OpLabel


1590   } else {
1591     out->print("     ");
1592   }
1593   out->print(name()); out->print(" ");
1594   print_instr(out);
1595   if (info() != NULL) out->print(" [bci:%d]", info()->stack()->bci());
1596 #ifdef ASSERT
1597   if (Verbose && _file != NULL) {
1598     out->print(" (%s:%d)", _file, _line);
1599   }
1600 #endif
1601 }
1602 
1603 const char * LIR_Op::name() const {
1604   const char* s = NULL;
1605   switch(code()) {
1606      // LIR_Op0
1607      case lir_membar:                s = "membar";        break;
1608      case lir_membar_acquire:        s = "membar_acquire"; break;
1609      case lir_membar_release:        s = "membar_release"; break;




1610      case lir_word_align:            s = "word_align";    break;
1611      case lir_label:                 s = "label";         break;
1612      case lir_nop:                   s = "nop";           break;
1613      case lir_backwardbranch_target: s = "backbranch";    break;
1614      case lir_std_entry:             s = "std_entry";     break;
1615      case lir_osr_entry:             s = "osr_entry";     break;
1616      case lir_build_frame:           s = "build_frm";     break;
1617      case lir_fpop_raw:              s = "fpop_raw";      break;
1618      case lir_24bit_FPU:             s = "24bit_FPU";     break;
1619      case lir_reset_FPU:             s = "reset_FPU";     break;
1620      case lir_breakpoint:            s = "breakpoint";    break;
1621      case lir_get_thread:            s = "get_thread";    break;
1622      // LIR_Op1
1623      case lir_fxch:                  s = "fxch";          break;
1624      case lir_fld:                   s = "fld";           break;
1625      case lir_ffree:                 s = "ffree";         break;
1626      case lir_push:                  s = "push";          break;
1627      case lir_pop:                   s = "pop";           break;
1628      case lir_null_check:            s = "null_check";    break;
1629      case lir_return:                s = "return";        break;




 447 // switch that adds the operands for each instruction
 448 
 449 void LIR_OpVisitState::visit(LIR_Op* op) {
 450   // copy information from the LIR_Op
 451   reset();
 452   set_op(op);
 453 
 454   switch (op->code()) {
 455 
 456 // LIR_Op0
 457     case lir_word_align:               // result and info always invalid
 458     case lir_backwardbranch_target:    // result and info always invalid
 459     case lir_build_frame:              // result and info always invalid
 460     case lir_fpop_raw:                 // result and info always invalid
 461     case lir_24bit_FPU:                // result and info always invalid
 462     case lir_reset_FPU:                // result and info always invalid
 463     case lir_breakpoint:               // result and info always invalid
 464     case lir_membar:                   // result and info always invalid
 465     case lir_membar_acquire:           // result and info always invalid
 466     case lir_membar_release:           // result and info always invalid
 467     case lir_membar_loadload:          // result and info always invalid
 468     case lir_membar_storestore:        // result and info always invalid
 469     case lir_membar_loadstore:         // result and info always invalid
 470     case lir_membar_storeload:         // result and info always invalid
 471     {
 472       assert(op->as_Op0() != NULL, "must be");
 473       assert(op->_info == NULL, "info not used by this instruction");
 474       assert(op->_result->is_illegal(), "not used");
 475       break;
 476     }
 477 
 478     case lir_nop:                      // may have info, result always invalid
 479     case lir_std_entry:                // may have result, info always invalid
 480     case lir_osr_entry:                // may have result, info always invalid
 481     case lir_get_thread:               // may have result, info always invalid
 482     {
 483       assert(op->as_Op0() != NULL, "must be");
 484       if (op->_info != NULL)           do_info(op->_info);
 485       if (op->_result->is_valid())     do_output(op->_result);
 486       break;
 487     }
 488 
 489 
 490 // LIR_OpLabel


1594   } else {
1595     out->print("     ");
1596   }
1597   out->print(name()); out->print(" ");
1598   print_instr(out);
1599   if (info() != NULL) out->print(" [bci:%d]", info()->stack()->bci());
1600 #ifdef ASSERT
1601   if (Verbose && _file != NULL) {
1602     out->print(" (%s:%d)", _file, _line);
1603   }
1604 #endif
1605 }
1606 
1607 const char * LIR_Op::name() const {
1608   const char* s = NULL;
1609   switch(code()) {
1610      // LIR_Op0
1611      case lir_membar:                s = "membar";        break;
1612      case lir_membar_acquire:        s = "membar_acquire"; break;
1613      case lir_membar_release:        s = "membar_release"; break;
1614      case lir_membar_loadload:       s = "membar_loadload";   break;
1615      case lir_membar_storestore:     s = "membar_storestore"; break;
1616      case lir_membar_loadstore:      s = "membar_loadstore";  break;
1617      case lir_membar_storeload:      s = "membar_storeload";  break;
1618      case lir_word_align:            s = "word_align";    break;
1619      case lir_label:                 s = "label";         break;
1620      case lir_nop:                   s = "nop";           break;
1621      case lir_backwardbranch_target: s = "backbranch";    break;
1622      case lir_std_entry:             s = "std_entry";     break;
1623      case lir_osr_entry:             s = "osr_entry";     break;
1624      case lir_build_frame:           s = "build_frm";     break;
1625      case lir_fpop_raw:              s = "fpop_raw";      break;
1626      case lir_24bit_FPU:             s = "24bit_FPU";     break;
1627      case lir_reset_FPU:             s = "reset_FPU";     break;
1628      case lir_breakpoint:            s = "breakpoint";    break;
1629      case lir_get_thread:            s = "get_thread";    break;
1630      // LIR_Op1
1631      case lir_fxch:                  s = "fxch";          break;
1632      case lir_fld:                   s = "fld";           break;
1633      case lir_ffree:                 s = "ffree";         break;
1634      case lir_push:                  s = "push";          break;
1635      case lir_pop:                   s = "pop";           break;
1636      case lir_null_check:            s = "null_check";    break;
1637      case lir_return:                s = "return";        break;