436 case lir_membar_storeload: // result and info always invalid
437 case lir_on_spin_wait:
438 {
439 assert(op->as_Op0() != NULL, "must be");
440 assert(op->_info == NULL, "info not used by this instruction");
441 assert(op->_result->is_illegal(), "not used");
442 break;
443 }
444
445 case lir_nop: // may have info, result always invalid
446 case lir_std_entry: // may have result, info always invalid
447 case lir_osr_entry: // may have result, info always invalid
448 case lir_get_thread: // may have result, info always invalid
449 {
450 assert(op->as_Op0() != NULL, "must be");
451 if (op->_info != NULL) do_info(op->_info);
452 if (op->_result->is_valid()) do_output(op->_result);
453 break;
454 }
455
456
457 // LIR_OpLabel
458 case lir_label: // result and info always invalid
459 {
460 assert(op->as_OpLabel() != NULL, "must be");
461 assert(op->_info == NULL, "info not used by this instruction");
462 assert(op->_result->is_illegal(), "not used");
463 break;
464 }
465
466
467 // LIR_Op1
468 case lir_fxch: // input always valid, result and info always invalid
469 case lir_fld: // input always valid, result and info always invalid
470 case lir_ffree: // input always valid, result and info always invalid
471 case lir_push: // input always valid, result and info always invalid
472 case lir_pop: // input always valid, result and info always invalid
473 case lir_return: // input always valid, result and info always invalid
474 case lir_leal: // input and result always valid, info always invalid
475 case lir_neg: // input and result always valid, info always invalid
1659 case lir_ffree: s = "ffree"; break;
1660 case lir_push: s = "push"; break;
1661 case lir_pop: s = "pop"; break;
1662 case lir_null_check: s = "null_check"; break;
1663 case lir_return: s = "return"; break;
1664 case lir_safepoint: s = "safepoint"; break;
1665 case lir_neg: s = "neg"; break;
1666 case lir_leal: s = "leal"; break;
1667 case lir_branch: s = "branch"; break;
1668 case lir_cond_float_branch: s = "flt_cond_br"; break;
1669 case lir_move: s = "move"; break;
1670 case lir_roundfp: s = "roundfp"; break;
1671 case lir_rtcall: s = "rtcall"; break;
1672 case lir_throw: s = "throw"; break;
1673 case lir_unwind: s = "unwind"; break;
1674 case lir_convert: s = "convert"; break;
1675 case lir_alloc_object: s = "alloc_obj"; break;
1676 case lir_monaddr: s = "mon_addr"; break;
1677 case lir_pack64: s = "pack64"; break;
1678 case lir_unpack64: s = "unpack64"; break;
1679 // LIR_Op2
1680 case lir_cmp: s = "cmp"; break;
1681 case lir_cmp_l2i: s = "cmp_l2i"; break;
1682 case lir_ucmp_fd2i: s = "ucomp_fd2i"; break;
1683 case lir_cmp_fd2i: s = "comp_fd2i"; break;
1684 case lir_cmove: s = "cmove"; break;
1685 case lir_add: s = "add"; break;
1686 case lir_sub: s = "sub"; break;
1687 case lir_mul: s = "mul"; break;
1688 case lir_mul_strictfp: s = "mul_strictfp"; break;
1689 case lir_div: s = "div"; break;
1690 case lir_div_strictfp: s = "div_strictfp"; break;
1691 case lir_rem: s = "rem"; break;
1692 case lir_abs: s = "abs"; break;
1693 case lir_sqrt: s = "sqrt"; break;
1694 case lir_logic_and: s = "logic_and"; break;
1695 case lir_logic_or: s = "logic_or"; break;
1696 case lir_logic_xor: s = "logic_xor"; break;
1697 case lir_shl: s = "shift_left"; break;
1698 case lir_shr: s = "shift_right"; break;
|
436 case lir_membar_storeload: // result and info always invalid
437 case lir_on_spin_wait:
438 {
439 assert(op->as_Op0() != NULL, "must be");
440 assert(op->_info == NULL, "info not used by this instruction");
441 assert(op->_result->is_illegal(), "not used");
442 break;
443 }
444
445 case lir_nop: // may have info, result always invalid
446 case lir_std_entry: // may have result, info always invalid
447 case lir_osr_entry: // may have result, info always invalid
448 case lir_get_thread: // may have result, info always invalid
449 {
450 assert(op->as_Op0() != NULL, "must be");
451 if (op->_info != NULL) do_info(op->_info);
452 if (op->_result->is_valid()) do_output(op->_result);
453 break;
454 }
455
456 case lir_getfp: // result always valid
457 case lir_getsp: // result always valid
458 {
459 assert(op->as_Op0() != NULL, "must be");
460 if (op->_info) do_info(op->_info);
461 if (op->_result->is_valid()) do_output(op->_result);
462 break;
463 }
464
465
466
467 // LIR_OpLabel
468 case lir_label: // result and info always invalid
469 {
470 assert(op->as_OpLabel() != NULL, "must be");
471 assert(op->_info == NULL, "info not used by this instruction");
472 assert(op->_result->is_illegal(), "not used");
473 break;
474 }
475
476
477 // LIR_Op1
478 case lir_fxch: // input always valid, result and info always invalid
479 case lir_fld: // input always valid, result and info always invalid
480 case lir_ffree: // input always valid, result and info always invalid
481 case lir_push: // input always valid, result and info always invalid
482 case lir_pop: // input always valid, result and info always invalid
483 case lir_return: // input always valid, result and info always invalid
484 case lir_leal: // input and result always valid, info always invalid
485 case lir_neg: // input and result always valid, info always invalid
1669 case lir_ffree: s = "ffree"; break;
1670 case lir_push: s = "push"; break;
1671 case lir_pop: s = "pop"; break;
1672 case lir_null_check: s = "null_check"; break;
1673 case lir_return: s = "return"; break;
1674 case lir_safepoint: s = "safepoint"; break;
1675 case lir_neg: s = "neg"; break;
1676 case lir_leal: s = "leal"; break;
1677 case lir_branch: s = "branch"; break;
1678 case lir_cond_float_branch: s = "flt_cond_br"; break;
1679 case lir_move: s = "move"; break;
1680 case lir_roundfp: s = "roundfp"; break;
1681 case lir_rtcall: s = "rtcall"; break;
1682 case lir_throw: s = "throw"; break;
1683 case lir_unwind: s = "unwind"; break;
1684 case lir_convert: s = "convert"; break;
1685 case lir_alloc_object: s = "alloc_obj"; break;
1686 case lir_monaddr: s = "mon_addr"; break;
1687 case lir_pack64: s = "pack64"; break;
1688 case lir_unpack64: s = "unpack64"; break;
1689 case lir_getsp: s = "getsp"; break;
1690 case lir_getfp: s = "getfp"; break;
1691 // LIR_Op2
1692 case lir_cmp: s = "cmp"; break;
1693 case lir_cmp_l2i: s = "cmp_l2i"; break;
1694 case lir_ucmp_fd2i: s = "ucomp_fd2i"; break;
1695 case lir_cmp_fd2i: s = "comp_fd2i"; break;
1696 case lir_cmove: s = "cmove"; break;
1697 case lir_add: s = "add"; break;
1698 case lir_sub: s = "sub"; break;
1699 case lir_mul: s = "mul"; break;
1700 case lir_mul_strictfp: s = "mul_strictfp"; break;
1701 case lir_div: s = "div"; break;
1702 case lir_div_strictfp: s = "div_strictfp"; break;
1703 case lir_rem: s = "rem"; break;
1704 case lir_abs: s = "abs"; break;
1705 case lir_sqrt: s = "sqrt"; break;
1706 case lir_logic_and: s = "logic_and"; break;
1707 case lir_logic_or: s = "logic_or"; break;
1708 case lir_logic_xor: s = "logic_xor"; break;
1709 case lir_shl: s = "shift_left"; break;
1710 case lir_shr: s = "shift_right"; break;
|