comparison src/share/vm/classfile/javaClasses.cpp @ 11015:7ee0d5c53c78

Merge
author chegar
date Wed, 08 May 2013 15:25:08 +0100
parents 4b52137b07c9 f258c5828eb8
children eaf3742822ec
comparison
equal deleted inserted replaced
11014:4b52137b07c9 11015:7ee0d5c53c78
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) {