--- a/hotspot/src/share/vm/opto/callGenerator.cpp Thu Nov 21 12:30:35 2013 -0800
+++ b/hotspot/src/share/vm/opto/callGenerator.cpp Thu Nov 21 18:29:34 2013 -0800
@@ -201,7 +201,7 @@
// Block::implicit_null_check() only looks for loads and stores, not calls.
ciMethod *caller = kit.method();
ciMethodData *caller_md = (caller == NULL) ? NULL : caller->method_data();
- if (!UseInlineCaches || !ImplicitNullChecks ||
+ if (!UseInlineCaches || !ImplicitNullChecks || !os::zero_page_read_protected() ||
((ImplicitNullCheckThreshold > 0) && caller_md &&
(caller_md->trap_count(Deoptimization::Reason_null_check)
>= (uint)ImplicitNullCheckThreshold))) {