Package harpoon.Backend.RuntimeTiny

RuntimeTiny is a size-optimized version of the FLEX backend.

See:
          Description

Class Summary
CompleteClazNumbering CompleteClazNumbering extends PreOrderClazNumbering to create a numbering valid for all classes in the given classhierarchy.
DataClazTable DataClazTable outputs an indirection table listing all the claz structures used in the program.
ObjectBuilder ObjectBuilder
PreOrderClazNumbering PreOrderClazNumbering will number single-inheritance instantiated classes (i.e. not interfaces or arrays of interfaces) such that all classes numbered in an interval [a,b] will be instances of the first common superclass of A and B, where clazNumber(A)==a and clazNumber(B)==b.
Runtime RuntimeTiny.Runtime is a size-optimized version of the FLEX backend.
TinyClassFieldMap TinyClassFieldMap is an extension of ClassFieldMap which lays out objects *attempting* to align them, but not forcing an alignment.
TinyPackedClassFieldMap 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.
TreeBuilder RuntimeTiny.TreeBuilder extends Runtime1.TreeBuilder to implement a more-compressed (but slower) object layout.
 

Package harpoon.Backend.RuntimeTiny Description

RuntimeTiny is a size-optimized version of the FLEX backend. It inherits most of the implementation of Runtime1, but uses indices rather than direct pointers to compress the claz field and (will) support byte- and bit-aligned (i.e. "unaligned") fields in object layouts.

Author:
C. Scott Ananian <cananian@alumni.princeton.edu>