Author Topic: JamVM (Java Virtual Machine) Uploaded.  (Read 3703 times)

LordDavon

  • Full Member
  • ***
  • Posts: 161
    • View Profile
    • http://
JamVM (Java Virtual Machine) Uploaded.
« 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

Feedback appreciated.

LD

doublec

  • Jr. Member
  • **
  • Posts: 92
    • View Profile
    • http://radio.weblogs.com/0102385/categories/zaurus/index.html
JamVM (Java Virtual Machine) Uploaded.
« Reply #1 on: March 02, 2004, 10:03:02 pm »
What Java VM did you port? Do you have a link to the home page?

LordDavon

  • Full Member
  • ***
  • Posts: 161
    • View Profile
    • http://
JamVM (Java Virtual Machine) Uploaded.
« Reply #2 on: March 02, 2004, 10:36:10 pm »

ced

  • Full Member
  • ***
  • Posts: 225
    • View Profile
    • http://
JamVM (Java Virtual Machine) Uploaded.
« Reply #3 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)
SL-5600, kernel 2.6.16 + GPE from .dev
Ethernet Socket LP-E
Viking 256M SD

LordDavon

  • Full Member
  • ***
  • Posts: 161
    • View Profile
    • http://
JamVM (Java Virtual Machine) Uploaded.
« Reply #4 on: March 03, 2004, 08:53:07 am »
It is for the X11 ROM.

LD

ced

  • Full Member
  • ***
  • Posts: 225
    • View Profile
    • http://
JamVM (Java Virtual Machine) Uploaded.
« Reply #5 on: March 03, 2004, 09:21:24 am »
so I can\'t use it with Xqt? :-(
SL-5600, kernel 2.6.16 + GPE from .dev
Ethernet Socket LP-E
Viking 256M SD

ScottYelich

  • Hero Member
  • *****
  • Posts: 992
    • View Profile
    • http://www.zaurususergroup.com/modules.php?opmodload&namephpWiki&filei
JamVM (Java Virtual Machine) Uploaded.
« Reply #6 on: March 03, 2004, 09:25:58 am »
awesome!  is there any way to integrate this with the firefox?!

Scott

biospank

  • Newbie
  • *
  • Posts: 12
    • View Profile
JamVM (Java Virtual Machine) Uploaded.
« Reply #7 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?
C760 pdaxrom 1.0
memorex CF 128
hexon mmc 128
pretec CompactWLAN CF card

ced

  • Full Member
  • ***
  • Posts: 225
    • View Profile
    • http://
JamVM (Java Virtual Machine) Uploaded.
« Reply #8 on: March 03, 2004, 10:09:41 am »
I \"think\" you need to compile the GNU classpath 0.0.7
SL-5600, kernel 2.6.16 + GPE from .dev
Ethernet Socket LP-E
Viking 256M SD

LordDavon

  • Full Member
  • ***
  • Posts: 161
    • View Profile
    • http://
JamVM (Java Virtual Machine) Uploaded.
« Reply #9 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

LordDavon

  • Full Member
  • ***
  • Posts: 161
    • View Profile
    • http://
JamVM (Java Virtual Machine) Uploaded.
« Reply #10 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  Let me know if it works before I try and reinvent the wheel.

LD