--- old/src/share/vm/classfile/javaClasses.hpp 2014-11-09 16:45:41.648889270 +0300 +++ new/src/share/vm/classfile/javaClasses.hpp 2014-11-09 16:45:41.580889268 +0300 @@ -131,7 +131,9 @@ static typeArrayOop value(oop java_string) { assert(initialized && (value_offset > 0), "Must be initialized"); assert(is_instance(java_string), "must be java_string"); - return (typeArrayOop) java_string->obj_field(value_offset); + oop value = java_string->obj_field(value_offset); + assert((value->is_typeArray() && TypeArrayKlass::cast(value->klass())->element_type() == T_CHAR), "expect char[]"); + return typeArrayOop(value); } static unsigned int hash(oop java_string) { assert(initialized && (hash_offset > 0), "Must be initialized"); @@ -345,8 +347,8 @@ // Set JavaThread for instance static void set_thread(oop java_thread, JavaThread* thread); // Name - static typeArrayOop name(oop java_thread); - static void set_name(oop java_thread, typeArrayOop name); + static oop name(oop java_thread); + static void set_name(oop java_thread, oop name); // Priority static ThreadPriority priority(oop java_thread); static void set_priority(oop java_thread, ThreadPriority priority);