RFE: Add compressed oops to VM info string

Coleen Phillimore coleen.phillimore at oracle.com
Thu Nov 10 07:38:00 PST 2011

> Java HotSpot(TM) Server VM (build 23.0-b03, mixed mode, tiered, serial gc, zerobased coops)
"zerobased coops" looks awkward to me.   If the requirement is that you 
know whether compressed oops is on or off, simply printing "compressed 
oops" meets that.   If you want to know more about the compressed oops 
mode, you can use the option PrintCompressedOopsMode  (not 
PrintFlagsFinal, which oddly doesn't mention compressed oops).

Since adding "compressed oops" to the version string in the error 
handler was thought important enough for error diagnosis, I think adding 
it to the version string is an good improvement.   I actually thought 
that's what I'd done in the first place, so I like this change.   The 
code in vm_version is an improvement as well.


On 11/10/2011 8:18 AM, Volker Simonis wrote:
> +1 from me
> On Thu, Nov 10, 2011 at 12:44 PM, Christian Thalinger
> <christian.thalinger at oracle.com>  wrote:
>> On Nov 10, 2011, at 12:16 PM, Volker Simonis wrote:
>>> Hi Kris,
>>> first I want to say that I like and support your enhancement request.
>>> However once we do this, if would suggest printing other information as well.
>>> Particularly the fact if we're using tiered compilation comes to my mind here.
>>> I would therefore suggest to use a less verbose "compressed oops"
>>> string and also
>>> print the concrete compressed oops mode that's  actually used
>>> (unscaled, zerobased, heapbased).
>>> This information may be particularly usefull because it may change
>>> depending on the users heap setting
>>> and  the current system memory situation.
>>> So finally, we could use something like:
>>> OpenJDK 64-Bit Server VM (build 20.0-b11-internal, mixed mode, tiered,
>>> compr-oops=unscaled)
>> Honestly I don't know what it takes to change that string since it's a public known option.  But my personal opinion is:  print the most important runtime settings like JIT mode, GC used, compressed oops mode.  Something along these lines:
>> Java HotSpot(TM) Server VM (build 23.0-b03, mixed mode, tiered, serial gc, zerobased coops)
>> Just my two cents...
>> -- Chris
>>> For such a version string, it would be probably better to construct
>>> the string on the fly, otherwise
>>> the 'info_strs' struct you are currently using may become too big.
>>> What are your opinions?
>>> Regards,
>>> Volker
>>> On Thu, Nov 10, 2011 at 8:54 AM, Krystal Mok<rednaxelafx at gmail.com>  wrote:
>>>> Hi all,
>>>> I'd like to propose to add "compressed oops" to the VM info string, so that
>>>> people using "java -version" can get a better understanding of the
>>>> ergonomics of the VM.
>>>> I've posted a patch [1], against hsx20's master. The files modified are
>>>> still pretty much the same on hotspot-main's master.
>>>> With the patch applied, "java -version" may show:
>>>> OpenJDK 64-Bit Server VM (build 20.0-b11-internal, mixed mode, compressed
>>>> oops)
>>>> and what used to work still works:
>>>> OpenJDK Client VM (build 20.0-b11-internal, mixed mode, sharing)
>>>> P.S. Alibaba (Taobao)'s OCA is submitted already, still waiting for approval
>>>> from Oracle.
>>>> Regards,
>>>> Kris Mok
>>>> Software Engineer, Taobao (http://www.taobao.com)
>>>> [1]: https://gist.github.com/1354299

More information about the hotspot-dev mailing list