[9] RFR (XXS): 8158546: C1 compilation fails with "Constant field loads are folded during parsing"
Vladimir Ivanov
vladimir.x.ivanov at oracle.com
Fri Jan 27 17:02:30 UTC 2017
http://cr.openjdk.java.net/~vlivanov/8158546/webrev.00/
https://bugs.openjdk.java.net/browse/JDK-8158546
The problematic assert checks that constant folding of field loads
happens only during parsing. There are some configurations through when
it's not the case: PatchALot, ScavengeRootsInCode < 2.
But there's one case missing (for static fields): when holder class can
be in process of initialization during parsing, but it finishes by the
time canonicalizer kicks in.
I asked to add the assert as part of JDK-8150102 [1] to raise our
awareness when LoadField case is needed in
Canonicalizer::do_ArrayLength(). IMO the assert did its job and it's
time to remove it.
Thanks!
Best regards,
Vladimir Ivanov
[1] https://bugs.openjdk.java.net/browse/JDK-8150102
More information about the hotspot-compiler-dev
mailing list