--- a/hotspot/src/share/vm/opto/stringopts.cpp Mon Mar 21 18:38:00 2011 -0700
+++ b/hotspot/src/share/vm/opto/stringopts.cpp Tue Mar 22 13:36:33 2011 -0700
@@ -910,7 +910,7 @@
ciObject* con = field->constant_value().as_object();
// Do not "join" in the previous type; it doesn't add value,
// and may yield a vacuous result if the field is of interface type.
- type = TypeOopPtr::make_from_constant(con)->isa_oopptr();
+ type = TypeOopPtr::make_from_constant(con, true)->isa_oopptr();
assert(type != NULL, "field singleton type must be consistent");
} else {
type = TypeOopPtr::make_from_klass(field_klass->as_klass());