- Download the latest Jikes RVM release (or use git HEAD)
- Ensure you can Build and Run Jikes RVM.
- Ensure you can build and run the BaseBaseNoGC conﬁguration (build with:
bin/buildit localhost BaseBaseNoGC, run with something like:
Note that this conﬁguration does not perform garbage collection so can only run small benchmarks which do not exhaust available memory. This conﬁguration will be used as the basis for the tutorial.
- Ensure that your source is successfully imported (and editable) within an IDE such as Eclipse.
- Set up an Eclipse Run conﬁguration for the NoGC plan using the MMTk Test Harness.
- Copy the org.mmtk.plan.nogc package to org.mmtk.plan.tutorial (copy and paste the package in Eclipse).
- Rename the constituent classes from NoGC* to Tutorial* (use Refactor → Rename on each class within the org.mmtk.plan.tutorial package in Eclipse).
- Edit ﬁle class org.mmtk.harness.PlanSpecificConfig, and add the following
register(new PlanSpecific("org.mmtk.plan.tutorial.Tutorial").addExpectedSpaces("default"), "Tutorial");
to the static initializer (look for ”NoGC”).
- Modify your MMTk Harness Eclipse Run Conﬁguration to use the new Plan (the name of the plan is the second parameter to the ”register” method you inserted above), and click ’Run’ to run it.
- Go to build/configs in the source directory and copy BaseBaseNoGC.properties to BaseBaseTutorial.properties. Then edit BaseBaseTutorial.properties and change config.mmtk.plan to org.mmtk.plan.tutorial.Tutorial and save the ﬁle.
- Build and run the resulting collector.
Build with something like:
run with something like: