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 >>
