equal
deleted
inserted
replaced
350 // this invalid oop through the normal barrier path, which would |
350 // this invalid oop through the normal barrier path, which would |
351 // incorrectly try to mark the oop. |
351 // incorrectly try to mark the oop. |
352 ZRendezvousClosure cl; |
352 ZRendezvousClosure cl; |
353 Handshake::execute(&cl); |
353 Handshake::execute(&cl); |
354 |
354 |
|
355 // Unblock resurrection of weak/phantom references |
|
356 ZResurrection::unblock(); |
|
357 |
355 // Purge stale metadata and nmethods that were unlinked |
358 // Purge stale metadata and nmethods that were unlinked |
356 _unload.purge(); |
359 _unload.purge(); |
357 |
|
358 // Unblock resurrection of weak/phantom references |
|
359 ZResurrection::unblock(); |
|
360 |
360 |
361 // Enqueue Soft/Weak/Final/PhantomReferences. Note that this |
361 // Enqueue Soft/Weak/Final/PhantomReferences. Note that this |
362 // must be done after unblocking resurrection. Otherwise the |
362 // must be done after unblocking resurrection. Otherwise the |
363 // Finalizer thread could call Reference.get() on the Finalizers |
363 // Finalizer thread could call Reference.get() on the Finalizers |
364 // that were just enqueued, which would incorrectly return null |
364 // that were just enqueued, which would incorrectly return null |