comparison src/share/vm/c1/c1_LIR.cpp @ 1378:9f5b60a14736

6939930: exception unwind changes in 6919934 hurts compilation speed Reviewed-by: twisti
author never
date Thu, 15 Apr 2010 18:14:49 -0700
parents fc2c71045ada
children c18cbe5936b8 61b2245abf36
comparison
equal deleted inserted replaced
1377:ef74d6d1ac1e 1378:9f5b60a14736
624 do_output(op2->_result); 624 do_output(op2->_result);
625 625
626 break; 626 break;
627 } 627 }
628 628
629 case lir_throw: 629 case lir_throw: {
630 case lir_unwind: {
631 assert(op->as_Op2() != NULL, "must be"); 630 assert(op->as_Op2() != NULL, "must be");
632 LIR_Op2* op2 = (LIR_Op2*)op; 631 LIR_Op2* op2 = (LIR_Op2*)op;
633 632
634 if (op2->_info) do_info(op2->_info); 633 if (op2->_info) do_info(op2->_info);
635 if (op2->_opr1->is_valid()) do_temp(op2->_opr1); 634 if (op2->_opr1->is_valid()) do_temp(op2->_opr1);
636 if (op2->_opr2->is_valid()) do_input(op2->_opr2); // exception object is input parameter 635 if (op2->_opr2->is_valid()) do_input(op2->_opr2); // exception object is input parameter
637 assert(op2->_result->is_illegal(), "no result"); 636 assert(op2->_result->is_illegal(), "no result");
637
638 break;
639 }
640
641 case lir_unwind: {
642 assert(op->as_Op1() != NULL, "must be");
643 LIR_Op1* op1 = (LIR_Op1*)op;
644
645 assert(op1->_info == NULL, "no info");
646 assert(op1->_opr->is_valid(), "exception oop"); do_input(op1->_opr);
647 assert(op1->_result->is_illegal(), "no result");
638 648
639 break; 649 break;
640 } 650 }
641 651
642 652