--- old/src/share/vm/c1/c1_LIRGenerator.cpp 2017-06-26 18:36:41.000000000 -0700 +++ new/src/share/vm/c1/c1_LIRGenerator.cpp 2017-06-26 18:36:41.000000000 -0700 @@ -394,7 +394,7 @@ void LIRGenerator::walk(Value instr) { InstructionMark im(compilation(), instr); //stop walk when encounter a root - if (instr->is_pinned() && instr->as_Phi() == NULL || instr->operand()->is_valid()) { + if ((instr->is_pinned() && instr->as_Phi() == NULL) || instr->operand()->is_valid()) { assert(instr->operand() != LIR_OprFact::illegalOpr || instr->as_Constant() != NULL, "this root has not yet been visited"); } else { assert(instr->subst() == instr, "shouldn't have missed substitution"); @@ -1434,6 +1434,8 @@ case T_OBJECT: if (c->as_jobject() != other->as_jobject()) continue; break; + default: + break; } return _reg_for_constants.at(i); } @@ -2804,6 +2806,8 @@ case T_CHAR: t = T_INT; break; + default: + break; } LIR_Opr dest = new_register(t);