diff options
author | Kyle Galloway <kgallowa@redhat.com> | 2007-03-12 20:12:47 +0000 |
---|---|---|
committer | Kyle Galloway <kgallowa@gcc.gnu.org> | 2007-03-12 20:12:47 +0000 |
commit | b389f63b057a9ab1a27fa6d0fd5bfae71b6b0818 (patch) | |
tree | b84ae8d569e6095686be19dade278ec187fd4bac /libjava/jvmti.cc | |
parent | 80ca80e9cc14aeebef210761a9083094346ad2ce (diff) | |
download | gcc-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
Diffstat (limited to 'libjava/jvmti.cc')
-rw-r--r-- | libjava/jvmti.cc | 8 |
1 files changed, 7 insertions, 1 deletions
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++; |