src/share/vm/classfile/javaClasses.cpp

changeset 5743
63147986a428
parent 5496
ca0165daa6ec
child 5835
07f8c2a453f8
     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");

mercurial