summaryrefslogtreecommitdiff
path: root/libjava
diff options
context:
space:
mode:
authorkgallowa <kgallowa@138bc75d-0d04-0410-961f-82ee72b054a4>2007-03-12 20:12:47 +0000
committerkgallowa <kgallowa@138bc75d-0d04-0410-961f-82ee72b054a4>2007-03-12 20:12:47 +0000
commitf870c81b90b8c2ea45ef4562d1e8fe270545ef7b (patch)
treeb84ae8d569e6095686be19dade278ec187fd4bac /libjava
parent16e1a7dadf7fa1ae62727891ad33475e40cf35a4 (diff)
downloadgcc-f870c81b90b8c2ea45ef4562d1e8fe270545ef7b.tar.gz
2007-03-12 Kyle Galloway <kgallowa@redhat.com>
* 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
Diffstat (limited to 'libjava')
-rw-r--r--libjava/ChangeLog5
-rw-r--r--libjava/jvmti.cc8
2 files changed, 12 insertions, 1 deletions
diff --git a/libjava/ChangeLog b/libjava/ChangeLog
index ef215ef31a1..02a20c24b41 100644
--- a/libjava/ChangeLog
+++ b/libjava/ChangeLog
@@ -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)):
diff --git a/libjava/jvmti.cc b/libjava/jvmti.cc
index 068878793d5..e9fa0a22927 100644
--- a/libjava/jvmti.cc
+++ b/libjava/jvmti.cc
@@ -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++;