From f870c81b90b8c2ea45ef4562d1e8fe270545ef7b Mon Sep 17 00:00:00 2001 From: kgallowa Date: Mon, 12 Mar 2007 20:12:47 +0000 Subject: [PATCH] 2007-03-12 Kyle Galloway * 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 | 5 +++++ libjava/jvmti.cc | 8 +++++++- 2 files changed, 12 insertions(+), 1 deletion(-) diff --git a/libjava/ChangeLog b/libjava/ChangeLog index ef215ef31a1e..02a20c24b41a 100644 --- a/libjava/ChangeLog +++ b/libjava/ChangeLog @@ -1,3 +1,8 @@ +2007-03-12 Kyle Galloway + + * jvmti.cc (_Jv_JVMTI_GetArgumentsSize): Make wide type arrays count + as a sigle slot. + 2007-03-12 Marco Trudel * java/lang/natString.cc (getBytes (jstring enc)): diff --git a/libjava/jvmti.cc b/libjava/jvmti.cc index 068878793d5b..e9fa0a229272 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++; -- 2.47.2