OESF Portables Forum

Model Specific Forums => Sharp Zaurus => Zaurus - pdaXrom => Topic started by: LordDavon on March 02, 2004, 09:19:47 pm

Title: JamVM (Java Virtual Machine) Uploaded.
Post by: LordDavon on March 02, 2004, 09:19:47 pm
JamVM \"Features\" (from the home page)
For those interested in the design of virtual machines, JamVM includes a number of optimisations to improve speed and reduce foot-print. A list, in no particular order, is given below.
Uses native threading (posix threads). Full thread implementation including Thread.interrupt()
Object references are direct pointers (i.e. no handles)
Supports class loaders
Efficient thin locks for fast locking in uncontended cases (the majority of locking) without using spin-locking
Two word object header to minimise heap overhead (lock word and class pointer)
Execution engine supports basic switched interpreter and threaded intepreter, to minimise dispatch overhead (requires gcc value labels)
Stop-the-world mark and sweep garbage collector
Thread suspension uses signals to reduce suspend latency and improve performance (no suspension checks during normal execution)
Full object finalisation support within the garbage collector (with finaliser thread)
Garbage collector can run synchronously or asynchronously within its own thread
String constants within class files are stored in hash table to minimise class data overhead (string constants shared between all classes)
Supports JNI and dynamic loading for use with standard libraries
Uses its own lightweight native interface for internal native methods without overhead of JNI
JavaVM is written in C, with a small amount of platform dependent assembler, and is easily portable to other architectures.

http://zaurus.spy.org/feeds/davonz (http://zaurus.spy.org/feeds/davonz)

Feedback appreciated.

LD
Title: JamVM (Java Virtual Machine) Uploaded.
Post by: doublec on March 02, 2004, 10:03:02 pm
What Java VM did you port? Do you have a link to the home page?
Title: JamVM (Java Virtual Machine) Uploaded.
Post by: LordDavon on March 02, 2004, 10:36:10 pm
http://jamvm.sourceforge.net/ (http://jamvm.sourceforge.net/)
Title: JamVM (Java Virtual Machine) Uploaded.
Post by: ced on March 03, 2004, 03:23:19 am
how did you compile it?

I\'m running the standard Sharp rom and I get this:

Code: [Select]
./jamvm -cp .

Couldn\'t allocate the heap. Abording.


Code: [Select]
bash-2.05$ free

              total         used         free       shared      buffers

  Mem:        29644        25756         3888            0          188

 Swap:            0            0            0

Total:        29644        25756         3888

bash-2.05$ ldd jamvm

        libpthread.so.0 => /lib/libpthread.so.0 (0x40022000)

        libdl.so.2 => /lib/libdl.so.2 (0x40040000)

        libm.so.6 => /lib/libm.so.6 (0x4004b000)

        libXft.so.2 => /home/QtPalmtop/lib/libXft.so.2 (0x40079000)

        libXrender.so.1 => /home/QtPalmtop/lib/libXrender.so.1 (0x40092000)

        libXext.so.6 => /home/QtPalmtop/lib/libXext.so.6 (0x400a1000)

        libfontconfig.so.1 => /home/QtPalmtop/lib/libfontconfig.so.1 (0x400b7000)

        libexpat.so.1 => /home/QtPalmtop/lib/libexpat.so.1 (0x400e3000)

        libfreetype.so.6 => /home/QtPalmtop/lib/libfreetype.so.6 (0x40108000)

        libX11.so.6 => /home/QtPalmtop/lib/libX11.so.6 (0x40159000)

        libc.so.6 => /lib/libc.so.6 (0x40209000)

        /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)
Title: JamVM (Java Virtual Machine) Uploaded.
Post by: LordDavon on March 03, 2004, 08:53:07 am
It is for the X11 ROM.

LD
Title: JamVM (Java Virtual Machine) Uploaded.
Post by: ced on March 03, 2004, 09:21:24 am
so I can\'t use it with Xqt? :-(
Title: JamVM (Java Virtual Machine) Uploaded.
Post by: ScottYelich on March 03, 2004, 09:25:58 am
awesome!  is there any way to integrate this with the firefox?!

Scott
Title: JamVM (Java Virtual Machine) Uploaded.
Post by: biospank on March 03, 2004, 10:03:44 am
LD,
sorry for granted question:
have you tried to load any java awt/swing application?
cause i\'m having this problem loading a sample jar from swingset

jamvm -cp /mnt/cf/Notepad.jar Notepad

Exception occurred while VM initialising.
java/lang/NoClassDefFoundError: java/lang/Thread

am i forgetting anything?
Title: JamVM (Java Virtual Machine) Uploaded.
Post by: ced on March 03, 2004, 10:09:41 am
I \"think\" you need to compile the GNU classpath 0.0.7
Title: JamVM (Java Virtual Machine) Uploaded.
Post by: LordDavon on March 03, 2004, 11:42:50 am
Classpath uploaded to the feed.  Untar to /usr/local.

For the questions about usage, please refer to the web page.  Let me know how it works.  I have not tried this as I did everything rather rushed (if you can\'t tell).

LD
Title: JamVM (Java Virtual Machine) Uploaded.
Post by: LordDavon on March 03, 2004, 03:59:16 pm
Here is one to try also.  http://www.acunia.com/wonka/wonka-bin-arm-...-release.tar.gz (http://www.acunia.com/wonka/wonka-bin-arm-linux-0.9.6-release.tar.gz)  Let me know if it works before I try and reinvent the wheel.

LD