Re: [kaffe] ARM and kaffe
Kevin D. Kissell wrote: Oh well, I am working through similar issue. To make Kaffe workiing somehow set into configuration '--with-engine=interp'. It'll solve your problem but makes your kaffe working terrible slowly. The real problem is somewhere into JIT3 module and it is a memory management issue. I've sent a few letters to the guy whom ported it but no answer what so ever. I tried already but no luck. I had kaffe JIT3 95% working with MIPS after hacking up the 1.0.7 source base back in 2002. It failed 6-8 regression tests, but ran well enough to handle the embedded CaffeineMark benchmarks. Then 1.1.0 came out, which was a huge step backwards for non-x86 JIT3, and after beating my head against it for a week or two, I gave up. I was able to determine that incomplete internal data structures containing null pointers were being used, but couldn't figure out why, and whoever maintained JIT3 apparently couldn't care less about non-PC platforms. I'll use this as an opportunity to drop a note to the list on what I plan to be hacking on in the next few months. If you read my Advogato diary, you might have read that after 6 years in California, I'm quitting my job and I'm moving back home to Vancouver, British Columbia, Canada. I should be finished with the move in mid-April. I've been saving, so I'm planning to take at least 6 months to just work on my own projects and do a little freelance work on the side to cover expenses. The #1 project I want to do is build a full blown regression testing setup for Kaffe. It will be useable by other projects as well. But Kaffe is going to be the focus and the original guinea pig. Really, I started working on this particular problem 5 years ago when I was still at Transvirtual. I was developing a testrig for testing Kaffe for in-house use, but it wasn't very well developed by the time the company shut down. About 3 years ago, I also put some scripts together for Kaffe, but there was too half-baked and I never deployed it publicly because I just didn't have enough time to fully develop it. (I think I described some of my ideas to Dalibor at FOSDEM two years ago). The last couple of years, I've done a fair amount of similar work building in-house systems for Digeo. So it's sort of unfinished business for me... The difference this time is that I've got time, money and server space - so I think I'll be able to pull it off. I've also got some ARM, MIPS, SuperH, and PowerPC hardware I've collected over the years that I'd like to put online and dedicate to Kaffe testing. I'm going to set up a wiki in few weeks with all my ideas - it would be a pretty long email if I list them all here. To the end users, the system will look like an ordinary website where they can log in, setup tests, and run them. I'll be able to provision Xen sessions on the fly for testing things like various x86 Linux distributions, *BSD, Solaris, etc. I'm aiming for a folksonomy model of doing distributed testing. There will be data collection and querying facilities -- I've been playing around a lot with RDF, and I think I'm going to try to use it. Think of it as a replacement for SQL - but with easier import/export and Web 2.0 mashup possibilities. It will be really, really easy to build web pages that query the RDF database, and generate reports on how healthy Kaffe is for a particular target. It's quite an ambitious plan -- but I'm going to start small. The first thing I'm going to try to nail is getting decent regression testing for x86, then ARM and MIPS, because those are the platforms I want to use. :-) Oh, and everything will be released as free software too, in case you had any doubts... Cheers, - Jim ___ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] ARM and kaffe
Oh well, I am working through similar issue. To make Kaffe workiing somehow set into configuration '--with-engine=interp'. It'll solve your problem but makes your kaffe working terrible slowly. The real problem is somewhere into JIT3 module and it is a memory management issue. I've sent a few letters to the guy whom ported it but no answer what so ever. I tried already but no luck. I had kaffe JIT3 95% working with MIPS after hacking up the 1.0.7 source base back in 2002. It failed 6-8 regression tests, but ran well enough to handle the embedded CaffeineMark benchmarks. Then 1.1.0 came out, which was a huge step backwards for non-x86 JIT3, and after beating my head against it for a week or two, I gave up. I was able to determine that incomplete internal data structures containing null pointers were being used, but couldn't figure out why, and whoever maintained JIT3 apparently couldn't care less about non-PC platforms. Regards, Kevin K. ___ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] ARM and kaffe
Hello all, Oh well, I am working through similar issue. To make Kaffe workiing somehow set into configuration '--with-engine=interp'. It'll solve your problem but makes your kaffe working terrible slowly. The real problem is somewhere into JIT3 module and it is a memory management issue. I've sent a few letters to the guy whom ported it but no answer what so ever. I tried already but no luck. -- Thanks, Rudolf ___ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
Re: [kaffe] ARM and kaffe
Hi Rudolf, In a previous post of mine at 10/02/2006, I have attached a script called make_kaffe.sh. This script passes a set of parameters to configure, so that kaffe compiles successfully for ARM. In fact, I use a x86 as a host machine and crosscompile there for the ARM. Regards, Ioannis Liverezas ___ kaffe mailing list kaffe@kaffe.org http://kaffe.org/cgi-bin/mailman/listinfo/kaffe
[kaffe] ARM and kaffe
Hello, I tried to get the caffe working on ARM. With JIT I get: -sh-3.00# java HelloWorld.class Internal error: caught an unexpected exception. Please check your CLASSPATH and your installation. java/lang/IllegalArgumentException: Illegal Load: 0.0 at java.lang.VMThrowable.fillInStackTrace(VMThrowable.java:native) at java.lang.VMThrowable.fillInStackTrace(VMThrowable.java:76) at java.lang.Throwable.fillInStackTrace(Throwable.java:492) at java.lang.Throwable.init(Throwable.java:161) at java.lang.Exception.init(Exception.java:78) at java.lang.RuntimeException.init(RuntimeException.java:76) at java.lang.IllegalArgumentException.init(IllegalArgumentException.java:73) at java.util.Hashtable.init(Hashtable.java:267) at java.util.Hashtable.init(Hashtable.java:122) at java.util.Properties.init(Properties.java:30) at java.util.Properties.init(Properties.java:27) at java.lang.System.clinit(System.java:44) at java.lang.Throwable.clinit(Throwable.java:403) Aborted Compile date : Pá úno 3 14:49:28 CET 2006 Compile host : mar Install prefix: /usr/kaffe Thread system : unix-pthreads CC: arm_v4le-gcc CFLAGS: -g -O0 -Wall -Wstrict-prototypes -fsigned-char I tried both 1.1.6 and 1.1.3 and with and without -O0 With the intrp I can move further just to: ... Loading java/lang/InternalError.class(/usr/kaffe/jre/lib/rt.jar) [compressed] effdcsvcvccvcvx Loading java/lang/ExceptionInInitializerError.class(/usr/kaffe/jre/lib/rt.jar) [compressed] # After InternalError.class it waits for enter and when I wrote effdcsvcvccvcvx + enter it quits silentely. I would like to know if someone succeeded runing it on ARM (I was trying the qemu-system-arm and also dnp1110 as real hw)? I tried some patches from mailing list but no luck. Any ideas? gcc version: 3.4.4 glibc: 2.3.4 -- Thanks, Rudolf More verbose: -sh-3.00# java -verbosejit /tmp/HelloWorld JIT: java/lang/String.clinit()V time 281ms (281ms) @ 0xfe628 JIT: java/lang/String$ICComp.init(Ljava/lang/String$1;)V time 6ms (287ms) @ 0x45ad8 JIT: java/lang/String$ICComp.init()V time 11ms (298ms) @ 0x45bb8 JIT: java/lang/Object.init()V time 11ms (309ms) @ 0xc5af8 JIT: java/security/CodeSource.init(Ljava/net/URL;[Ljava/security/cert/Certificate;)V time 1750ms (2059ms) @ 0x122c00 JIT: java/security/Permissions.init()V time 24ms (2083ms) @ 0x134be8 JIT: java/security/PermissionCollection.init()V time 10ms (2093ms) @ 0x126138 JIT: java/security/Permissions.this()V time 500ms (2593ms) @ 0x135240 JIT: java/util/Hashtable.init()V time 21ms (2614ms) @ 0x135430 JIT: java/util/Hashtable.init(IF)V time 731ms (3345ms) @ 0x145058 JIT: java/util/Dictionary.init()V time 11ms (3356ms) @ 0x1262f8 JIT: java/lang/StringBuffer.init(Ljava/lang/String;)V time 34ms (3390ms) @ 0x136430 JIT: java/lang/String.getChars(II[CI)V time 19ms (3409ms) @ 0x146048 JIT: java/lang/System.clinit()V time 692ms (4101ms) @ 0x146808 JIT: java/lang/VMSystem.makeStandardInputStream()Ljava/io/InputStream; time 522ms (4623ms) @ 0x14c248 JIT: java/io/FileDescriptor.clinit()V time 1513ms (6136ms) @ 0x14d820 JIT: gnu/java/nio/channels/FileChannelImpl.clinit()V time 19ms (6155ms) @ 0x14dc08 JIT: java/lang/System.loadLibrary(Ljava/lang/String;)V time 75ms (6230ms) @ 0x14c9f8 JIT: java/lang/Runtime.clinit()V time 21ms (6251ms) @ 0x14cbf8 JIT: java/lang/Runtime.init()V time 524ms (6775ms) @ 0x161068 JIT: gnu/classpath/SystemProperties.clinit()V time 755ms (7530ms) @ 0x169050 JIT: java/util/Properties.init()V time 15ms (7545ms) @ 0x45f38 JIT: java/lang/System.arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V time 9ms (7554ms) @ 0x126830 JIT: java/lang/VMSystem.arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V time 545ms (8099ms) @ 0x16b050 JIT: java/lang/Object.getClass()Ljava/lang/Class; time 67ms (8166ms) @ 0x15c920 JIT: java/lang/Class.isArray()Z time 121ms (8287ms) @ 0x15ca60 JIT: java/lang/reflect/Array.clinit()V time 525ms (8812ms) @ 0x173248 JIT: java/util/HashMap.init()V time 23ms (8835ms) @ 0x173430 JIT: java/util/HashMap.init(IF)V time 130ms (8965ms) @ 0x178058 JIT: java/util/AbstractMap.init()V time 4ms (8969ms) @ 0x126678 JIT: java/lang/StringBuffer.append(F)Ljava/lang/StringBuffer; time 24ms (8993ms) @ 0x173618 JIT: java/lang/Number.clinit()V time 34ms (9027ms) @ 0x176050 JIT: java/lang/Float.clinit()V time 236ms (9263ms) @ 0x126e58 JIT: java/lang/VMClassLoader.clinit()V time 18ms (9281ms) @ 0x173818 JIT: java/lang/VMClassLoader.getPrimitiveClass(C)Ljava/lang/Class; time 45ms (9326ms) @ 0x17d050 JIT: java/lang/Float.toString(F)Ljava/lang/String; time 78ms (9404ms) @ 0x1751d8 JIT: java/lang/VMDouble.clinit()V time 17ms (9421ms) @ 0x175358 JIT: java/lang/Runtime.getRuntime()Ljava/lang/Runtime; time 9ms (9430ms) @ 0x1752a0 JIT: java/lang/NullPointerException.init()V time 11ms (9441ms) @ 0x126f38 JIT: java/lang/RuntimeException.init()V time 10ms (9451ms) @