Package harpoon.Analysis.PreciseGC

Interface Summary
DynamicWBInserter.DynamicWBAnalysis A DynamicWBAnalysis identifies NEW and ANEW Quads for which corresponding write barriers are removed.
WriteBarrierInserter.WriteBarrierAnalysis A WriteBarrierAnalysis maps Codes to Sets of Quads for which write barriers have been deemed unnecessary.
 

Class Summary
AllocationHoisting AllocationHoisting
DynamicWBInserter DynamicWBInserter inserts instructions where needed to set and clear the per-object bit for dynamic write barriers.
DynamicWBQuadPass DynamicWBQuadPass inserts dynamic write barriers, where possible and identifies SETs and ASETs for which static write barriers are unnecessary.
DynamicWBTreePass DynamicWBTreePass performs some low-level transformations to the output of DynamicWBQuadPass which cannot be done in the quad form on which DynamicWBQuadPass operates.
MRA MRA is answers the question "which Temps contain the address of the most recently allocated object at this program point?"
MRA.MRAToken The MRAToken class represents the nodes on the lattice for the MRA analysis.
MRAFactory MRAFactory generates MRAs.
PointsToQuadVisitor PointsToQuadVisitor performs local points to analysis, and can be subclassed for more specific purposes.
RCTransformer RCTransformer transforms recursive constructors that build their data structures in a top-down fashion into methods that build their data structures in a bottom-up fashion.
WriteBarrierConstElim WriteBarrierConstElim operates on Tree form.
WriteBarrierInserter WriteBarrierInserter takes code in Quad form and inserts write barriers for generational garbage collection.
WriteBarrierInserter.DefaultWriteBarrierAnalysis DefaultWriteBarrierAnalysis returns a no- analysis WriteBarrierAnalysis Object that assumes write barriers are needed for all SET and ASETs of object fields.
WriteBarrierPostPass WriteBarrierPostPass performs some low-level transformations to the output of WriteBarrierPrePass which cannot be done in the quad form on which WriteBarrierPrePass operates.
WriteBarrierPrePass WriteBarrierPrePass takes code in LowQuad form and inserts a fake call to a write barrier that is later replaced with a real implementation in WriteBarrierPostPass.
WriteBarrierQuadPass WriteBarrierQuadPass takes code in Quad form and inserts a fake call to a write barrier that is later replaced with a real implementation in WriteBarrierTreePass.
WriteBarrierStats WriteBarrierStats emits data needed for gathering write barrier statistics.
WriteBarrierTreePass WriteBarrierTreePass performs some low-level transformations to the output of WriteBarrierQuadPass which cannot be done in the quad form on which WriteBarrierQuadPass operates.