RFR [9] 8148117: Move sun.misc.Cleaner to jdk.internal.ref

Paul Sandoz paul.sandoz at oracle.com
Tue Jan 26 14:08:23 UTC 2016


> On 23 Jan 2016, at 21:31, Andrew Haley <aph at redhat.com> wrote:
> 
> BTW, does anyone here know why we don't have humongous ByteBuffers
> with a long index?
> 

Probably in part because of Java arrays. IMO we need Arrays 2.0 (+ panama i suspect).

Here’s some "shoot from the hip" thinking…

In principle a direct ByteBuffer could bound a region larger than that which can be expressed with an int limit (i suppose a heap ByteBuffer could do the same if it holds multiple instances if byte[], although that would require more work).

The direct BB can be used to access the first 2^31 - 1 values. A VarHandle could be produced that accesses the whole range since it could accept long index values and check bounds against a special long limit field. That might require some additional HotSpot work to optimize bounds checks and any loops to reduce or avoid a safe point check per iteration.

Paul.



More information about the core-libs-dev mailing list