comparison src/cpu/ppc/vm/nativeInst_ppc.hpp @ 14440:41b780b43b74

8029015: PPC64 (part 216): opto: trap based null and range checks Summary: On PPC64 use tdi instruction that does a compare and raises SIGTRAP for NULL and range checks. Reviewed-by: kvn
author goetz
date Wed, 27 Nov 2013 16:16:21 -0800
parents ec28f9c041ff
children 67fa91961822
comparison
equal deleted inserted replaced
14439:50fdb38839eb 14440:41b780b43b74
74 // Work around a C++ compiler bug which changes 'this'. 74 // Work around a C++ compiler bug which changes 'this'.
75 return NativeInstruction::is_sigill_zombie_not_entrant_at(addr_at(0)); 75 return NativeInstruction::is_sigill_zombie_not_entrant_at(addr_at(0));
76 } 76 }
77 static bool is_sigill_zombie_not_entrant_at(address addr); 77 static bool is_sigill_zombie_not_entrant_at(address addr);
78 78
79 #ifdef COMPILER2
79 // SIGTRAP-based implicit range checks 80 // SIGTRAP-based implicit range checks
80 bool is_sigtrap_range_check() { 81 bool is_sigtrap_range_check() {
81 assert(UseSIGTRAP && TrapBasedRangeChecks, "precondition"); 82 assert(UseSIGTRAP && TrapBasedRangeChecks, "precondition");
82 return MacroAssembler::is_trap_range_check(long_at(0)); 83 return MacroAssembler::is_trap_range_check(long_at(0));
83 } 84 }
85 #endif
84 86
85 // 'should not reach here'. 87 // 'should not reach here'.
86 bool is_sigtrap_should_not_reach_here() { 88 bool is_sigtrap_should_not_reach_here() {
87 return MacroAssembler::is_trap_should_not_reach_here(long_at(0)); 89 return MacroAssembler::is_trap_should_not_reach_here(long_at(0));
88 } 90 }