CACAO Meetings
The CacaoTeam has official meetings every five weeks or so. This page is for reminding about future meetings and for recording decisions made in past meetings.
Next CACAO meetings:
- Tuesday, 2. September 2008, 14:00
Tuesday, 04. 03. 2008 14:00
Tuesday, 08. 04. 2008 14:00
Tuesday, 20. 05. 2008 14:00
Tuesday, 24. 06. 2008 14:00
Tuesday, 22. 01. 2008 14:00
- we will add qhi-ir instruction
- next release should be before FOSDEM
- tgolem testing !!!!
Tuesday, 11. 12. 2007 14:00
Tuesday, 06. 11. 2007 14:00
Tuesday, 09. 10. 2007 14:00
- Michi with help from Twisti will take care of regular tgolem testing
- intensive discussion about future of backend generation and maintainance
Tuesday, 11. 9. 2007
- New tasks were defined:
- OOP will use CACAO+OpenJDK (needs stable version)
- mutual code reviews
- documentation project
- revise coding style specification
- Michi talked about the GC indirection cells
Monday, 30. 7. 2007
twisti is still hunting a nasty GC bug we have with boehm and did some OpenJDK hacking in between
- annotation support is on the way
- the s390 port reached completeness
tentative discussions about adopting the GPLv3
Tuesday, 26. 6. 2007
- no idea, really...
Tuesday, 22. 5. 2007
- release (hopefully) in this week
- exact-GC: not much changes, threads, register reference
- LSRA is commited, when i386 runs, copy-propagation will be added and other architectures ported
- powerpc64 is (hopefully) finished
- m68k already runs some dacapo benchmarks, although without GC
- sparc64 runs with threads (partially)
- s390 floating-point implemented
Tuesday, 17. 4. 2007
- sorry, again
Monday, 19. 3. 2007
- sorry...
Meeting 13. 2. 2007
- On 14. 2. 2007 CACAO becomes 10 years old.
- Andi presented the proposed "Vereinsstatuten".
Meeting 15. 1. 2007
TODO
Meeting 4. 12. 2006
- Alexander talked about the sparc64 port he is working on. His target is a running CACAO on Solaris and (Ubuntu) Linux. Challenges:
- register window - the callee can shift the register window, there is an instruction for manually flushing the register windows to the stack.
- only the lower 16 floating-point registers can be used for single precision (problem for simplereg)
- ABI (stack bias)
- special allocation for native calls
- Linux lacks proper 32/64-bit multiarch support.
- codegen
- ASM calling
- patchers
- Michi talked about his work on the exact garbage collector:
Plan: simple mark-and-compact >> gc points >> generations >> improvement Challenges:
- recovering local variables, builtins
- interpreter
- blocking functions
- object header
- recursion
- root set building
- marking
- compaction
- native cacao code must use either JNI functions, or LLNI macros
- classloader id: can redirection cells be used as unique id?
- twisti wants to throw exceptions only via hardware exceptions
- powerpc has a special compare-and-trap instruction
Meeting 17. 10. 2006
- Issues with CACAO for the OOP course:
- Problems with eclipse have been resolved.
java.util.Scanner is missing in GNU Classpath. Might be a topic for an internship.
CACAO misses some things for Java 1.5: see OpenProblems, Java 1.5 section. Please add missing stuff!
- T1000 hardware seems to work. twisti will deactivate interfereing servers (BOOTP, ...) on c7. Andi can provide a notebook for mounting the iso image.
- Problems remaining before release 0.97:
twisti had linking problems on fp98 (
resolved by ./autogen.sh.) arm jctest must be fixed. (
resolved. The solution is a modified patch to classpath.) extest/clinitexception fail. (
resolved. This is caused by a gcj bug.) - eclipse on x86_64 crashes may be caused by appletviewer.
- planned release date for CACAO 0.97: 26. 10. 2006.
- needs for CACAO 1.0:
- new GC supporting weak references
- method inlining
- interface to GNU Classpath 1.0? (not decided)
- Heads up for developers: CACAO uses the installed libjvm.so even if there is a newer one in src dir.
Solutions: Either always make install your CACAO, or make the installed libjvm.so a softlink to the libjvm.so in your working directory.
--with-jre-layout: no special install layout supported, classpath must be at same prefix, works only with linux.
libjvm.la: you can delete this file so there is no hardcoded libdir.
- Constant operands: Will be worked on after release 0.97.
- SSA: soon done, LSRA will be ported when SSA is done. (There were 3 LSRA versions: estimated liveness, exact liveness without SSA, with SSA).
powerpc64 port already runs -softnull HelloWorld. Congratulations to Roland! jctest starts, but crashes on long tests. Roland will work on jctest first, then fix hard-null.
- Roland proposed a minimal environment for testing codegens:
- classes loaded by the bootstrap loader,
- test method called from C code,
- test method uses native methods for printing test results. (Edwin suggested returning the test result to C code, but Roland explained that native calls are needed very early in the development of a codegen, so the dependence on them is no problem.)
- Standard Edition,
- Micro Edition, and
- Test Edition
- Andi requested that after release 0.97 efforts be made to make the build system as
modular as possible. (We already have some switches in this regard, see ConfigureSwitches.)
- Target for an ARM Micro Edition CACAO is a binary below 500K including native library code. According to twisti we are close to that.
- twisti wants a Java opcode table, analogous to the ICMD table.
Meeting 12. 9. 2006
- Australia is beautiful.
- new_instruction format and unified_variables will be in the next release.
- Cygwin must be supported by the next release (michi?)
- next release before 2. Oct.
- NO_GC does not work. Remove or fix?
- ARM port: Decision is delayed.
- fp98 classpath build fails. twisti will take a look.
- emit_copy will be used for *STORE/*LOAD.
Meeting 13. 6. 2006
Binary packages should be downloadable from the website.
for ARM packages (michi, edwin). - GC points will be a subset of the replacement points. (GC will probably not need mid-block points.)
- Make stats about method call frequency (estimate overhead of flat-lock-contention bit in vftbl pointer).
- Make stats about average object size (for estimating object header overhead).
See ObjectSizeStatistics (edwin). twisti will try to make cacaoh run on the compile host for cross-compiling. (Problem: We would need a separate local build of cacaoh for this to work.)
A bug with AbstractMethodError has to be resolved. (
twist and edwin)
Meeting 2. 5. 2006
c_u (Christian Ullrich): volunteered for incremental ClassNumbering
no takers for alpha fixes
seems to have been fixed by the val.a == NULL check for PUTSTATIC and PUTFIELD, spotted and fixed by twisti.
no takers for powerpc fixes
(except the usual suspects)
one bug (found by edwin): asm_vm_call_method does not handle stack arguments. Will be fixed by twisti.
ARM port will be fixed by michi when twisti has ported the emit_ functions.
- JVMTI code shall be checked in more often
- motse will write up the requirements of JVMTI regarding CACAO internals
in the wiki (maybe on JvmtiDevelopment)
- c_u suggested using the on-stack replacement mechanism for JVMTI breakpoints.
new InstructionFormat will be developed in a branch
- Wiki and homepage will need an impressum
Contact for licensing will be Andi. - We should try to avoid apache on c1. Problem is Mailman.
tgolem will move towards benchmarking --disable-debug builds.
Done. The effect is not very big, except for neutralizing the asserts I put into the threads code.
- Aim: until October 2006 get CACAO working on Cygwin. Michi will work on that.