# HG changeset patch # User never # Date 1283214455 25200 # Node ID 0652d205acda9713ee254b8ba84ce71ea287e093 # Parent be2b508a60cbf27d3319c63919aec86087ff46f6 6969586: OptimizeStringConcat: SIGSEGV in LoadNode::Value() Reviewed-by: kvn diff -r be2b508a60cb -r 0652d205acda src/share/vm/opto/memnode.cpp --- a/src/share/vm/opto/memnode.cpp Fri Oct 08 11:07:14 2010 -0400 +++ b/src/share/vm/opto/memnode.cpp Mon Aug 30 17:27:35 2010 -0700 @@ -1547,8 +1547,8 @@ adr->is_AddP() && off != Type::OffsetBot) { // For constant Strings treat the fields as compile time constants. Node* base = adr->in(AddPNode::Base); - if (base->Opcode() == Op_ConP) { - const TypeOopPtr* t = phase->type(base)->isa_oopptr(); + const TypeOopPtr* t = phase->type(base)->isa_oopptr(); + if (t != NULL && t->singleton()) { ciObject* string = t->const_oop(); ciConstant constant = string->as_instance()->field_value_by_offset(off); if (constant.basic_type() == T_INT) {