--- old/src/share/vm/classfile/javaClasses.inline.hpp 2017-04-25 16:44:16.755175828 +0200 +++ new/src/share/vm/classfile/javaClasses.inline.hpp 2017-04-25 16:44:16.607175834 +0200 @@ -65,10 +65,10 @@ assert(CompactStrings || coder == CODER_UTF16, "Must be UTF16 without CompactStrings"); return coder == CODER_LATIN1; } -int java_lang_String::length(oop java_string) { + +int java_lang_String::length(oop java_string, typeArrayOop value_array) { assert(initialized, "Must be initialized"); assert(is_instance(java_string), "must be java_string"); - typeArrayOop value_array = ((typeArrayOop)java_string->obj_field(value_offset)); if (value_array == NULL) { return 0; } @@ -79,6 +79,10 @@ } return arr_length; } +int java_lang_String::length(oop java_string) { + typeArrayOop value_array = (typeArrayOop)java_string->obj_field(value_offset); + return length(java_string, value_array); +} bool java_lang_String::is_instance_inlined(oop obj) { return obj != NULL && obj->klass() == SystemDictionary::String_klass();