RFR: JDK-8202920: jvm.cfg generation incorrect

Erik Joelsson erik.joelsson at oracle.com
Thu May 10 22:41:47 UTC 2018


Here is a new webrev where the IGNORED are added last.

http://cr.openjdk.java.net/~erikj/8202920/webrev.02/

It will still change the default on windows-x86 however. If we really 
care about this, then perhaps we need to add a configure flag that 
allows the builder to pick the default variant.

/Erik

On 2018-05-10 15:32, Erik Joelsson wrote:
> On 2018-05-10 15:12, David Holmes wrote:
>> Hi Erik,
>>
>> cc'ing Kumar as he is nominally the owner of the jvm.cfg files.
>>
>> On 11/05/2018 3:38 AM, Erik Joelsson wrote:
>>> I took a further look at the jvm.cfg generation and reworked it 
>>> completely. This change removes all the predefined jvm.cfg files and 
>>> replaces them with a simple generation script. This should produce 
>>> the same files as before JDK-8202683 for any configuration Oracle 
>>> builds officially and zero. For special jvm variant combinations, it 
>>> will stay closer to the official ones. See bug comments for details.
>>>
>>> Bug: https://bugs.openjdk.java.net/browse/JDK-8202920
>>>
>>> Webrev: http://cr.openjdk.java.net/~erikj/8202920/webrev.01/
>>
>> I'm not sure of the details here. You no longer alias any flags for 
>> VMs not present, but list them as "ignore". IIUC that means the 
>> default VM will be selected - so as long as the default VM is the one 
>> previously aliased to then it is equivalent. I also thought that the 
>> first line in the file defined the default VM and so had to be a 
>> known VM - with these changes a client-only build, for example, will 
>> have a first entry of "-server ignore".
>>
> I wasn't sure about the ordering and default, but if the first one 
> matters, then I need to rework this a bit. In particular the order is 
> now reversed for windows x86 (if that is something we would want to 
> preserve). Inserting the KNOWN should also be moved last as you point 
> out.
>> There is always some debate as to whether a non-present VM should be 
>> ignored or cause an error. For the minimal VM builds we used to do 
>> for SE Embedded it was chosen to ignore them and just use the Minimal 
>> VM. This isn't necessarily what everyone would want.
>>
> For that part, this change is not changing behavior for any 
> configuration that we really care about. (Note that you need to 
> compare to the behavior previous to Shipilev's change which did indeed 
> move things around.) All the static jvm.cfg files should be equivalent 
> as none of them had ALIAS in them anymore (since your change way back 
> in JDK 8). There will only be a difference if you explicitly build a 
> non standard combination, like only client or only minimal. In those 
> cases, the old generation logic would kick in and generate aliases. Do 
> we want to keep aliases in those cases? Does it really matter?
>
> /Erik
>> David
>>
>>> /Erik
>>>
>




More information about the build-dev mailing list