Mercurial > hg > truffle
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) { |