Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8066751

Remove casts redundant with Java 9 buffer APIs

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: P3 P3
    • 9
    • 9
    • core-libs
    • None
    • b64
    • generic
    • generic

        compile:
            [javac] Compiling 502 source files to /Users/marcus/src/jdk9/nashorn/build/classes
            [javac] warning: [options] bootstrap class path not set in conjunction with -source 1.8
            [javac] /Users/marcus/src/jdk9/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeArrayBuffer.java:228: warning: [cast] redundant cast to ByteBuffer
            [javac] return (ByteBuffer)nb.duplicate().position(offset);
            [javac] ^
            [javac] /Users/marcus/src/jdk9/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeArrayBuffer.java:232: warning: [cast] redundant cast to ByteBuffer
            [javac] return (ByteBuffer)getBuffer(offset).limit(length);
            [javac] ^
            [javac] /Users/marcus/src/jdk9/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeFloat32Array.java:84: warning: [cast] redundant cast to FloatBuffer
            [javac] super(((FloatBuffer)nb.position(start).limit(end)).slice(), end - start);
            [javac] ^
            [javac] /Users/marcus/src/jdk9/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeFloat64Array.java:84: warning: [cast] redundant cast to DoubleBuffer
            [javac] super(((DoubleBuffer)nb.position(start).limit(end)).slice(), end - start);
            [javac] ^
            [javac] /Users/marcus/src/jdk9/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeInt16Array.java:85: warning: [cast] redundant cast to ShortBuffer
            [javac] super(((ShortBuffer)nb.position(start).limit(end)).slice(), end - start);
            [javac] ^
            [javac] /Users/marcus/src/jdk9/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeInt32Array.java:84: warning: [cast] redundant cast to IntBuffer
            [javac] super(((IntBuffer)nb.position(start).limit(end)).slice(), end - start);
            [javac] ^
            [javac] /Users/marcus/src/jdk9/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeInt8Array.java:83: warning: [cast] redundant cast to ByteBuffer
            [javac] super(((ByteBuffer)nb.position(start).limit(end)).slice(), end - start);
            [javac] ^
            [javac] /Users/marcus/src/jdk9/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeUint16Array.java:84: warning: [cast] redundant cast to CharBuffer
            [javac] super(((CharBuffer)nb.position(start).limit(end)).slice(), end - start);
            [javac] ^
            [javac] /Users/marcus/src/jdk9/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeUint32Array.java:85: warning: [cast] redundant cast to IntBuffer
            [javac] super(((IntBuffer)nb.position(start).limit(end)).slice(), end - start);
            [javac] ^
            [javac] /Users/marcus/src/jdk9/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeUint8Array.java:84: warning: [cast] redundant cast to ByteBuffer
            [javac] super(((ByteBuffer)nb.position(start).limit(end)).slice(), end - start);
            [javac] ^
            [javac] /Users/marcus/src/jdk9/nashorn/src/jdk.scripting.nashorn/share/classes/jdk/nashorn/internal/objects/NativeUint8ClampedArray.java:88: warning: [cast] redundant cast to ByteBuffer
            [javac] super(((ByteBuffer)nb.position(start).limit(end)).slice(), end - start);
            [javac] ^
            [javac] 12 warnings
            [javac] Creating empty /Users/marcus/src/jdk9/nashorn/build/classes/jdk/nashorn/internal/objects/package-info.class
            [javac] Creating empty /Users/marcus/src/jdk9/nashorn/build/classes/jdk/nashorn/api/scripting/package-info.class
             [copy] Copying 1 file to /Users/marcus/src/jdk9/nashorn/build/classes/META-INF/services
             [copy] Copying 1 file to /Users/marcus/src/jdk9/nashorn/build/classes/jdk/nashorn/api/scripting/resources
             [copy] Copying 14 files to /Users/marcus/src/jdk9/nashorn/build/classes/jdk/nashorn/internal/runtime/resources
             [copy] Copying 2 files to /Users/marcus/src/jdk9/nashorn/build/classes/jdk/nashorn/tools/resources
             [copy] Copying 1 file to /Users/marcus/src/jdk9/nashorn/build/classes/jdk/internal/dynalink/support
             [copy] Copying 1 fil


        This is correct- the casts shouldn't need to be there.
        The problem is that if I remove them, I break backwards compatibility towards earlier 9 builds than b38, and compatibility with 8.

        I can easily remove these redundant casts and push to 9, but I need to know if breaking backwards compatibility to builds < b38 is acceptable. This would make it hard for us to, e.g., build and regression test against earlier builds.

        Advice needed.

              attila Attila Szegedi
              lagergren Marcus Lagergren
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Created:
                Updated:
                Resolved: