Re: [Jamvm-general] JSR 308: symbol JVM_GetClassTypeAnnotations not defined for JamVM + OpenJDK 8
Brought to you by:
rlougher
From: Xerxes R. <xe...@za...> - 2013-04-09 12:31:42
|
Robert Lougher wrote: > > Hi Xerxes, > > I've now pushed JSR 308 support in JamVM: > > http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=10b7c81c597809b2aaf28c8243453a21c33d4af3 > > This relies on improvements in storage of annotations here: > > http://git.berlios.de/cgi-bin/cgit.cgi/jamvm/commit/?id=0330f06b5839f4d8c316b46d92de9396dd7e95ad > > Unfortunately this isn't going to help much in testing JSR 292 with > IcedTea 3 (OpenJDK 8)! With the lastest versions of OpenJDK 8, the > JSR 292 jtreg tests are currently crashing. I've not had time to look > at all the crashes in detail, but the first appears to be related to > uses of interface default methods - another new feature of JDK 8. > It's likely that the JDK has been updated to use them - I'm hopeful > that nothing has changed in the JSR 292 internals. > > I started looking at interface default methods last week, before > stopping work to do JSR 308. From the looks of it, it can be handled > by some modifications to the existing code in JamVM for so-called > Miranda methods. Hopefully, it'll only take a couple of days. > > The new JSR 292 implementation in JDK 8 was backported to 7 updates (I > believe 7u14), so JamVMs JSR 292 implementation should work with it, > although I haven't had time to try it myself (yet). > > Thanks, > Rob. > I have worked on a new icedtea 3 patch: http://old.nabble.com/file/p35272149/icedtea-3-openjdk-8-b80-jamvm.patch icedtea-3-openjdk-8-b80-jamvm.patch This time OpenJDK 8 gets built using the JamVM libjvm.so and yes i agree something with "default methods" in OpenJDK 8 break the build, at least i see a related missing JVM_IsVMGeneratedMethodIx method during linking: Linking libhprof.so /usr/bin/gcc-4.6 -Xlinker --hash-style=both -Xlinker -z -Xlinker defs -Xlinker -O1 -shared -L/home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/lib/i386 -L/home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/lib/i386/server -Xlinker -z -Xlinker origin -Xlinker -rpath -Xlinker \$ORIGIN -Xlinker -version-script=/home/xranby/icedtea-8-b80/openjdk-boot/jdk/makefiles/mapfiles/libhprof/mapfile-vers -Xlinker -soname=libhprof.so -o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/lib/i386/libhprof.so /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/debug_malloc.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_blocks.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_check.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_class.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_cpu.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_error.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_event.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_frame.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_init.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_io.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_ioname.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_listener.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_loader.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_md.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_monitor.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_object.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_reference.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_site.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_stack.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_string.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_table.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_tag.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_tls.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_trace.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_tracker.o /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libhprof_jvmti/hprof_util.o -ldl /home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/objs/libverify/check_code.o: In function `verify_method': /home/xranby/icedtea-8-b80/openjdk-boot/jdk/src/share/native/common/check_code.c:988: undefined reference to `JVM_IsVMGeneratedMethodIx' collect2: ld returned 1 exit status make[3]: *** [/home/xranby/icedtea-8-b80/openjdk.build-boot/jdk/lib/i386/libverify.so] Error 1 make[3]: *** Waiting for unfinished jobs.... make[3]: Leaving directory `/home/xranby/icedtea-8-b80/openjdk-boot/jdk/makefiles' Cheers Xerxes -- View this message in context: http://old.nabble.com/JSR-308%3A-symbol-JVM_GetClassTypeAnnotations-not-defined-for-JamVM-%2B-OpenJDK-8-tp35228844p35272149.html Sent from the JamVM mailing list archive at Nabble.com. |