Move Method shorty to managed heap

Change-Id: Iafd05502b498c823063d0603915a92db8c95f060
diff --git a/src/jni_internal.cc b/src/jni_internal.cc
index 2ea6f76..c60dc24 100644
--- a/src/jni_internal.cc
+++ b/src/jni_internal.cc
@@ -123,9 +123,9 @@
 byte* CreateArgArray(ScopedJniThreadState& ts, Method* method, va_list ap) {
   size_t num_bytes = method->NumArgArrayBytes();
   UniquePtr<byte[]> arg_array(new byte[num_bytes]);
-  const StringPiece& shorty = method->GetShorty();
-  for (int i = 1, offset = 0; i < shorty.size(); ++i) {
-    switch (shorty[i]) {
+  String* shorty = method->GetShorty();
+  for (int i = 1, offset = 0; i < shorty->GetLength(); ++i) {
+    switch (shorty->CharAt(i)) {
       case 'Z':
       case 'B':
       case 'C':
@@ -160,9 +160,9 @@
 byte* CreateArgArray(ScopedJniThreadState& ts, Method* method, jvalue* args) {
   size_t num_bytes = method->NumArgArrayBytes();
   UniquePtr<byte[]> arg_array(new byte[num_bytes]);
-  const StringPiece& shorty = method->GetShorty();
-  for (int i = 1, offset = 0; i < shorty.size(); ++i) {
-    switch (shorty[i]) {
+  String* shorty = method->GetShorty();
+  for (int i = 1, offset = 0; i < shorty->GetLength(); ++i) {
+    switch (shorty->CharAt(i)) {
       case 'Z':
       case 'B':
       case 'C':