hotspot/src/share/vm/classfile/javaClasses.cpp
changeset 24330 4e65b09f7101
parent 24322 c2978d1578e3
parent 24237 7b210ef8c830
child 24424 2658d7834c6e
--- a/hotspot/src/share/vm/classfile/javaClasses.cpp	Thu May 01 17:57:29 2014 -0700
+++ b/hotspot/src/share/vm/classfile/javaClasses.cpp	Fri May 02 19:00:04 2014 -0700
@@ -421,6 +421,15 @@
   return UNICODE::as_utf8(position, len);
 }
 
+char* java_lang_String::as_utf8_string(oop java_string, int start, int len, char* buf, int buflen) {
+  typeArrayOop value  = java_lang_String::value(java_string);
+  int          offset = java_lang_String::offset(java_string);
+  int          length = java_lang_String::length(java_string);
+  assert(start + len <= length, "just checking");
+  jchar* position = value->char_at_addr(offset + start);
+  return UNICODE::as_utf8(position, len, buf, buflen);
+}
+
 bool java_lang_String::equals(oop java_string, jchar* chars, int len) {
   assert(java_string->klass() == SystemDictionary::String_klass(),
          "must be java_string");