Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migrated to Confluence 5.3

...

Ensure that you have got a clean copy of the source (either a recent release or the hg tip) and can correctly and successfully build one of the base garbage collectors.  There's little point in trying to build your own until you can reliably build an existing one.  I suggest you start with MarkSweep, and that you use the buildit script:

Code Blocknoformat

$ bin/buildit <targetmachine> BaseBase MarkSweep

 Then test your GC:

Panel

$ bin/buildit <targetmachine> -t gctest BaseBase MarkSweep

 You should have seen some output like this:

Code Blocknoformat

test:
         [echo] Test Result for [BaseBaseMarkSweep|gctest] InlineAllocation (default) : SUCCESS
         [echo] Test Result for [BaseBaseMarkSweep|gctest] ReferenceTest (default) : SUCCESS
         [echo] Test Result for [BaseBaseMarkSweep|gctest] ReferenceStress (default) : SUCCESS
         [echo] Test Result for [BaseBaseMarkSweep|gctest] FixedLive (default) : SUCCESS
         [echo] Test Result for [BaseBaseMarkSweep|gctest] LargeAlloc (default) : SUCCESS
         [echo] Test Result for [BaseBaseMarkSweep|gctest] Exhaust (default) : SUCCESS   

If this is not working, you should probably go and (re) read the section in the user guide on how to build and run the VM.

...

If you are writing a new GC, you should definitely be aware of the MMTk test harness, which allows you to test and debug MMTk in a very well contained pure Java environment, without the rest of Jikes RVM.  This allows you to write unit tests and corner cases, and moreover, allows you to edit and debug MMTk entirely from within your IDE