[15] RFR 8247246: Add explicit ResolvedJavaType.link and expose presence of default methods

Tom Rodriguez tom.rodriguez at oracle.com
Tue Jun 23 20:46:23 UTC 2020


http://cr.openjdk.java.net/~never/8247246/webrev
https://bugs.openjdk.java.net/browse/JDK-8247246

This adds a couple operations the JVMCI that are necessary for 
interacting with classes that aren't linked.  ResolvedJavaType.link 
explicitly attempts linking if the current class isn't linked. 
ResolvedJavaType.getDeclaredMethods and getDeclaredConstructors both 
force linking as part of their implementation though this is more 
historical than necessary though there is code which relies on this 
behavioiur to force linking.  Additionally there's currently no way of 
identifying class and interface which default other than by visiting all 
the methods of the clases, so hasDefaultMethods and 
declaresDefaultMethods have been added to expose this without forcing 
linking.  Mach5 testing is clean and includes unit tests which exercise 
the new API.


More information about the hotspot-compiler-dev mailing list