And a link to the webrev that can people can access: http://cr.openjdk.java.net/~chegar/nativeInetCleanup/webrev/
-Chris. On 02/04/2014 04:01 PM, Chris Hegarty wrote:
Hi, This change is mainly about clean up of the networking native code. There are a number of places that cache JNI global references to the Inet[4|6]Address classes, as well as caching their respective field IDs. It is also difficult to correctly handle propagation of possible JNI method invocation failures, from the (get|set)Inet[4|6]Address_XXX methods. As it happens Inet[4|6]Address.c already makes these classes and field IDs available [1] [2] [3]. It is then a small matter of ensuring that they get initialized from any entry point that may use them, in the various socket/InetAddress/network interface implementation, as well as NIO and SCTP. Webrev: http://chhegar.ie.oracle.com/chhegar/repos/jdk9/dev/serial/jdk/nativeInetCleanup.01/webrev/ -Chris. [1] http://hg.openjdk.java.net/jdk9/dev/jdk/file/tip/src/share/native/java/net/InetAddress.c [2] http://hg.openjdk.java.net/jdk9/dev/jdk/file/tip/src/share/native/java/net/Inet4Address.c [3] http://hg.openjdk.java.net/jdk9/dev/jdk/file/tip/src/share/native/java/net/Inet6Address.c