RFR(S): 8194736: Refactor weak oops in ProtectionDomain table to use the Access API

coleen.phillimore at oracle.com coleen.phillimore at oracle.com
Wed Jan 10 13:22:11 UTC 2018

So this looks okay.  Does anything ever call 
ProtectionDomainEntry::object() and keep it alive?

It looks like there are still literal() calls in 
ProtectionDomainCacheEntry though.  Can you stomp these out first?

  void ProtectionDomainCacheEntry::verify() {
    guarantee(oopDesc::is_oop(literal()), "must be an oop");

I still think this is confusing and adds too much conceptual overhead to 
the runtime code,  but I plan on addressing this with WeakHandles (vm 
weak oops with OopStorage) in these tables.


On 1/8/18 9:00 AM, Erik Österlund wrote:
> Hi,
> Like other tables containing weak oop references, the ProtectionDomain 
> table should use the Access API.
> This is a patch that does that, in a fashion very similar to what has 
> been done to other weak tables recently.
> Bug:
> https://bugs.openjdk.java.net/browse/JDK-8194736
> Webrev:
> http://cr.openjdk.java.net/~eosterlund/8194736/webrev.00/
> Thanks,
> /Erik

More information about the hotspot-runtime-dev mailing list