[Jamvm-general] Jenkins does not start on ARM+OpenJDK+JamVM
Brought to you by:
rlougher
From: Xerxes R. <xe...@za...> - 2011-08-17 07:48:25
|
Hi JamVM team! Forwarding a bug from ubuntu: https://bugs.launchpad.net/ubuntu/+source/jenkins-xstream/+bug/827463 Jenkins fails to start becaused the OpenJDK bindings have missing implementation for java.lang.Class.getEnclosingClass(). I noticed that the gnuclasspath bindings have support. (oneiric)xranby@ac100:~/icedtea6-jamvm/jamvm/jamvm/src/classlib$ grep getEnclosing -r * gnuclasspath/reflect.c:Class *getEnclosingClass(Class *class) { gnuclasspath/reflect.c:MethodBlock *getEnclosingMethod(Class *class) { gnuclasspath/reflect.c: Class *enclosing_class = getEnclosingClass(class); gnuclasspath/reflect.c:Object *getEnclosingMethodObject(Class *class) { gnuclasspath/reflect.c: MethodBlock *mb = getEnclosingMethod(class); gnuclasspath/reflect.c:Object *getEnclosingConstructorObject(Class *class) { gnuclasspath/reflect.c: MethodBlock *mb = getEnclosingMethod(class); gnuclasspath/natives.c:uintptr_t *getEnclosingClass0(Class *class, MethodBlock *mb, gnuclasspath/natives.c: *ostack++ = (uintptr_t) getEnclosingClass(clazz); gnuclasspath/natives.c:uintptr_t *getEnclosingMethod0(Class *class, MethodBlock *mb, gnuclasspath/natives.c: *ostack++ = (uintptr_t) getEnclosingMethodObject(clazz); gnuclasspath/natives.c:uintptr_t *getEnclosingConstructor(Class *class, MethodBlock *mb, gnuclasspath/natives.c: *ostack++ = (uintptr_t) getEnclosingConstructorObject(clazz); gnuclasspath/natives.c: {"getEnclosingClass", NULL, getEnclosingClass0}, gnuclasspath/natives.c: {"getEnclosingMethod", NULL, getEnclosingMethod0}, gnuclasspath/natives.c: {"getEnclosingConstructor", NULL, getEnclosingConstructor}, gnuclasspath/lib/java/lang/VMClass.java: Class enclosingClass = getEnclosingClass(klass); gnuclasspath/lib/java/lang/VMClass.java: static native Class getEnclosingClass(Class klass); gnuclasspath/lib/java/lang/VMClass.java: static native Constructor getEnclosingConstructor(Class klass); gnuclasspath/lib/java/lang/VMClass.java: static native Method getEnclosingMethod(Class klass); Cheers Xerxes |