Mercurial > hg > graal-jvmci-8
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 } |