hotspot/src/share/vm/classfile/javaClasses.cpp
changeset 17081 cf52c2bc3f8c
parent 17029 9ff8d7c0ed79
child 17826 9ad5cd464a75
child 18061 cd92ca4c1331
equal deleted inserted replaced
17079:45dbf28e160b 17081:cf52c2bc3f8c
   313     to_buffer->char_at_put(index, c);
   313     to_buffer->char_at_put(index, c);
   314   }
   314   }
   315   return string;
   315   return string;
   316 }
   316 }
   317 
   317 
   318 jchar* java_lang_String::as_unicode_string(oop java_string, int& length) {
   318 jchar* java_lang_String::as_unicode_string(oop java_string, int& length, TRAPS) {
   319   typeArrayOop value  = java_lang_String::value(java_string);
   319   typeArrayOop value  = java_lang_String::value(java_string);
   320   int          offset = java_lang_String::offset(java_string);
   320   int          offset = java_lang_String::offset(java_string);
   321                length = java_lang_String::length(java_string);
   321                length = java_lang_String::length(java_string);
   322 
   322 
   323   jchar* result = NEW_RESOURCE_ARRAY(jchar, length);
   323   jchar* result = NEW_RESOURCE_ARRAY_RETURN_NULL(jchar, length);
   324   for (int index = 0; index < length; index++) {
   324   if (result != NULL) {
   325     result[index] = value->char_at(index + offset);
   325     for (int index = 0; index < length; index++) {
       
   326       result[index] = value->char_at(index + offset);
       
   327     }
       
   328   } else {
       
   329     THROW_MSG_0(vmSymbols::java_lang_OutOfMemoryError(), "could not allocate Unicode string");
   326   }
   330   }
   327   return result;
   331   return result;
   328 }
   332 }
   329 
   333 
   330 unsigned int java_lang_String::hash_code(oop java_string) {
   334 unsigned int java_lang_String::hash_code(oop java_string) {