hotspot/src/share/vm/c1/c1_Canonicalizer.cpp
changeset 43673 bf2f6d3f8f5e
parent 39263 d139a133ba27
child 46630 75aa3e39d02c
--- 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());