Home | History | Annotate | Download | only in sanitizer_common

Lines Matching full:uptr

33   uptr size;
34 uptr stack[1]; // [size]
51 static u32 hash(const uptr *stack, uptr size) {
56 u32 h = seed ^ (size * sizeof(uptr));
57 for (uptr i = 0; i < size; i++) {
71 static StackDesc *tryallocDesc(uptr memsz) {
74 uptr cmp = atomic_load(&depot.region_pos, memory_order_acquire);
75 uptr end = atomic_load(&depot.region_end, memory_order_acquire);
85 static StackDesc *allocDesc(uptr size) {
87 uptr memsz = sizeof(StackDesc) + (size - 1) * sizeof(uptr);
98 uptr allocsz = 64 * 1024;
101 uptr mem = (uptr)MmapOrDie(allocsz, "stack depot");
108 static u32 find(StackDesc *s, const uptr *stack, uptr size, u32 hash) {
112 uptr i = 0;
127 uptr cmp = atomic_load(p, memory_order_relaxed);
140 DCHECK_EQ((uptr)s & 1, 0);
141 atomic_store(p, (uptr)s, memory_order_release);
144 u32 StackDepotPut(const uptr *stack, uptr size) {
147 uptr h = hash(stack, size);
149 uptr v = atomic_load(p, memory_order_consume);
164 uptr part = (h % kTabSize) / kPartSize;
175 internal_memcpy(s->stack, stack, size * sizeof(uptr));
181 const uptr *StackDepotGet(u32 id, uptr *size) {
186 uptr part = id >> kPartShift;
188 uptr idx = part * kPartSize + i;
191 uptr v = atomic_load(p, memory_order_consume);