The values are initialized at VM compile time in the 
VMStructs::localHotSpotVMIntConstants array. I don't think we want to modify SA 
so that values of int constants is made into a dynamic lookup. Or at least, 
that is a fairly significant change to SA. The problem here was to think that 
UseTLAB is a constant when it isn't.

Yes, I thought about a regression test for this, but the valuable test would be 
to verify that no command line flag values are read as constants, and I don't 
see how I could write that.

Thanks,
/Staffan

On 12 feb 2013, at 01:20, David Holmes <[email protected]> wrote:

> On 10/02/2013 5:06 AM, Staffan Larsen wrote:
>> Please review this small patch to avoid reading flag values in SA as 
>> constants. Reading them as constants  means SA will only see the default 
>> value for these flags. Instead the infrastructure in SA to read command line 
>> flags should be used. In addition the value if EnableInvokeDynamic is never 
>> used, so I removed that from SA.
> 
> Isn't the real problem in the way db is initialized with the values for these 
> flags? ie shouldn't db.lookupIntConstant("UseTLAB").intValue() be returning 
> the actual value of UseTLAB as it occurs in the VM ?
> 
> Also we need a regression test for this as obviously it ain't being tested! :(
> 
> Thanks,
> David
> 
>> webrev: http://cr.openjdk.java.net/~sla/8007901/webrev.00/
>> bug: http://bugs.sun.com/view_bug.do?bug_id=8007901 (not yet visible)
>> 
>> Thanks,
>> /Staffan
>> 

Reply via email to