aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyle Galloway <kgallowa@redhat.com>2007-03-12 20:12:47 +0000
committerKyle Galloway <kgallowa@gcc.gnu.org>2007-03-12 20:12:47 +0000
commitb389f63b057a9ab1a27fa6d0fd5bfae71b6b0818 (patch)
treeb84ae8d569e6095686be19dade278ec187fd4bac
parent80ca80e9cc14aeebef210761a9083094346ad2ce (diff)
downloadgcc-b389f63b057a9ab1a27fa6d0fd5bfae71b6b0818.zip
gcc-b389f63b057a9ab1a27fa6d0fd5bfae71b6b0818.tar.gz
gcc-b389f63b057a9ab1a27fa6d0fd5bfae71b6b0818.tar.bz2
jvmti.cc (_Jv_JVMTI_GetArgumentsSize): Make wide type arrays count as a sigle slot.
2007-03-12 Kyle Galloway <kgallowa@redhat.com> * jvmti.cc (_Jv_JVMTI_GetArgumentsSize): Make wide type arrays count as a sigle slot. From-SVN: r122863
-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 ef215ef..02a20c2 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 0688787..e9fa0a2 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++;