< prev index next >

src/share/vm/opto/parse3.cpp

Print this page

        

@@ -149,10 +149,16 @@
   // Does this field have a constant value?  If so, just push the value.
   if (field->is_constant()) {
     // final or stable field
     const Type* con_type = Type::make_constant(field, obj);
     if (con_type != NULL) {
+      if (TrustFinalNonStaticFields &&
+          !field->is_static() && obj->is_Con()) {
+        const TypeOopPtr* oop_ptr = obj->bottom_type()->isa_oopptr();
+        ciObject* constant_oop = oop_ptr->const_oop();
+        C->dependencies()->assert_constant_field_value_instance(field, constant_oop);
+      }
       push_node(con_type->basic_type(), makecon(con_type));
       return;
     }
   }
   
< prev index next >