--- old/src/share/vm/opto/loopPredicate.cpp 2016-07-11 22:46:32.446426638 +0900 +++ new/src/share/vm/opto/loopPredicate.cpp 2016-07-11 22:46:32.310427114 +0900 @@ -92,7 +92,7 @@ // This code is also used to clone predicates to cloned loops. ProjNode* PhaseIdealLoop::create_new_if_for_predicate(ProjNode* cont_proj, Node* new_entry, Deoptimization::DeoptReason reason, - int opcode) { + Opcodes opcode) { assert(cont_proj->is_uncommon_trap_if_pattern(reason), "must be a uct if pattern!"); IfNode* iff = cont_proj->in(0)->as_If(); @@ -135,10 +135,10 @@ // Create new_iff IdealLoopTree* lp = get_loop(entry); IfNode* new_iff = NULL; - if (opcode == Op_If) { + if (opcode == Opcodes::Op_If) { new_iff = new IfNode(entry, iff->in(1), iff->_prob, iff->_fcnt); } else { - assert(opcode == Op_RangeCheck, "no other if variant here"); + assert(opcode == Opcodes::Op_RangeCheck, "no other if variant here"); new_iff = new RangeCheckNode(entry, iff->in(1), iff->_prob, iff->_fcnt); } register_control(new_iff, lp, entry); @@ -190,7 +190,7 @@ // Create a new if below new_entry for the predicate to be cloned (IGVN optimization) ProjNode* PhaseIterGVN::create_new_if_for_predicate(ProjNode* cont_proj, Node* new_entry, Deoptimization::DeoptReason reason, - int opcode) { + Opcodes opcode) { assert(new_entry != 0, "only used for clone predicate"); assert(cont_proj->is_uncommon_trap_if_pattern(reason), "must be a uct if pattern!"); IfNode* iff = cont_proj->in(0)->as_If(); @@ -216,10 +216,10 @@ // Create new_iff in new location. IfNode* new_iff = NULL; - if (opcode == Op_If) { + if (opcode == Opcodes::Op_If) { new_iff = new IfNode(new_entry, iff->in(1), iff->_prob, iff->_fcnt); } else { - assert(opcode == Op_RangeCheck, "no other if variant here"); + assert(opcode == Opcodes::Op_RangeCheck, "no other if variant here"); new_iff = new RangeCheckNode(new_entry, iff->in(1), iff->_prob, iff->_fcnt); } @@ -261,15 +261,15 @@ PhaseIterGVN* igvn) { ProjNode* new_predicate_proj; if (loop_phase != NULL) { - new_predicate_proj = loop_phase->create_new_if_for_predicate(predicate_proj, new_entry, reason, Op_If); + new_predicate_proj = loop_phase->create_new_if_for_predicate(predicate_proj, new_entry, reason, Opcodes::Op_If); } else { - new_predicate_proj = igvn->create_new_if_for_predicate(predicate_proj, new_entry, reason, Op_If); + new_predicate_proj = igvn->create_new_if_for_predicate(predicate_proj, new_entry, reason, Opcodes::Op_If); } IfNode* iff = new_predicate_proj->in(0)->as_If(); Node* ctrl = iff->in(0); // Match original condition since predicate's projections could be swapped. - assert(predicate_proj->in(0)->in(1)->in(1)->Opcode()==Op_Opaque1, "must be"); + assert(predicate_proj->in(0)->in(1)->in(1)->Opcode()==Opcodes::Op_Opaque1, "must be"); Node* opq = new Opaque1Node(igvn->C, predicate_proj->in(0)->in(1)->in(1)->in(1)); igvn->C->add_predicate_opaq(opq); @@ -583,11 +583,11 @@ return false; } const CmpNode *cmp = bol->in(1)->as_Cmp(); - if (cmp->Opcode() != Op_CmpU) { + if (cmp->Opcode() != Opcodes::Op_CmpU) { return false; } Node* range = cmp->in(2); - if (range->Opcode() != Op_LoadRange && !iff->is_RangeCheck()) { + if (range->Opcode() != Opcodes::Op_LoadRange && !iff->is_RangeCheck()) { const TypeInt* tint = phase->_igvn.type(range)->isa_int(); if (tint == NULL || tint->empty() || tint->_lo < 0) { // Allow predication on positive values that aren't LoadRanges. @@ -690,7 +690,7 @@ } LoopNode* head = loop->_head->as_Loop(); - if (head->unique_ctrl_out()->Opcode() == Op_NeverBranch) { + if (head->unique_ctrl_out()->Opcode() == Opcodes::Op_NeverBranch) { // do nothing for infinite loops return false; } @@ -736,8 +736,8 @@ while (current_proj != head) { if (loop == get_loop(current_proj) && // still in the loop ? current_proj->is_Proj() && // is a projection ? - (current_proj->in(0)->Opcode() == Op_If || - current_proj->in(0)->Opcode() == Op_RangeCheck)) { // is a if projection ? + (current_proj->in(0)->Opcode() == Opcodes::Op_If || + current_proj->in(0)->Opcode() == Opcodes::Op_RangeCheck)) { // is a if projection ? if_proj_list.push(current_proj); } current_proj = idom(current_proj); @@ -806,7 +806,7 @@ Node* idx = cmp->in(1); assert(!invar.is_invariant(idx), "index is variant"); Node* rng = cmp->in(2); - assert(rng->Opcode() == Op_LoadRange || _igvn.type(rng)->is_int() >= 0, "must be"); + assert(rng->Opcode() == Opcodes::Op_LoadRange || _igvn.type(rng)->is_int() >= 0, "must be"); assert(invar.is_invariant(rng), "range must be invariant"); int scale = 1; Node* offset = zero;