--- a/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp Wed Jul 05 18:14:48 2017 -0700
+++ b/hotspot/src/share/vm/c1/c1_LIRGenerator.cpp Wed Jul 05 20:16:26 2017 -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);