On Wed, 30 Nov 2022 16:54:02 GMT, Per Minborg <[email protected]> wrote:
> This PR proposes merging logic and optimising three classes that exist for > aix, maces and windows. > > Optimisation will reduce byte code. Below is an example for one of the many > methods optimised. > > Before: > > public void implCloseSelectableChannel() throws java.io.IOException; > Code: > 0: new #7 // class > java/lang/UnsupportedOperationException > 3: dup > 4: ldc #11 // String SCTP not supported on > this platform > 6: invokespecial #13 // Method > java/lang/UnsupportedOperationException."<init>":(Ljava/lang/String;)V > 9: athrow > > > After: > > public void implCloseSelectableChannel() throws java.io.IOException; > Code: > 0: invokestatic #16 // Method > sun/nio/ch/sctp/UnsupportedUtil.sctpUnsupported:()Ljava/lang/UnsupportedOperationException; > 3: athrow As the Solaris port is removed then it means the only implementation is on Linux. So one thing to try to is to rename src/jdk.sctp/unix to src/jdk.sctp/linux, src/jdk.sctp/windows/classes/sun/nio/ch/sctp/* tosrc/jdk.sctp/share/classes/sun/nio/ch/sctp/* and remove the src/jdk.sctp/macos and src/jdk.sctp/aix tree. If it works then it would avoid needing to have 3 copies of the "unsupported" implementation and avoid include UnsupportedXXX classes in the Linux implementation. ------------- PR: https://git.openjdk.org/jdk/pull/11436
