comparison src/cpu/ppc/vm/vtableStubs_ppc_64.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 eb178e97560c
children 67fa91961822
comparison
equal deleted inserted replaced
14435:da862781b584 14436:b0133e4187d3
219 // If the vtable entry is null, the method is abstract. 219 // If the vtable entry is null, the method is abstract.
220 address ame_addr = __ pc(); // ame = abstract method error 220 address ame_addr = __ pc(); // ame = abstract method error
221 221
222 // Must do an explicit check if implicit checks are disabled. 222 // Must do an explicit check if implicit checks are disabled.
223 assert(!MacroAssembler::needs_explicit_null_check(in_bytes(Method::from_compiled_offset())), "sanity"); 223 assert(!MacroAssembler::needs_explicit_null_check(in_bytes(Method::from_compiled_offset())), "sanity");
224 if (!ImplicitNullChecks NOT_LINUX(|| true) /*!os::zero_page_read_protected()*/) { 224 if (!ImplicitNullChecks || !os::zero_page_read_protected()) {
225 if (TrapBasedNullChecks) { 225 if (TrapBasedNullChecks) {
226 __ trap_null_check(R19_method); 226 __ trap_null_check(R19_method);
227 } else { 227 } else {
228 __ cmpdi(CCR0, R19_method, 0); 228 __ cmpdi(CCR0, R19_method, 0);
229 __ beq(CCR0, throw_icce); 229 __ beq(CCR0, throw_icce);