Let the ZHeapIterator walk all roots, including weak roots that might be logically cleared from the application's point of view. This allows for a more thorough heap verification.
Also the heap iterator should access oops with AS_NO_KEEPALIVE to avoid resurrecting object that would otherwise be garbage collected.
Also the heap iterator should access oops with AS_NO_KEEPALIVE to avoid resurrecting object that would otherwise be garbage collected.