comparison src/cpu/ppc/vm/sharedRuntime_ppc.cpp @ 14436:b0133e4187d3

8028471: PPC64 (part 215): opto: Extend ImplicitNullCheck optimization. Summary: Fixed Implicit NULL check optimization for AIX, where the page at address '0' is only write-protected. Reviewed-by: kvn
author goetz
date Thu, 21 Nov 2013 18:29:34 -0800
parents cfd05ec74089
children 67fa91961822
comparison
equal deleted inserted replaced
14435:da862781b584 14436:b0133e4187d3
1126 Label call_interpreter; 1126 Label call_interpreter;
1127 1127
1128 assert(!MacroAssembler::needs_explicit_null_check(oopDesc::klass_offset_in_bytes()), 1128 assert(!MacroAssembler::needs_explicit_null_check(oopDesc::klass_offset_in_bytes()),
1129 "klass offset should reach into any page"); 1129 "klass offset should reach into any page");
1130 // Check for NULL argument if we don't have implicit null checks. 1130 // Check for NULL argument if we don't have implicit null checks.
1131 if (!ImplicitNullChecks NOT_LINUX(|| true) /*!os::zero_page_read_protected()*/) { 1131 if (!ImplicitNullChecks || !os::zero_page_read_protected()) {
1132 if (TrapBasedNullChecks) { 1132 if (TrapBasedNullChecks) {
1133 __ trap_null_check(R3_ARG1); 1133 __ trap_null_check(R3_ARG1);
1134 } else { 1134 } else {
1135 Label valid; 1135 Label valid;
1136 __ cmpdi(CCR0, R3_ARG1, 0); 1136 __ cmpdi(CCR0, R3_ARG1, 0);