RFR (S) 8250589: Move Universe::_reference_pending_list into OopHandle

Aleksey Shipilev shade at redhat.com
Mon Jul 27 13:21:06 UTC 2020


On 7/27/20 3:05 PM, coleen.phillimore at oracle.com wrote:
> Summary: Use synchronization to reference the _reference_pending_list 
> with OopHandle
> 
> Tested with tier1-6 with 100% passed (no other existing test failures!)
> 
> open webrev at http://cr.openjdk.java.net/~coleenp/2020/8250589.01/webrev

Looks okay, modulo these:

*) I don't see a reason to put a comment to the otherwise generic method like this:

  67   inline oop xchg(oop new_value); // needed for reference_pending_list

*) The change below implicitly tests for NULL now? Seems like _reference_pending_list.peek() would
be more efficient here, as it would not ask GC to keep the oop alive (especially when it is
guaranteed to be already alive, right?).

 bool Universe::has_reference_pending_list() {
   assert_pll_ownership();
-  return _reference_pending_list != NULL;
+  return _reference_pending_list.resolve();
 }

-- 
Thanks,
-Aleksey



More information about the hotspot-dev mailing list