diff -r 8e7adf982378 -r 7c57aead6d3e src/share/vm/opto/parseHelper.cpp --- a/src/share/vm/opto/parseHelper.cpp Fri Nov 27 07:56:58 2009 -0800 +++ b/src/share/vm/opto/parseHelper.cpp Thu Nov 12 09:24:21 2009 -0800 @@ -221,6 +221,14 @@ // Push resultant oop onto stack push(obj); + + // Keep track of whether opportunities exist for StringBuilder + // optimizations. + if (OptimizeStringConcat && + (klass == C->env()->StringBuilder_klass() || + klass == C->env()->StringBuffer_klass())) { + C->set_has_stringbuilder(true); + } } #ifndef PRODUCT