[vmkit-commits] [PATCH] Impl JVM_NewInstanceFromConstructor

Nicolas Geoffray nicolas.geoffray at gmail.com
Tue Nov 8 08:51:42 PST 2011


Looks good, thanks!

On Mon, Nov 7, 2011 at 3:51 AM, Will Dietz <wdietz2 at illinois.edu> wrote:

> On Fri, Nov 4, 2011 at 4:23 PM, Nicolas Geoffray
> <nicolas.geoffray at gmail.com> wrote:
> > Looks good! This is again very similar to what is in classpath. I know I
> > said that you should not worry about duplicating code, but after
> reviewing a
> > few of your changes, if you could somehow try to share when you can,
> that'd
> > be great :)
> > But feel free to ignore for now, if that's on your way of making the
> > progress you want.
> > Nicolas
>
> Good call.
>
> Updated patch inlined below.  Much simpler :).
>
> ~Will
>
> From b2e31a674c06cb9dc2a19c42d97053e91590f5b0 Mon Sep 17 00:00:00 2001
> From: Will Dietz <w at wdtz.org>
> Date: Sun, 6 Nov 2011 01:33:34 -0500
> Subject: [PATCH 4/8] Impl JVM_NewInstanceFromConstructor, using existing
>  Classpath code.
>
> ---
>  lib/J3/ClassLib/OpenJDK/OpenJDK.inc |   22 +++++++++++++++++++++-
>  1 files changed, 21 insertions(+), 1 deletions(-)
>
> diff --git a/lib/J3/ClassLib/OpenJDK/OpenJDK.inc
> b/lib/J3/ClassLib/OpenJDK/OpenJDK.inc
> index 4f25fb0..15029ea 100644
> --- a/lib/J3/ClassLib/OpenJDK/OpenJDK.inc
> +++ b/lib/J3/ClassLib/OpenJDK/OpenJDK.inc
> @@ -1464,7 +1464,27 @@ JVM_InvokeMethod(JNIEnv *env, jobject method,
> jobject _obj, jobjectArray args0)
>  */
>  JNIEXPORT jobject JNICALL
>  JVM_NewInstanceFromConstructor(JNIEnv *env, jobject _c, jobjectArray
> args0) {
> -  NYI();
> +  JavaObject * ret = 0;
> +  JavaObjectConstructor * c = 0;
> +  llvm_gcroot(ret, 0);
> +  llvm_gcroot(c, 0);
> +
> +  BEGIN_JNI_EXCEPTION
> +
> +  Jnjvm* vm = JavaThread::get()->getJVM();
> +
> +  c = *(JavaObjectConstructor**)_c;
> +
> +  ret = proceedConstructor(
> +    c,
> +    args0? *(ArrayObject**)args0 : 0,
> +    JavaObjectConstructor::getClass(c)->getDelegatee(),
> +    0 /* unused */ );
> +
> +  RETURN_FROM_JNI((jobject)th->pushJNIRef(ret));
> +  END_JNI_EXCEPTION
> +
> +  return 0;
>  }
>
>  /*
> --
> 1.7.5.1
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/vmkit-commits/attachments/20111108/d2e4c493/attachment.html>


More information about the vmkit-commits mailing list