Mercurial > hg > graal-compiler
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); |