8214352: C1: Unnecessary "compilation bailout: block join failed" with JVMTI

Invalidate Phi functions for conflicting types and avoid bailout.

Reviewed-by: kvn, iveresov
This commit is contained in:
Martin Doerr 2018-12-14 09:59:08 +01:00
parent 2932598566
commit b83df1e1fc
4 changed files with 17 additions and 10 deletions

View file

@ -1113,7 +1113,7 @@ void LIRGenerator::do_ExceptionObject(ExceptionObject* x) {
// 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));
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),