Package harpoon.Backend.Analysis

This package contains the various analyses needed for the backend.

See:
          Description

Class Summary
BasicGCInfo BasicGCInfo selects as GC points all call sites and backward branches.
ClassFieldMap A ClassFieldMap is a FieldMap for non-static fields of a class.
ClassMethodMap A ClassMethodMap is a method map for virtual methods of an object (not static, not private, not constructors).
GCTraceStore GCTraceStore traces stores for the purposes of garbage collection.
InitializerOrdering InitializerOrdering computes a topological sort of the static initializer call graph designed to ensure that classes are initialized in the correct order.
InsertWriteBarrier InsertWriteBarrier instruments any writes to pointer locations with a store check.
InterfaceMethodMap InterfaceMethodMap provides a mapping from interface methods to the offset that the method-pointers should have on the object layout.
JLSRuntimeInformation JLSRuntimeInformation contains the basic runtime information required by the Java Language Specification.
MakeGCThreadSafe MakeGCThreadSafe adds checks to see whether another thread has caused a GC, and if so, halts the current thread by calling out to the runtime.
PackedClassFieldMap PackedClassFieldMap is a FieldMap for non-static fields of a class which attempts to maximally fill holes in the data structure (even if this means commingling a subclass' fields with those of its superclass) in order to minimize the space required by objects.
SortedClassFieldMap A SortedClassFieldMap is an extension of ClassFieldMap which sorts object fields to minimize "holes" between fields.
 

Package harpoon.Backend.Analysis Description

This package contains the various analyses needed for the backend. These are not generic optimizations; they are specific information directly needed by the back end. Examples would include class/interface numbering, code reordering for cache locality, certain escape analyses, etc.

All analyses that don't easily fit into a single class should have their own subpackage under harpoon.Backend.Analysis.

Author:
none