Lines Matching defs:ptr
211 uint64_t Simulator::CalculatePACMask(uint64_t ptr, PointerType type, int ttbr) {
212 int bottom_pac_bit = GetBottomPACBit(ptr, ttbr);
213 int top_pac_bit = GetTopPACBit(ptr, type);
219 uint64_t Simulator::AuthPAC(uint64_t ptr, uint64_t context, PACKey key,
223 uint64_t pac_mask = CalculatePACMask(ptr, type, (ptr >> 55) & 1);
225 ((ptr & kTTBRMask) == 0) ? (ptr & ~pac_mask) : (ptr | pac_mask);
230 if ((pac & pac_mask) == (ptr & pac_mask)) {
233 int error_lsb = GetTopPACBit(ptr, type) - 2;
242 uint64_t Simulator::AddPAC(uint64_t ptr, uint64_t context, PACKey key,
244 int top_pac_bit = GetTopPACBit(ptr, type);
246 DCHECK(HasTBI(ptr, type));
247 int ttbr = (ptr >> 55) & 1;
248 uint64_t pac_mask = CalculatePACMask(ptr, type, ttbr);
249 uint64_t ext_ptr = (ttbr == 0) ? (ptr & ~pac_mask) : (ptr | pac_mask);
255 if (((ptr & (pac_mask | kTTBRMask)) != 0x0) &&
256 ((~ptr & (pac_mask | kTTBRMask)) != 0x0)) {
261 return (pac & pac_mask) | ttbr_shifted | (ptr & ~pac_mask);
264 uint64_t Simulator::StripPAC(uint64_t ptr, PointerType type) {
265 uint64_t pac_mask = CalculatePACMask(ptr, type, (ptr >> 55) & 1);
266 return ((ptr & kTTBRMask) == 0) ? (ptr & ~pac_mask) : (ptr | pac_mask);