14 Jun 2007 twisti   » (Master)

CACAO and OpenJDK: The marriage

Since a week or two I'm trying to get CACAO running on OpenJDK's libraries and it's very promising:


$ cacao prop
LOG: [0x00002ba1dc8ee0a0] JVM_GetStackAccessControlContext:
IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x690c00, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x686000, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x690400, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x692800, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x69d600, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x69d000, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x686000, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x69ec00, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x69e400, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x69e000, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x649c00, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_FindSignal: name=HUP
LOG: [0x00002ba1dc8ee0a0] JVM_RegisterSignal: sig=0,
handler=0x2, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_FindSignal: name=INT
LOG: [0x00002ba1dc8ee0a0] JVM_RegisterSignal: sig=0,
handler=0x2, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_FindSignal: name=TERM
LOG: [0x00002ba1dc8ee0a0] JVM_RegisterSignal: sig=0,
handler=0x2, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x6b7e00, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_GetStackAccessControlContext:
IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x6b8400, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x6bfa00, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x6bf800, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x6c5600, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_GetStackAccessControlContext:
IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x6da200, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x6da200, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x6db200, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x6e4c00, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x6eda00, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x6f8c00, IMPLEMENT ME!
LOG: [0x00002ba1dc8ee0a0] JVM_DesiredAssertionStatus:
cls=0x6f8200, IMPLEMENT ME!
#all properties:
#Thu Jun 14 11:23:34 GMT+01:00 2007
java.runtime.name=OpenJDK Runtime Environment
sun.boot.library.path=/home/twisti/cacao/sun/openjdk/jdk/control/build/linux-amd64/lib/amd64/
java.vm.version=0.98+svn
java.vm.vendor=CACAO Team
java.vendor.url=http\://java.sun.com/
path.separator=\:
java.vm.name=CACAO
file.encoding.pkg=sun.io
user.country=US
sun.os.patch.level=unknown
java.vm.specification.name=Java Virtual Machine Specification
user.dir=/home/twisti/cacao/cacao/tests
java.runtime.version=1.7.0-internal-twisti_09_may_2007_15_45-b00
java.awt.graphicsenv=sun.awt.X11GraphicsEnvironment
os.arch=amd64
java.io.tmpdir=/tmp
line.separator=\n
java.vm.specification.vendor=Sun Microsystems Inc.
os.name=Linux
sun.jnu.encoding=ANSI_X3.4-1968
java.specification.name=Java Platform API Specification
java.class.version=50.0
os.version=2.6.21-1-amd64
user.home=/home/twisti
user.timezone=GMT+01\:00
java.awt.printerjob=sun.print.PSPrinterJob
file.encoding=ANSI_X3.4-1968
java.specification.version=1.7
java.class.path=.
user.name=twisti
java.vm.specification.version=1.0
sun.arch.data.model=64
java.home=/home/twisti/tmp/cacao/jre
user.language=en
java.specification.vendor=Sun Microsystems Inc.
java.version=1.7.0-internal
sun.boot.class.path=/home/twisti/cacao/sun/openjdk/jdk/control/build/linux-amd64/j2sdk-image/jre/lib/rt.jar
java.boot.class.path=/home/twisti/cacao/sun/openjdk/jdk/control/build/linux-amd64/j2sdk-image/jre/lib/rt.jar
java.vendor=Sun Microsystems Inc.
file.separator=/
java.vendor.url.bug=http\://java.sun.com/cgi-bin/bugreport.cgi
sun.io.unicode.encoding=UnicodeLittle
sun.cpu.endian=little
sun.desktop=gnome
sun.cpu.isalist=

I still have a problem with resources and I don't know where the problem is. I suspect some string-issues. I have to add some debugging code into OpenJDK's native zip code.

When javac works (it does not because of the resouce problem I mentioned above), the next thing will be to replace HotSpot's libjvm.so by CACAO's and try to build it on some architectures that are not supported by HotSpot, like PowerPC.

Latest blog entries     Older blog entries

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!