Re: Java VM on Emb Linux recommendations?

Hello,

If performance is not critical you could use Sun's CVM. It supports the complete JVM Spec, and the CDC/Foundation stack that comes with it is fairly complete (not 100% compatible with J2SE though). CVM supports also the std protocols for debugging and profiling.

It doesn't have a JIT for x86 though, so you could find it not fast enough. It should be faster than KVM. OTOH it sure will fit in 20MB.

There are other interesting embedded Java offerings from IBM (J9 VM), NewMonics and Esmertec. On the open-source side, I'd recommend looking at Acunia's Wonka, jamvm, sablevm and kaffe (google will point you to them easily). I don't know the footprint of those; the main differenciators are the availability of a JIT, and the certification of the VM (only done on commercial products so far AFAIK).

Eric

---------------------------------------- firstname dot lastname at jaluna dot com

formatting link

Reply to
Eric Dujardin
Loading thread data ...

Thanks both Pat and Eric for your responses.

WRT native java, I would be willing to experiment. The third party jars we will require are all open source, and so we would have to develop a gcc build process for each of them before we could even build the application. I have never done this, but I would be willing to do the research and experimentation.

Performance is NOT critical, and this is not a real-time application. I have been working with Sun's CVM, but it seems to be optimized for i686, and I am looking to run it on i386. I'm attempting to rebuild it now for i386, and then if that works we'll try to run our unit tests on the production platform under CVM.

I've looked at wonka in the past, and had little success. I don't recall the particulars, so maybe it is worth revisiting. I think the bigger question I really had, was that since I am on the heavyweight end of the spectrum, I'd like to hack off the unused parts of a robust J2SE VM and try to run that, because re-use of third party (open-source) libs is the mitigating factor. Has anyone ever pruned Kaffe or Sun J2SE down to a 10-20 meg size?

I was gonna start by ripping out the swing and AWT stuff, but where to go from there? I'm not even sure which libs and jar files in /usr/java are fair game and wich ones I need to stay away from.

Reply to
Em Bed Developer

Hi,

A bit of shameless plugging for my own VM, but it sounds as if you could use JamVM (jamvm.sourceforge.net). Its "main claim to fame" is its small size. Currently the executable is around 100K on PowerPC and 80K on Intel/ARM. It also uses GNU Classpath which aims to provide an open source replacement for Sun's class library. Currently it's mostly compatible with 1.2, and has many parts compliant with 1.3 and 1.4...

It's a full VM, compliant with the 2nd edition of the JVM spec, and includes JNI support, object finalisation, fast monitors, etc. OK, it doesn't have a JIT (yet), but its interpreter runs about twice as fast as Blackdown's port of Java 1.3 on PowerPC, which is also interpreter only.

If you feel like giving it a go, give me an email...

Rob.

NewMonics

Reply to
Robert Lougher

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.