[lworld] Initial C1 support for value types
tobias.hartmann at oracle.com
Tue Nov 20 09:13:16 UTC 2018
thanks for sending this for review!
Two minor things I've noticed in c1_GraphBuilder.cpp:
- "is_flattened() can return true for fields that are not value types". This should not happen and I
haven't seen this with C2 (which also uses the CI). We should add a "TODO" here to look at this later.
- I don't understand this comment "// Only load those fields who are not modified". I think it only
makes sense in the withfield context but not for putfield/getfield, right?
No need for another webrev, please go ahead and push this.
On 19.11.18 05:01, Ioi Lam wrote:
> Here's a webrev for initial C1 support. Most of the work is done by Fred. I added support for
> C1 is disabled by default. To enable it, specify -XX:+EnableValhallaC1. When this flag is specified,
> C2 is disabled.
> To run the regression tests, use this:
> cd test/hotspot/jtreg/compiler/valhalla/valuetypes
> jtreg -Dtest.c1=true TestBasicFunctionality.java
> Currently only tests derived from ValueTypeTest are supported this way. Other tests won't work,
> especially if they try to parse C2 output.
> TestBasicFunctionality can run a bunch of test cases but will fail at test27().
> My plan is to work on acmp, and then gradually make all the test cases pass with
> - Ioi
More information about the valhalla-dev