decaf is the JVM portion of the JJOS 'native-code runtime' that ToddMiller and JohnMorrison (et al.) are working on.
July 3, 2000
Figured I just drop by and mention that I'm still hacking away at the decaf rewrite. I was looking at SableVM, and got some ideas that may make it much easier to support JNI (e.g. classpath) than I had previously suspected.
May 25, 2000
I've been working on rewriting decaf to be cleaner and more easily extensible to support some things we've been discussing on the mailing list. In particular, after a long discussion, the summary about MultipleJavaProcesses in a single JVM is about ready.
June 27, 1999
Long pause between updates -- if it bothered you, subsribe to the kernel mailing list. At any rate, there's lots of progress to report.
monitors
are now working;
checkcast()
works and handles instances;
java-only throws
work; I'm working on native throws now.
GRUB
didn't work for me; I hope to have time to try it again soon.
Aside from the issue of native throws, decaf is not, to my knowledge, lacking anything from the 1.0.2 JVM spec. I will, after completing throws, go over the specs and decaf with a fine-tooth comb to make sure of this; then I will begin integration with classpath.
May 17, 1999
Upgraded to egcs-1.1.2 for an unrelated projects, breaking large chunks of decaf in the process. Happily (or not) JM also upgraded his system around the same time, so after we finish digesting this, we'll be in sync. I'm expecting another few-day-long pause.
May 12, 1999
The refactored source code is available on CVS now. Currently on my to-do list (JM has his own):
monitors:
We really need these for the drivers.
checkcast():
Forms the guts of both the checkcast and instanceof primitives; hasn't been completely ported yet.
throws:
More for completeness than any need (yet).
GRUB booting:
For everyone out there without two boxes to play with, this would allow JJOS/decaf to boot from a single machine. This will probably happen before throws.
April 29, 1999
Looks like we're on track for 'releasing' the refactored source in mid-May; lots of it will look very different, and work alot better. We're still porting functionality from the old style to the new; only relatively minor bits remain. The Big Thing to do before decaf is ready is to implement monitors, which we'll need to handle the new driver model.
April 18, 1999
Long delay in the updates; my apologies. JohnMorrison has been doing alot of refactoring work, in addition to supporting doubles & longs properly; this should allow a very large leap in decaf's functionality. I've been working on the driver architecture with MattAlbrecht, and making many bugfixes and adding features, most notably complete bytecode support. Monitors, however, are not implemented as yet; likewise, JNI (though it should follow close on the heels of JohnMorrison's refactoring.)
Our next major milestone should come sometime in mid to late May, after the refactoring, including a keyboard-to-console (translated) echo, monitors, double & long support, as well as better support for arrays, and quite possibly a noticeable speed increase.
February 27, 1999
decaf now supports java-language hardware drivers. A prelimary keyboard driver is included on CVS as 'jos.system.keyboard.'
February 26, 1999
With multi-threading support back in place, and bugfixes to allow stacked .wait() calls, decaf is now at its most functional.
February 20, 1999
"gen two" of decaf is up on the CVS. It hasn't been built back to the level of functionality that "gen one" had, but it has surpassed "gen one" in several areas already. I expect that it will be ready to run Java device drivers in a stable fashion by March.