Committed.

        2008-04-18  Ian Rogers  <[EMAIL PROTECTED]>
        
                * java/nio/Buffer.java (cap): make field private and final.
                (address): make field final.
                (Buffer): add address argument to package protected constructor 
thereby
                allowing it to be made final.
                * java/nio/ByteBuffer.java (backing_buffer): make field final.
                (array_offset): make field final.
                (ByteBuffer): add address, backing_buffer and array_offset to
                constructor, allowing fields to be made final.
                * java/nio/ByteBufferImpl.java (readOnly): make field final.
                (ByteBufferImpl): modify call to super class constructor to pass
                backing_buffer and array_offset.
                * java/nio/CharBuffer.java (array_offset): make field final.
                (backing_buffer): make field final.
                (CharBuffer): add address, backing_buffer and array_offset to
                constructor, allowing fields to be made final.
                * java/nio/CharBufferImpl.java (readOnly): make field final.
                (CharBufferImpl): modify call to super class constructor to pass
                backing_buffer and array_offset.
                (CharBufferImpl(CharBufferImpl)): likewise.
                * java/nio/CharSequenceBuffer.java (charSequence): make field 
final.
                (CharSequenceBuffer): modify call to super class constructor, 
allowing
                fields to be made final.
                (duplicate): use capacity call rather than cap, to allow better
                encapsulation.
                * java/nio/CharViewBufferImpl.java (offset): make field final.
                (bb): likewise.
                (readOnly): likewise.
                (endian): likewise.
                (CharViewBufferImpl): modify call to super class constructor, 
allowing
                fields to be made final.
                * java/nio/DirectByteBufferImpl.java: modify calls to super 
class
                constructors, allowing fields to be made final.
                * java/nio/DoubleBuffer.java (array_offset): make field final.
                (backing_buffer): make field final.
                (DoubleBuffer): add address, backing_buffer and array_offset to
                constructor, allowing fields to be made final.
                * java/nio/DoubleBufferImpl.java (readOnly): make field final.
                (DoubleBufferImpl): modify call to super class constructor, 
allowing
                fields to be made final.
                * java/nio/DoubleViewBufferImpl.java (offset): make field final.
                (bb): likewise.
                (readOnly): likewise.
                (endian): likewise.
                (DoubleViewBufferImpl): modify call to super class constructor, 
allowing
                fields to be made final.
                * java/nio/FloatBuffer.java (array_offset): make field final.
                (backing_buffer): make field final.
                (FloatBuffer): add address, backing_buffer and array_offset to
                constructor, allowing fields to be made final.
                * java/nio/FloatBufferImpl.java (readOnly): make field final.
                (FloatBufferImpl): modify call to super class constructor, 
allowing
                fields to be made final.
                * java/nio/FloatViewBufferImpl.java (offset): make field final.
                (bb): likewise.
                (readOnly): likewise.
                (endian): likewise.
                (FloatViewBufferImpl): modify call to super class constructor, 
allowing
                fields to be made final.
                * java/nio/IntBuffer.java (array_offset): make field final.
                (backing_buffer): make field final.
                (IntBuffer): add address, backing_buffer and array_offset to
                constructor, allowing fields to be made final.
                * java/nio/IntBufferImpl.java (readOnly): make field final.
                (IntBufferImpl): modify call to super class constructor, 
allowing
                fields to be made final.
                * java/nio/IntViewBufferImpl.java (offset): make field final.
                (bb): likewise.
                (readOnly): likewise.
                (endian): likewise.
                (IntViewBufferImpl): modify call to super class constructor, 
allowing
                fields to be made final.
                * java/nio/LongBuffer.java (array_offset): make field final.
                (backing_buffer): make field final.
                (LongBuffer): add address, backing_buffer and array_offset to
                constructor, allowing fields to be made final.
                * java/nio/LongBufferImpl.java (readOnly): make field final.
                (LongBufferImpl): modify call to super class constructor, 
allowing
                fields to be made final.
                * java/nio/LongViewBufferImpl.java (offset): make field final.
                (bb): likewise.
                (readOnly): likewise.
                (endian): likewise.
                (LongViewBufferImpl): modify call to super class constructor, 
allowing
                fields to be made final.
                * java/nio/MappedByteBuffer.java (MappedByteBuffer): modify 
arguments
                add call to constructor, allowing fields to be final.
                * java/nio/MappedByteBufferImpl.java (readOnly): make field 
final.
                (MappedByteBufferImpl): modify call to super class constructor, 
allowing
                fields to be made final.
                * java/nio/ShortBuffer.java (array_offset): make field final.
                (backing_buffer): make field final.
                (ShortBuffer): add address, backing_buffer and array_offset to
                constructor, allowing fields to be made final.
                * java/nio/ShortBufferImpl.java (readOnly): make field final.
                (ShortBufferImpl): modify call to super class constructor, 
allowing
                fields to be made final.
                * java/nio/ShortViewBufferImpl.java (offset): make field final.
                (bb): likewise.
                (readOnly): likewise.
                (endian): likewise.
                (ShortViewBufferImpl): modify call to super class constructor, 
allowing
                fields to be made final.


Ian Rogers wrote:
Hi,

the attached patch makes more fields in java.nio final, restructuring constructors to enable this. This simplifies the code sufficiently that it aids the Jikes RVM's escape analysis so that it can remove memory allocations associated with buffers in certain key areas. When some fields could be made private rather than package protected they were.

Thanks,
Ian


Reply via email to