Those functions should return values wrapped in approptiate objects, not the value itself. This caused a SIGSEGV when running clojure because an integer value was accessed like an object reference.
Signed-off-by: Tomek Grabiec <tgrab...@gmail.com> --- vm/reflection.c | 4 ++-- 1 files changed, 2 insertions(+), 2 deletions(-) diff --git a/vm/reflection.c b/vm/reflection.c index 027bfb4..6d03a57 100644 --- a/vm/reflection.c +++ b/vm/reflection.c @@ -721,7 +721,7 @@ call_virtual_method(struct vm_method *vmm, struct vm_object *o, return NULL; vm_call_method_this_a(vmm, o, args, &result); - return result.l; + return wrap(&result, vmm->return_type.vm_type); } static struct vm_object * @@ -734,7 +734,7 @@ call_static_method(struct vm_method *vmm, struct vm_object *args_array) return NULL; vm_call_method_a(vmm, args, &result); - return result.l; + return wrap(&result, vmm->return_type.vm_type); } jint native_method_get_modifiers_internal(struct vm_object *this) -- 1.6.0.4 ------------------------------------------------------------------------------ Come build with us! The BlackBerry(R) Developer Conference in SF, CA is the only developer event you need to attend this year. Jumpstart your developing skills, take BlackBerry mobile applications to market and stay ahead of the curve. Join us from November 9 - 12, 2009. Register now! http://p.sf.net/sfu/devconference _______________________________________________ Jatovm-devel mailing list Jatovm-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/jatovm-devel