OSDN Git Service

2007-03-12 Kyle Galloway <kgallowa@redhat.com>
authorkgallowa <kgallowa@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Mar 2007 20:12:47 +0000 (20:12 +0000)
committerkgallowa <kgallowa@138bc75d-0d04-0410-961f-82ee72b054a4>
Mon, 12 Mar 2007 20:12:47 +0000 (20:12 +0000)
* jvmti.cc (_Jv_JVMTI_GetArgumentsSize): Make wide type arrays count
as a sigle slot.

git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@122863 138bc75d-0d04-0410-961f-82ee72b054a4

libjava/ChangeLog
libjava/jvmti.cc

index ef215ef..02a20c2 100644 (file)
@@ -1,3 +1,8 @@
+2007-03-12  Kyle Galloway  <kgallowa@redhat.com>
+
+       * jvmti.cc (_Jv_JVMTI_GetArgumentsSize): Make wide type arrays count
+       as a sigle slot.
+
 2007-03-12  Marco Trudel  <mtrudel@gmx.ch>
 
        * java/lang/natString.cc (getBytes (jstring enc)):
index 0688787..e9fa0a2 100644 (file)
@@ -1111,7 +1111,13 @@ _Jv_JVMTI_GetArgumentsSize (jvmtiEnv *env, jmethodID method, jint *size)
           || sig[i] == 'I' || sig[i] == 'F')
         num_slots++;
       else if (sig[i] == 'J' || sig[i] == 'D')
-        num_slots+=2;
+        {
+          // If this is an array of wide types it uses a single slot
+          if (i > 0 && sig[i-1] == '[')
+            num_slots++;
+          else
+            num_slots += 2;
+        }
       else if (sig[i] == 'L')
         {
           num_slots++;