Dictionary::verify() and JNIHandles::verify() currently do verification that is unnecessary and incorrect. It currently calls oopDesc::verify(), which not only checks the oop, but also steps out into the heap to verify the actual object and its fields. This is unnecessary because this is already taken care of by CollectedHeap::verify(). It's also incorrect, because when stepping out into the heap you need to ahead to various Barrier/GC restrictions, which the code currently doesn't do. To fix this, the verification done in Dictionary::verify() and JNIHandles::verify() should only check the oop, not the object and its fields.