--- a/hotspot/src/share/vm/opto/graphKit.cpp Fri Apr 08 01:00:10 2016 -0400
+++ b/hotspot/src/share/vm/opto/graphKit.cpp Fri Apr 08 12:36:27 2016 -0400
@@ -1191,11 +1191,6 @@
bool speculative) {
assert(!assert_null || null_control == NULL, "not both at once");
if (stopped()) return top();
- if (!GenerateCompilerNullChecks && !assert_null && null_control == NULL) {
- // For some performance testing, we may wish to suppress null checking.
- value = cast_not_null(value); // Make it appear to be non-null (4962416).
- return value;
- }
NOT_PRODUCT(explicit_null_checks_inserted++);
// Construct NULL check
@@ -1687,6 +1682,9 @@
const Type* elemtype = arytype->elem();
BasicType elembt = elemtype->array_element_basic_type();
Node* adr = array_element_address(ary, idx, elembt, arytype->size());
+ if (elembt == T_NARROWOOP) {
+ elembt = T_OBJECT; // To satisfy switch in LoadNode::make()
+ }
Node* ld = make_load(ctl, adr, elemtype, elembt, arytype, MemNode::unordered);
return ld;
}
@@ -3771,9 +3769,7 @@
add_predicate_impl(Deoptimization::Reason_predicate, nargs);
}
// loop's limit check predicate should be near the loop.
- if (LoopLimitCheck) {
- add_predicate_impl(Deoptimization::Reason_loop_limit_check, nargs);
- }
+ add_predicate_impl(Deoptimization::Reason_loop_limit_check, nargs);
}
//----------------------------- store barriers ----------------------------