[RemoteMirror] Add a call for iterating over the allocations belonging to an AsyncTask.

rdar://72907056
This commit is contained in:
Mike Ash
2021-02-09 17:18:30 -05:00
parent 22acb2fc9f
commit 31f68b1687
8 changed files with 210 additions and 3 deletions

View File

@@ -60,6 +60,40 @@ template <typename Runtime> struct ConformanceCacheEntry {
typename Runtime::StoredPointer Witness;
};
template <typename Runtime>
struct HeapObject {
typename Runtime::StoredPointer Metadata;
typename Runtime::StoredSize RefCounts;
};
template <typename Runtime>
struct Job {
typename Runtime::StoredPointer Opaque[4];
};
template <typename Runtime>
struct StackAllocator {
typename Runtime::StoredPointer LastAllocation;
typename Runtime::StoredPointer FirstSlab;
int32_t NumAllocatedSlabs;
bool FirstSlabIsPreallocated;
struct Slab {
typename Runtime::StoredPointer Next;
uint32_t Capacity;
uint32_t CurrentOffset;
};
};
template <typename Runtime>
struct AsyncTask {
HeapObject<Runtime> HeapObject;
Job<Runtime> Job;
typename Runtime::StoredPointer ResumeContext;
typename Runtime::StoredSize Status;
typename Runtime::StoredPointer AllocatorPrivate[4];
};
} // end namespace reflection
} // end namespace swift