--- old/src/hotspot/share/opto/idealKit.cpp 2019-03-11 14:26:44.126354630 +0100 +++ new/src/hotspot/share/opto/idealKit.cpp 2019-03-11 14:26:43.918354633 +0100 @@ -48,7 +48,6 @@ _cvstate = NULL; // We can go memory state free or else we need the entire memory state assert(_initial_memory == NULL || _initial_memory->Opcode() == Op_MergeMem, "memory must be pre-split"); - assert(!_gvn.is_IterGVN(), "IdealKit can't be used during Optimize phase"); int init_size = 5; _pending_cvstates = new (C->node_arena()) GrowableArray(C->node_arena(), init_size, 0, 0); DEBUG_ONLY(_state = new (C->node_arena()) GrowableArray(C->node_arena(), init_size, 0, 0)); @@ -296,7 +295,7 @@ return delay_transform(n); } else { n = gvn().transform(n); - C->record_for_igvn(n); + gvn().record_for_igvn(n); return n; } } @@ -305,7 +304,7 @@ Node* IdealKit::delay_transform(Node* n) { // Delay transform until IterativeGVN gvn().set_type(n, n->bottom_type()); - C->record_for_igvn(n); + gvn().record_for_igvn(n); return n; } @@ -533,8 +532,8 @@ assert(C->alias_type(call->adr_type()) == C->alias_type(adr_type), "call node must be constructed correctly"); Node* res = NULL; - if (slow_call_type->range()->cnt() > TypeFunc::Parms) { - assert(slow_call_type->range()->cnt() == TypeFunc::Parms+1, "only one return value"); + if (slow_call_type->range_sig()->cnt() > TypeFunc::Parms) { + assert(slow_call_type->range_sig()->cnt() == TypeFunc::Parms+1, "only one return value"); res = transform(new ProjNode(call, TypeFunc::Parms)); } return res;