687 assert(str1->klass() == SystemDictionary::String_klass(), |
687 assert(str1->klass() == SystemDictionary::String_klass(), |
688 "must be java String"); |
688 "must be java String"); |
689 assert(str2->klass() == SystemDictionary::String_klass(), |
689 assert(str2->klass() == SystemDictionary::String_klass(), |
690 "must be java String"); |
690 "must be java String"); |
691 typeArrayOop value1 = java_lang_String::value_no_keepalive(str1); |
691 typeArrayOop value1 = java_lang_String::value_no_keepalive(str1); |
692 int length1 = java_lang_String::length(value1); |
692 int length1 = java_lang_String::length(str1); |
693 bool is_latin1 = java_lang_String::is_latin1(str1); |
693 bool is_latin1 = java_lang_String::is_latin1(str1); |
694 typeArrayOop value2 = java_lang_String::value_no_keepalive(str2); |
694 typeArrayOop value2 = java_lang_String::value_no_keepalive(str2); |
695 int length2 = java_lang_String::length(value2); |
695 int length2 = java_lang_String::length(str2); |
696 bool is_latin2 = java_lang_String::is_latin1(str2); |
696 bool is_latin2 = java_lang_String::is_latin1(str2); |
697 |
697 |
698 if ((length1 != length2) || (is_latin1 != is_latin2)) { |
698 if ((length1 != length2) || (is_latin1 != is_latin2)) { |
699 // Strings of different size or with different |
699 // Strings of different size or with different |
700 // coders are never equal. |
700 // coders are never equal. |