Request for review: 8004076: Move _max_locals and _size_of_parameters to ConstMethod for better sharing

John Rose john.r.rose at oracle.com
Tue Dec 11 20:00:37 PST 2012


On Dec 11, 2012, at 5:38 PM, Jiangli Zhou wrote:

> I see CompressedStream uses UNSIGNED5 coding of Pack200. I tried to google around for the UNSIGNED5 coding compression rate, but without much luck. If you have any info on that, please share. I was trying to find some usage examples in the VM code, but there seems no usage of CompressedStream (except the sa agent java code). Do you have any pointer?

Right; you started with the comments here:
  http://hg.openjdk.java.net/jdk8/jdk8/hotspot/file/tip/src/share/vm/code/compressedStream.hpp

Detailed definitions for UNSIGNED5 and related codings are in the pack200 spec:
  http://docs.oracle.com/javase/6/docs/technotes/guides/pack200/pack-spec.html#tocInEnSc

There is also a more focused description here in the Java source code:
  http://hg.openjdk.java.net/jdk8/jdk8/jdk/file/tip/src/share/classes/com/sun/java/util/jar/pack/Coding.java

Then we have BandStructure.java: 108: final static Coding UNSIGNED5 = Coding.of(5,64);

To search for compressed stream use in HotSpot, look for subtypes of either the read or write version.
  grep -n CompressedReadStream $(hg loc -I src)
  grep -n CompressedWriteStream $(hg loc -I src)

Then look at DebugInfoReadStream and CompressedLineNumberReadStream, and the writer versions.  There's a lot of compressed metadata in the code cache, and interpreter oop maps use it.  It is not used in metadata, yet.

— John
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.openjdk.java.net/pipermail/hotspot-runtime-dev/attachments/20121211/55b8b515/attachment.html 


More information about the hotspot-runtime-dev mailing list