[Nestmates] RFR (S): 8194906: [Nestmates] Finalize javac and other tool changes

David Holmes david.holmes at oracle.com
Wed May 9 01:43:50 UTC 2018


On 8/05/2018 7:14 PM, David Holmes wrote:
> In preparation for putting out the mainline RFR for nestmates I've made 
> a few updates to the javac support as Maurizio and I have discussed 
> (generally) in email in the past:
> 
> webrev: http://cr.openjdk.java.net/~dholmes/8194906/webrev/
> 
> Changes:
> 
> - move test location
> - remove disableAccessors/disablePrivateAccessors flags and rely on 
> nestmate support for disabling private accessors
> - add disableProtectedAccessors as an experimental flag
> - remove virtualizePrivateAccess flag
> - add disableVirtualizedPrivateInvoke flag
> 
> The disableVirtualizedPrivateInvoke flag allows us to easily switch back 
> to issuing invokeSpecial instead of invokeVirtual/invokeInterface for 
> private method invocations. This can be useful for running tests in a 
> "legacy" mode without having to disable all nestmate support (by running 
> with --release 10 for example).

For example, I just added:

http://cr.openjdk.java.net/~dholmes/8194906/webrev/test/jdk/java/lang/invoke/SpecialInterfaceCall.java.cdiff.html

to the webrev. But I'm having some doubts about the utility and wisdom 
of doing this. If you generate invokespecial you have to obey all 
invokespecial access rules, which won't be the case in general if 
accessing nestmate private methods. It works for the above test, but 
there are others in java/lang/invoke that fail.

Thoughts?

Thanks,
David

> Thanks,
> David


More information about the valhalla-dev mailing list