heap: Tolerate rosalloc allocation races in the heap visitor

When a new object is allocated by rosalloc, the fast path no longer
needs a memory barrier prior to being pushed to the object stack.

The heap visitor will check if the object's class is actually valid
(i.e. it's class's class is the ClassClass) and skip it otherwise.

This enables us to remove the DMB from the art_quick_alloc*initialized
entrypoints a follow-up CL for a speed-up.

Bug: 36656456
Bug: 36447861
Bug: 28790624
Change-Id: I28c75ce6828eba45529a6a12973181c9d616eb9f
1 file changed