8150785: (bf) Hoist slice and duplicate methods up to java.nio.Buffer

Pavel Rappo pavel.rappo at oracle.com
Mon May 16 10:10:05 UTC 2016


Hi,

The webrev has been updated in-place

    http://cr.openjdk.java.net/~prappo/8150785/webrev.02/

to address Roger's suggestion on tests. I must admit `slice` and `duplicate`
(and `asReadOnly` for that matter) functionality hasn't been covered well. So
I've improved it a bit [1].

Thanks,
-Pavel

--------------------------------------------------------------------------------
[1] As I understand, some tests generated by `Order-X.java.template` for each
Buffer subtype

  56         ck$Type$Buffer(ByteBuffer.allocate(LENGTH).as$Type$Buffer(), be);
  57         ck$Type$Buffer(ByteBuffer.allocateDirect(LENGTH).as$Type$Buffer(), be);

are better covered in and do belong to Order.java

  45     private static void ckViews(ByteBuffer bb) {
  46         ck(bb.asCharBuffer().order(), bb.order());
  47         ck(bb.asShortBuffer().order(), bb.order());
  48         ck(bb.asIntBuffer().order(), bb.order());
  49         ck(bb.asLongBuffer().order(), bb.order());
  50         ck(bb.asFloatBuffer().order(), bb.order());
  51         ck(bb.asDoubleBuffer().order(), bb.order());
  52     }

After all, these tests are checking order contracts of view methods defined in
ByteBuffer, which Order.java corresponds to.

> On 12 May 2016, at 15:57, Roger Riggs <Roger.Riggs at oracle.com> wrote:
> 
> Hi Pavel,
> 
> A test of the new hoisted methods would be a good addition.
> 
> Roger
> 
> 
> 
> On 5/12/2016 9:27 AM, Alan Bateman wrote:
>> On 12/05/2016 11:48, Pavel Rappo wrote:
>>> Hi,
>>> 
>>> Could you please review my change for JDK-8150785?
>>> 
>>>     http://cr.openjdk.java.net/~prappo/8150785/webrev.02/
>>> http://cr.openjdk.java.net/~prappo/8150785/specdiff.02/java/nio/package-summary.html
>>> 
>> This looks okay to me. As you know, there are other methods that could be hoisted to Buffer too but what you have looks good.
>> 
>> -Alan
> 



More information about the nio-dev mailing list