Request for review: JDK-8004728 Hotspot support for parameter reflection

John Rose john.r.rose at oracle.com
Tue Jan 8 15:20:20 PST 2013


On Jan 7, 2013, at 3:04 PM, John Rose wrote:

> Yes, I suppose so.  IMO, the simplest way to go (with comparable or better compression) would be to have a bitmask, associated with a compressed offset or length table, followed by the compressed data itself, in a big block at the various derived offsets.  Accessing any of the optional data streams would require unpacking the complete offset table, an operation on 1-2 cache lines.  One advantage of this scheme would be that the order-sensitive aspects of the compression would be centralized in the offset table unpack logic.  Also, a stream-oriented scheme would allow CompressedStreams to be used (for everything except maybe the bitmask), which would be a decisive density benefit.  (Decisive for suitably chosen microbenchmarks, of course.)  The usual FooStream idioms would make it easy and cheap to access the data.

I built a working prototype of this approach, FTR.  It's not integrated anywhere, but it works standalone.

https://blogs.oracle.com/jrose/resource/hotspot/streamBundle.patch.zip

— John


More information about the hotspot-dev mailing list