Home | History | Annotate | Download | only in asan

Lines Matching refs:FakeStack

12 // FakeStack is used to detect use-after-return bugs.
45 FakeStack *FakeStack::Create(uptr stack_size_log) {
53 FakeStack *res = reinterpret_cast<FakeStack *>(
54 flags()->uar_noreserve ? MmapNoReserveOrDie(size, "FakeStack")
55 : MmapOrDie(size, "FakeStack"));
58 VReport(1, "T%d: FakeStack created: %p -- %p stack_size_log: %zd; "
61 p + FakeStack::RequiredSize(stack_size_log), stack_size_log,
66 void FakeStack::Destroy(int tid) {
73 Report("T%d: FakeStack destroyed: %s\n", tid, str.data());
80 void FakeStack::PoisonAll(u8 magic) {
88 FakeFrame *FakeStack::Allocate(uptr stack_size_log, uptr class_id,
116 uptr FakeStack::AddrIsInFakeStack(uptr ptr, uptr *frame_beg, uptr *frame_end) {
132 void FakeStack::HandleNoReturn() {
142 NOINLINE void FakeStack::GC(uptr real_stack) {
160 void FakeStack::ForEachFakeFrame(RangeIteratorCallback callback, void *arg) {
169 callback(begin, begin + FakeStack::BytesInSizeClass(class_id), arg);
175 static THREADLOCAL FakeStack *fake_stack_tls;
177 FakeStack *GetTLSFakeStack() {
180 void SetTLSFakeStack(FakeStack *fs) {
184 FakeStack *GetTLSFakeStack() { return 0; }
185 void SetTLSFakeStack(FakeStack *fs) { }
188 static FakeStack *GetFakeStack() {
194 static FakeStack *GetFakeStackFast() {
195 if (FakeStack *fs = GetTLSFakeStack())
203 FakeStack *fs = GetFakeStackFast();
215 FakeStack::Deallocate(ptr, class_id);
251 FakeStack *fs = reinterpret_cast<FakeStack*>(fake_stack);