# HG changeset patch # User vlivanov # Date 1485781405 -10800 # Node ID bf2f6d3f8f5e2864841c9f788a457148401be5ff # Parent b188841d7ac8d8f5c6b5a2455be2b6768063fd3f 8158546: C1 compilation fails with "Constant field loads are folded during parsing" Reviewed-by: kvn diff -r b188841d7ac8 -r bf2f6d3f8f5e hotspot/src/share/vm/c1/c1_Canonicalizer.cpp --- a/hotspot/src/share/vm/c1/c1_Canonicalizer.cpp Mon Jan 30 10:30:24 2017 -0800 +++ b/hotspot/src/share/vm/c1/c1_Canonicalizer.cpp Mon Jan 30 16:03:25 2017 +0300 @@ -248,7 +248,9 @@ } else if ((lf = x->array()->as_LoadField()) != NULL) { ciField* field = lf->field(); if (field->is_static_constant()) { - assert(PatchALot || ScavengeRootsInCode < 2, "Constant field loads are folded during parsing"); + // Constant field loads are usually folded during parsing. + // But it doesn't happen with PatchALot, ScavengeRootsInCode < 2, or when + // holder class is being initialized during parsing (for static fields). ciObject* c = field->constant_value().as_object(); if (!c->is_null_object()) { set_constant(c->as_array()->length());