From a6fdf2d3bf5c3802e1e3982eed1bee911815b88f Mon Sep 17 00:00:00 2001 From: Hans Boehm Date: Fri, 28 Feb 2003 17:26:29 +0000 Subject: natMethod.cc (_Jv_CallAnyMethodA): Allocate a full jvalue for each argument. * java/lang/reflect/natMethod.cc (_Jv_CallAnyMethodA): Allocate a full jvalue for each argument. Simplify. * testsuite/libjava.jni/calls.c (docall), testsuite/libjava.jni/calls.java (longpb_f): check for argument misalignment. From-SVN: r63563 --- libjava/testsuite/libjava.jni/calls.c | 6 ++++++ libjava/testsuite/libjava.jni/calls.java | 6 ++++++ 2 files changed, 12 insertions(+) (limited to 'libjava/testsuite') diff --git a/libjava/testsuite/libjava.jni/calls.c b/libjava/testsuite/libjava.jni/calls.c index dd54005..709e55d 100644 --- a/libjava/testsuite/libjava.jni/calls.c +++ b/libjava/testsuite/libjava.jni/calls.c @@ -47,6 +47,12 @@ Java_calls_docall (JNIEnv *env, jobject _this) if (l != 2033) ++fails; + method = (*env)->GetStaticMethodID (env, klass, "longpb_f", "(BJBJBJ)J"); + l = (*env)->CallStaticLongMethod (env, klass, method, (jbyte) 13, (jlong) 3, + (jbyte) 13, (jlong) 3, (jbyte) 13, (jlong) 4); + if (l != 3033) + ++fails; + method = (*env)->GetMethodID (env, klass, "void_f", "()V"); (*env)->CallVoidMethod (env, _this, method); diff --git a/libjava/testsuite/libjava.jni/calls.java b/libjava/testsuite/libjava.jni/calls.java index b98017c..19c33be 100644 --- a/libjava/testsuite/libjava.jni/calls.java +++ b/libjava/testsuite/libjava.jni/calls.java @@ -37,6 +37,12 @@ public class calls extends base return q + 2023; } + public static long longpb_f (byte b1, long q1, byte b2, long q2, + byte b3, long q3) + { + return q1 + q2 + q3 + 3023; + } + public void void_f () { System.out.println ("void"); -- cgit v1.1