1.1 --- a/src/share/vm/classfile/javaClasses.cpp Tue Sep 17 20:20:03 2013 +0200 1.2 +++ b/src/share/vm/classfile/javaClasses.cpp Wed Sep 18 07:02:10 2013 -0700 1.3 @@ -438,6 +438,29 @@ 1.4 return true; 1.5 } 1.6 1.7 +bool java_lang_String::equals(oop str1, oop str2) { 1.8 + assert(str1->klass() == SystemDictionary::String_klass(), 1.9 + "must be java String"); 1.10 + assert(str2->klass() == SystemDictionary::String_klass(), 1.11 + "must be java String"); 1.12 + typeArrayOop value1 = java_lang_String::value(str1); 1.13 + int offset1 = java_lang_String::offset(str1); 1.14 + int length1 = java_lang_String::length(str1); 1.15 + typeArrayOop value2 = java_lang_String::value(str2); 1.16 + int offset2 = java_lang_String::offset(str2); 1.17 + int length2 = java_lang_String::length(str2); 1.18 + 1.19 + if (length1 != length2) { 1.20 + return false; 1.21 + } 1.22 + for (int i = 0; i < length1; i++) { 1.23 + if (value1->char_at(i + offset1) != value2->char_at(i + offset2)) { 1.24 + return false; 1.25 + } 1.26 + } 1.27 + return true; 1.28 +} 1.29 + 1.30 void java_lang_String::print(Handle java_string, outputStream* st) { 1.31 oop obj = java_string(); 1.32 assert(obj->klass() == SystemDictionary::String_klass(), "must be java_string");