aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/natClass.cc
diff options
context:
space:
mode:
authorTom Tromey <tromey@cygnus.com>2000-01-06 00:56:21 +0000
committerTom Tromey <tromey@gcc.gnu.org>2000-01-06 00:56:21 +0000
commit41ecf9300ee81314e123465f55879b1f08d45a42 (patch)
tree1965e52244bebcbaf8849bb44cebccffca987422 /libjava/java/lang/natClass.cc
parentfe5a58103115ff22b1707fb1f561eabe8dcc3f39 (diff)
downloadgcc-41ecf9300ee81314e123465f55879b1f08d45a42.zip
gcc-41ecf9300ee81314e123465f55879b1f08d45a42.tar.gz
gcc-41ecf9300ee81314e123465f55879b1f08d45a42.tar.bz2
natClass.cc (getMethod): Compute offset relative to `klass's methods table, not `this's table.
* java/lang/natClass.cc (getMethod): Compute offset relative to `klass's methods table, not `this's table. * java/lang/reflect/natMethod.cc (_Jv_CallNonvirtualMethodA): In unwrapping/widening case, check whether `k' is null, not whether it is primitive. Initialize `num' from `argelts', not `paramelts'. Correct create and pass arguments to ffi_call. Don't let presence of `this' argument affect index used to look in argument arrays. (COPY): Set appropriate element in `values' vector. From-SVN: r31253
Diffstat (limited to 'libjava/java/lang/natClass.cc')
-rw-r--r--libjava/java/lang/natClass.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/libjava/java/lang/natClass.cc b/libjava/java/lang/natClass.cc
index 68905f5..533f7ab 100644
--- a/libjava/java/lang/natClass.cc
+++ b/libjava/java/lang/natClass.cc
@@ -477,7 +477,8 @@ java::lang::Class::getMethod (jstring name, JArray<jclass> *param_types)
break;
Method *rmethod = new Method ();
- rmethod->offset = (char*) (&klass->methods[i]) - (char*) methods;
+ rmethod->offset = ((char *) (&klass->methods[i])
+ - (char *) klass->methods);
rmethod->declaringClass = klass;
return rmethod;
}