< prev index next >

src/hotspot/share/c1/c1_LIRGenerator.cpp

Print this page
rev 52693 : 8214352: C1: Unnecessary "compilation bailout: block join failed" with JVMTI
Summary: Invalidate Phi functions for conflicting types and avoid bailout.
Reviewed-by:

*** 1111,1121 **** assert(block()->next() == x, "ExceptionObject must be first instruction of block"); // no moves are created for phi functions at the begin of exception // handlers, so assign operands manually here for_each_phi_fun(block(), phi, ! operand_for_instruction(phi)); LIR_Opr thread_reg = getThreadPointer(); __ move_wide(new LIR_Address(thread_reg, in_bytes(JavaThread::exception_oop_offset()), T_OBJECT), exceptionOopOpr()); __ move_wide(LIR_OprFact::oopConst(NULL), --- 1111,1121 ---- assert(block()->next() == x, "ExceptionObject must be first instruction of block"); // no moves are created for phi functions at the begin of exception // handlers, so assign operands manually here for_each_phi_fun(block(), phi, ! if (!phi->is_illegal()) { operand_for_instruction(phi); }); LIR_Opr thread_reg = getThreadPointer(); __ move_wide(new LIR_Address(thread_reg, in_bytes(JavaThread::exception_oop_offset()), T_OBJECT), exceptionOopOpr()); __ move_wide(LIR_OprFact::oopConst(NULL),
< prev index next >