Code Review for jdk

Prepared by:simonis on Mon Sep 16 19:15:24 CEST 2013
Workspace:/net/usr.work/d046063/OpenJDK/ppc-aix-port/stage_0014_0015/jdk
Compare against: http://hg.openjdk.java.net/ppc-aix-port/stage/jdk
Compare against version:7982
Summary of changes: 2198 lines changed: 2126 ins; 10 del; 62 mod; 13176 unchg
Changeset: jdk.changeset
Author comments:

src/share/bin/jli_util.h

  • Define JLI_Lseek on AIX.

src/share/lib/security/java.security-aix

  • Provide default java.security-aix for AIX.

src/share/native/sun/awt/medialib/mlib_sys.c

  • malloc always returns 8-byte aligned pointers on AIX as well.

src/share/native/sun/awt/medialib/mlib_types.h

  • Add AIX to the list of known platforms.

src/share/native/sun/font/layout/KernTable.cpp

  • Rename the macro DEBUG to DEBUG_KERN_TABLE because DEBUG is too common and may be defined in other headers as well as on the command line and xlc bails out on macro redefinitions with a different value.

src/share/native/sun/security/ec/impl/ecc_impl.h

  • Define required types and macros on AIX.

src/solaris/back/exec_md.c

  • AIX behaves like Linux in this case so check for it in the Linux branch.

src/solaris/bin/java_md_solinux.c,
src/solaris/bin/java_md_solinux.h

  • On AIX LD_LIBRARY_PATH is called LIBPATH
  • Always use LD_LIBRARY_PATH macro instead of using the string "LD_LIBRARY_PATH" directly to cope with different library path names.
  • Add jre/lib/<arch>/jli to the standard library search path on AIX because the AIX linker doesn't support the -rpath option.
  • Replace #ifdef __linux__ by #ifndef __solaris__ because in this case, AIX behaves like Linux.

src/solaris/classes/sun/awt/fontconfigs/aix.fontconfig.properties

  • Provide basic fontconfig.propertiesfor AIX.

src/solaris/classes/java/lang/UNIXProcess.java.aix,
src/solaris/classes/sun/tools/attach/AixAttachProvider.java,
src/solaris/classes/sun/tools/attach/AixVirtualMachine.java

  • Provide AIX specific Java versions, mostly based on the corresponding Linux versions.

src/solaris/demo/jvmti/hprof/hprof_md.c

  • Add AIX support. AIX mostly behaves like Linux, with the one exception that it has no dladdr functionality.
  • Implement dladdr functionality for AIX.

src/solaris/native/com/sun/management/UnixOperatingSystem_md.c

  • Adapt for AIX (i.e. use libperfstat on AIX to query OS memory).

src/solaris/native/common/jdk_util_md.h

  • Add AIX definitions of the ISNANF and ISNAND macros.

src/solaris/native/java/io/io_util_md.c

  • AIX behaves like Linux in this case so check for it in the Linux branch.

src/solaris/native/java/net/NetworkInterface.c

  • Add AIX support into the Linux branch because AIX mostly behaves like AIX for IPv4.
  • AIX needs a special function to enumerate IPv6 interfaces and to query the MAC address.

src/solaris/native/java/net/PlainSocketImpl.c

  • On AIX (like on Solaris) setsockopt will set errno to EINVAL if the socket is closed. The default error message is then confusing.

src/solaris/native/java/net/linux_close.c,
src/share/native/java/net/net_util.c

  • Also use the file and socket wrappers on AIX.
  • Add initialization of some previously uninitialized data structures.
  • On AIX we don't have __attribute((constructor)) so we need to initialize manually (from JNI_OnLoad() in 'src/share/native/java/net/net_util.c'

src/solaris/native/java/net/net_util_md.h

  • AIX needs the same workaround for I/O cancellation like Linux and MacOSX.

src/solaris/native/java/util/TimeZone_md.c

  • Currently on AIX the only way to get the platform time zone is to read it from the TZ environment variable.

src/solaris/native/sun/awt/awt_LoadLibrary.c

  • There's no dladdr on AIX, but we can use the implementation from the HotSpot in this case because libjvm.so will be always loaded before the AWT.

src/solaris/native/sun/awt/fontpath.c

  • Add AIX specific fontpath settings and library search paths for libfontconfig.so.

src/solaris/native/sun/java2d/x11/X11SurfaceData.c

  • Only define MIN and MAX if they're not already defined because xlc on AIX fails on macro redefinitions.

src/solaris/native/sun/java2d/x11/XRBackendNative.c

  • Handle AIX like Solaris.

src/solaris/native/sun/nio/ch/Net.c

  • Add AIX-specific includes and constant definitions.
  • On AIX "socket extensions for multicast source filters" support depends on the OS version. Check for this and throw appropriate exceptions if it requested but not supported. This is needed to pass JCK-api/java_nio/channels/DatagramChannel/DatagramChannel.html#Multicast

