Fix allocation tracking race
Check if changed from uninstrumented to instrumented during GC for
alloc. If we changed, retry the allocation with kInstrumented = true.
Added stress test.
Bug: 27337759
Change-Id: Iaad7977693c9ed927f779a66b29cd58341a837da
diff --git a/runtime/gc/heap.h b/runtime/gc/heap.h
index 6edb548..46dce04 100644
--- a/runtime/gc/heap.h
+++ b/runtime/gc/heap.h
@@ -865,6 +865,7 @@
// an initial allocation attempt failed.
mirror::Object* AllocateInternalWithGc(Thread* self,
AllocatorType allocator,
+ bool instrumented,
size_t num_bytes,
size_t* bytes_allocated,
size_t* usable_size,