Lines Matching defs:ptr
133 uint64_t Simulator::CalculatePACMask(uint64_t ptr, PointerType type, int ttbr) {
134 int bottom_pac_bit = GetBottomPACBit(ptr, ttbr);
135 int top_pac_bit = GetTopPACBit(ptr, type);
142 uint64_t Simulator::AuthPAC(uint64_t ptr,
148 uint64_t pac_mask = CalculatePACMask(ptr, type, (ptr >> 55) & 1);
150 ((ptr & kTTBRMask) == 0) ? (ptr & ~pac_mask) : (ptr | pac_mask);
155 if ((pac & pac_mask) == (ptr & pac_mask)) {
158 int error_lsb = GetTopPACBit(ptr, type) - 2;
164 uint64_t Simulator::AddPAC(uint64_t ptr,
168 int top_pac_bit = GetTopPACBit(ptr, type);
172 VIXL_ASSERT(HasTBI(ptr, type));
173 int ttbr = (ptr >> 55) & 1;
174 uint64_t pac_mask = CalculatePACMask(ptr, type, ttbr);
175 uint64_t ext_ptr = (ttbr == 0) ? (ptr & ~pac_mask) : (ptr | pac_mask);
181 if (((ptr & (pac_mask | kTTBRMask)) != 0x0) &&
182 ((~ptr & (pac_mask | kTTBRMask)) != 0x0)) {
187 return (pac & pac_mask) | ttbr_shifted | (ptr & ~pac_mask);
190 uint64_t Simulator::StripPAC(uint64_t ptr, PointerType type) {
191 uint64_t pac_mask = CalculatePACMask(ptr, type, (ptr >> 55) & 1);
192 return ((ptr & kTTBRMask) == 0) ? (ptr & ~pac_mask) : (ptr | pac_mask);