src/solaris/native/sun/security/pkcs11/j2secmod_md.c

  • Use RTLD_LAZY instead of RTLD_NOLOAD on AIX.

src/solaris/native/sun/tools/attach/AixVirtualMachine.c

  • AIX version mostly derived from the corresponding Linux version.
Bug id: Bug Database
Legend: Modified file
Deleted file
New file

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/bin/jli_util.h

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
3 lines changed: 3 ins; 0 del; 0 mod; 97 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/native/java/net/net_util.c

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
10 lines changed: 9 ins; 0 del; 1 mod; 297 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/native/sun/awt/medialib/mlib_sys.c

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
2 lines changed: 0 ins; 0 del; 2 mod; 133 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/native/sun/awt/medialib/mlib_types.h

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
2 lines changed: 0 ins; 0 del; 2 mod; 166 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/native/sun/font/layout/KernTable.cpp

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
7 lines changed: 0 ins; 0 del; 7 mod; 281 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/share/native/sun/security/ec/impl/ecc_impl.h

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
7 lines changed: 7 ins; 0 del; 0 mod; 263 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/solaris/back/exec_md.c

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
3 lines changed: 0 ins; 0 del; 3 mod; 123 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/solaris/bin/java_md_solinux.c

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
26 lines changed: 19 ins; 0 del; 7 mod; 1060 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/solaris/bin/java_md_solinux.h

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
17 lines changed: 5 ins; 9 del; 3 mod; 55 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/solaris/demo/jvmti/hprof/hprof_md.c

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
83 lines changed: 77 ins; 0 del; 6 mod; 453 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/solaris/native/com/sun/management/UnixOperatingSystem_md.c

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
19 lines changed: 16 ins; 0 del; 3 mod; 448 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/solaris/native/common/jdk_util_md.h

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
4 lines changed: 4 ins; 0 del; 0 mod; 46 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/solaris/native/java/io/io_util_md.c

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
1 line changed: 0 ins; 0 del; 1 mod; 227 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/solaris/native/java/net/NetworkInterface.c

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
163 lines changed: 156 ins; 1 del; 6 mod; 1988 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/solaris/native/java/net/PlainSocketImpl.c

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
1 line changed: 0 ins; 0 del; 1 mod; 1109 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/solaris/native/java/net/linux_close.c

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
57 lines changed: 53 ins; 0 del; 4 mod; 380 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/solaris/native/java/net/net_util_md.h

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
11 lines changed: 10 ins; 0 del; 1 mod; 153 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/solaris/native/java/util/TimeZone_md.c

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
11 lines changed: 8 ins; 0 del; 3 mod; 738 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/solaris/native/sun/awt/awt_LoadLibrary.c

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
15 lines changed: 15 ins; 0 del; 0 mod; 305 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/solaris/native/sun/awt/fontpath.c

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
36 lines changed: 30 ins; 0 del; 6 mod; 1341 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/solaris/native/sun/java2d/x11/X11SurfaceData.c

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
4 lines changed: 4 ins; 0 del; 0 mod; 1645 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/solaris/native/sun/java2d/x11/XRBackendNative.c

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
3 lines changed: 0 ins; 0 del; 3 mod; 1078 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/solaris/native/sun/nio/ch/Net.c

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
111 lines changed: 109 ins; 0 del; 2 mod; 715 unchg

Cdiffs Udiffs Sdiffs Frames Old New ----- Raw src/solaris/native/sun/security/pkcs11/j2secmod_md.c

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
5 lines changed: 4 ins; 0 del; 1 mod; 75 unchg

------ ------ ------ ------ --- New ----- Raw src/share/lib/security/java.security-aix

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
495 lines changed: 495 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ --- New ----- Raw src/solaris/classes/java/lang/UNIXProcess.java.aix

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
339 lines changed: 339 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ --- New ----- Raw src/solaris/classes/sun/awt/fontconfigs/aix.fontconfig.properties

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
75 lines changed: 75 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ --- New ----- Raw src/solaris/classes/sun/tools/attach/AixAttachProvider.java

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
88 lines changed: 88 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ --- New ----- Raw src/solaris/classes/sun/tools/attach/AixVirtualMachine.java

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
317 lines changed: 317 ins; 0 del; 0 mod; 0 unchg

------ ------ ------ ------ --- New ----- Raw src/solaris/native/sun/tools/attach/AixVirtualMachine.c

rev 7983 : 8024854: Basic changes and files to build the class library on AIX
Contributed-by: luchsh@linux.vnet.ibm.com, spoole@linux.vnet.ibm.com, thomas.stuefe@sap.com
Reviewed-by:
283 lines changed: 283 ins; 0 del; 0 mod; 0 unchg

This code review page was prepared using /usr/work/d046063/OpenJDK/ppc-aix-port/jdk8/make/scripts/webrev.ksh (vers 24.0-hg+jbs).