--- old/hotspot/src/share/vm/opto/library_call.cpp 2013-09-04 13:51:52.000000000 +0400 +++ new/hotspot/src/share/vm/opto/library_call.cpp 2013-09-04 13:51:52.000000000 +0400 @@ -1280,6 +1280,11 @@ const TypeAry* target_array_type = TypeAry::make(TypeInt::CHAR, TypeInt::make(0, target_length, Type::WidenMin)); const TypeAryPtr* target_type = TypeAryPtr::make(TypePtr::BotPTR, target_array_type, target_array->klass(), true, Type::OffsetBot); + // String.value field is known to be @Stable. + if (UseImplicitStableValues) { + target = cast_array_to_stable(target, target_type); + } + IdealKit kit(this, false, true); #define __ kit. Node* zero = __ ConI(0);