Release Preparation
CACAO 0.96
We are preparing release 0.96. It will be the CACAO release to go with GNU Classpath 0.91.
Release Criteria
runs JOnAS with classpath compiled with jikes and ecj, both with 1.4 and 1.5 bytecode. (
Also test with generics branch. )
gcj compiled classpath will not work due to a gcj bug mentioned below.
- runs the latest Eclipse 3.2RC
The ICU4J library included in Eclipse 3.2RC... has a bug that surfaces with CACAO and JamVM as non-deterministic MissingResourceExceptions. See EclipseIcuBug.
- untar eclipse
- use updater to install cdt
- use updater to install subclipse
- checkout cacao svn
more common passes in the mauve test suite than 0.95
builds with --disable-disassembler and --disable-debug - This is tested by tgolem already.
Things to complete
AASTORECONST fix
fix threads_sem_wait, etc. on Darwin. sem_init is not implemented on Darwin and the other sem_ functions work differently. We could probably use the semaphore implementation for Darwin which is contained in the Boehm GC source.
fix gnu.testlet.java.math.BigInteger.divide and gnu.testlet.java.math.BigInteger.modInverse on PowerPC
fix interpreter on PowerPC
disable -lsra by default
disable inlining by default
fix mauve fails on Alpha (gnu.testlet.java.security.DigestInputStream.readMD5 among others) These were fixed by checking == NULL for PUTSTATICCONST, etc.
review UnicodeHandling by grepping for: _ascii, _convert_to_latin1.
test against the coming GNU Classpath release 0.91 - Done by tgolem.
compare mauve test results against CACAO 0.95 release on the same mauve source (detailed comparison makes no sense, as 0.95 has much fewer passes than the current CACAO).
multiprocessor DeadlockBug - fixed by new lock implementation - tested.
check bugzilla - bug 25 is a bit worrying, but we cannot do anything about that for this release
Would-be-very-nice Things
some success with the JonasTestSuite
Things that probably wont be fixed
still lots of XXX comments
float problems on Alpha - are these classpath related? (two fails in gnu.testlet.java.nio.ByteBuffer.GetPut)
- resolve problems with directly used private members of nested classes.
gcj does not create access methods.
Note: This is a bug in gcj. See gcc bugzilla #19870. The Hotspot VM also throws a VerifyError for the same classfile. I know how to work around this, but I don't want to do it as it is not spec compliant and also some work. -Edwin
- threads are not joined synchronously which leads to problems in benchmarks creating great amounts of threads.
- Bugzilla
UnicodeHandling in jvmti (and heap_allocate)