hotspot/src/share/vm/classfile/javaClasses.cpp
changeset 14477 95e66ea71f71
parent 14391 df0a1573d5bd
child 14490 5bb45ed999ee
equal deleted inserted replaced
14470:f6651390f4e7 14477:95e66ea71f71
   344   if (length == 0) return 0;
   344   if (length == 0) return 0;
   345 
   345 
   346   typeArrayOop value  = java_lang_String::value(java_string);
   346   typeArrayOop value  = java_lang_String::value(java_string);
   347   int          offset = java_lang_String::offset(java_string);
   347   int          offset = java_lang_String::offset(java_string);
   348   return java_lang_String::to_hash(value->char_at_addr(offset), length);
   348   return java_lang_String::to_hash(value->char_at_addr(offset), length);
       
   349 }
       
   350 
       
   351 char* java_lang_String::as_quoted_ascii(oop java_string) {
       
   352   typeArrayOop value  = java_lang_String::value(java_string);
       
   353   int          offset = java_lang_String::offset(java_string);
       
   354   int          length = java_lang_String::length(java_string);
       
   355 
       
   356   jchar* base = (length == 0) ? NULL : value->char_at_addr(offset);
       
   357   if (base == NULL) return NULL;
       
   358 
       
   359   int result_length = UNICODE::quoted_ascii_length(base, length) + 1;
       
   360   char* result = NEW_RESOURCE_ARRAY(char, result_length);
       
   361   UNICODE::as_quoted_ascii(base, length, result, result_length);
       
   362   assert(result_length >= length + 1, "must not be shorter");
       
   363   assert(result_length == (int)strlen(result) + 1, "must match");
       
   364   return result;
   349 }
   365 }
   350 
   366 
   351 unsigned int java_lang_String::hash_string(oop java_string) {
   367 unsigned int java_lang_String::hash_string(oop java_string) {
   352   int          length = java_lang_String::length(java_string);
   368   int          length = java_lang_String::length(java_string);
   353   // Zero length string doesn't hash necessarily hash to zero.
   369   // Zero length string doesn't hash necessarily hash to zero.