Version 0.6 - 6/22/05
Version 0.5 - 5/5/05
Version 0.4 - 4/24/05
Version 0.3 - 4/1/05
Version 0.2 - 1/12/05
Version 0.1 - 1/2/05
Version 0.0 - 12/30/04
Version 0.6 - 6/22/05
New features:
  • now using GNU Classpath instead of Sun's classes
  • exceptions such as NoClassDefFoundError now being thrown with a message (in this case, the missing class)
  • results of class, method, and field resolution being cached in class's constant pool
  • now able to print using System.out.println()!
  • Thread.currentThread() works
Bug fixes:
  • packages are now loading
  • the LDC family of instructions now loads Strings
  • LDC now loads floats properly (was truncating the fractional part)
  • exceptions weren't being propagated in many places
  • shift instructions were using an improper bitmask on the shift index
  • fields weren't actually loading their type
  • object sizes now calculated using field sizes instead of number of fields (longs and doubles count for two each)
Version 0.5 - 5/5/05
New features:
  • command line for testing and demonstration
  • exceptions can now be caught
Bug fixes:
  • Java class objects for array classes are now being initialized properly
  • large signed integers are now being read in properly from the bytecode stream
  • 'jump' bytecodes now all calculate the jump offset properly
  • fields are now inherited
Version 0.4 - 4/24/05
New features:
  • minimal bytecode execution
  • more sophisticated tracing options
  • support for arrays
  • beginning support for dynamic libraries
Bug fixes:
  • lock() now uses currentThread rather than threadGetCurrent() so that the current thread is never viewed as NULL, so that lock() could be called (usually indirectly) from an interrupt handler
  • replaced assert() with massert(), so now *all* assertions are not dependent on malloc()
Version 0.3 - 4/1/05
New features:
  • header files reorganized
  • invocation of native methods
Bug fixes:
  • fixed bug where threadYield wasn't setting stack data in correct order
  • finally got garbage collection and class creation to work together
Version 0.2 - 1/12/05
New features:
  • conservative garbage collector (Woot!)
  • set ADT
Version 0.1 - 1/2/05
New features:
  • opening of class files
  • optional heap consistency checking
Version 0.0 - 12/30/04
Features:
  • floppy access
  • basic DMA
  • open/read/close FAT files
  • multithreading
  • keyboard input
  • screen output
  • printf
  • assertions
  • malloc
  • string functions
  • list ADT