Message-ID: <874784534.3775.1422393405348.JavaMail.email@example.com> Subject: Exported From Confluence MIME-Version: 1.0 Content-Type: multipart/related; boundary="----=_Part_3774_1285194580.1422393405347" ------=_Part_3774_1285194580.1422393405347 Content-Type: text/html; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Content-Location: file:///C:/exported.html
The garbage collectors for Jikes RVM are provided by MMTk. The <= a href=3D"http://cs.anu.edu.au/~Robin.Garner/mmtk-guide.pdf" class=3D"exter= nal-link" rel=3D"nofollow">MMTk: The Memory Manager Toolkit describes M= MTk and gives a tutorial on how to use and edit it and is the best place to= start. An updated version of the tutorial is here. A detailed description of the call chain fro= m the compilers through to MMTk here is another good place to start understanding how MMTk = integrates with JikesRVM. Anatomy of a Garbage Collector describes the major buildin= g blocks of an MMTk collector and Scanning Objects in JikesRVM describes how objects ar= e scanned for their pointer fields during GC. MMTk also has a pure Ja= va test harness that all= ows development of garbage collectors in an IDE like eclipse.
The RVM can be configured to employ various different allocation manager= s taken from the MMTk memory management t= oolkit. Managers divide the available space up as they see fit. However, th= ey normally subdivide the available address range to provide:
Virtual memory pages are lazily mapped into the RVM's memory image as th= ey are needed.
The main class which is used to interface to the memory manager is calle=
Plan. Each flavor of the manager is implemented by substitut=
ing a different implementation of this class. Most plans inherit from class=
StopTheWorldGC which ensures that all active mutator threads =
(i.e. ones which do not perform the job of reclaiming storage) are suspende=
d before reclamation is commenced. The argument passed to
rs determines the number of parallel collector threads that will be =
used for collection.
Generational collectors employ a plan which inherits from class
nerational Inter alia, this class ensures that a write barrier is em=
ployed so that updates from old to new spaces are detected.
Jikes RVM may als= o use the GCSpy visualization framework. GCSpy= allows developers to observe the behavior of the heap and related data str= uctures.