[aarch64-port-dev ] Mixing of aarch64_c2 and default branch code

Andrew Dinn adinn at redhat.com
Mon Aug 12 03:29:10 PDT 2013


On 12/08/13 10:41, Edward Nevill wrote:
> On Mon, 2013-08-12 at 09:50 +0100, Andrew Dinn wrote:
> 
>> This doesn't actually matter as far as building the C1/C2 variants goes
>> because the C2 code (in aarch64.ad or generated from it) does not get
>> included in the build process unless you configure either a tiered or a
>> C2 build. However, it does make it a little easier for me to make
>> changes which break C1. I don't know whether it is worth continuing with
>> a separate aarch64_c2 branch given that the code bases are now
>> effectively merged. Anyone have any opinions on this?
> 
> Yes, I vote for merging to a single branch.

Hmm, I didn't realise I had called a vote. Could you, perhaps, offer an
opinion backed with a justification scholastic enough to bamboozle
Andrew (Haley) into agreeing to it.

> Can the jvm.cfg read
> 
> -client KNOWN
> -server IGNORE
> 
> This is for the CI loop running jtreg. jtreg specifies -server on many of the tests.
> 
> For C2 this would need to be manually changed to -server KNOWN.

This is in the jdk tree, not the hotspot tree. Since we only have an
aarch64_c2 branch in hotspot this is really a separate issue. Anyway,
let's start with the status quo. The current config specifies

  -server IF_SERVER_CLASS KNOWN

which means that

  i) when one passes -server to a C2 or C1+C2 JVM it works as expected

  ii) should one pass -server to a C1 JVM it says WTF

all of which looks good to me.

If we institute your change then

  i) passing -server to a C2 JVM will fail because the JVM will actually
be told to execute as -client which it will not recognise

  ii) passing -server to a C1 or C1+C2 JVM will work against normal
here'sexpectation because it will run as a client JVM.

If the justification for adopting the latter config is that it makes
jtreg tests which expect -server work then I don't think I buy it.
Presumably, the tests specify -server because they are intended to
exercise C2 compiled code. So, making them work by running as -client
doesn't seem to me to be a valid step. So, more arcane scholastism will
be needed if you want me to agree to this.

regards,


Andrew Dinn
-----------




More information about the aarch64-port-dev mailing list