Package harpoon.Backend.Maps

Various maps used by the backend, including interface, field, and method numbering maps, symbol mangling maps, and backend-specific type maps.

See:
          Description

Interface Summary
BackendDerivation BackendDerivation provides, in addition to the type and derivation information provided by Analysis.Maps.Derivation, a means to identify (polymorphically typed) callee-save registers.
BackendDerivation.Register  
 

Class Summary
CHFinalMap CHFinalMap is a slightly smarter FinalMap that, given a ClassHierarchy for context, aggressively makes methods final if the ClassHierarchy doesn't contain a reachable method which overrides it.
ClassDepthMap A ClassDepthMap reports the nesting depth of a given class, with java.lang.Object given nesting depth 0.
DefaultClassDepthMap A DefaultClassDepthMap computes class depth simply and efficiently.
DefaultFinalMap DefaultFinalMap is a stupid implementation of FinalMap that just looks for the final access modifier.
DefaultInlineMap A DefaultInlineMap returns the conservate answer that we can't inline anything.
DefaultNameMap DefaultNameMap implements a JNI-compliant method name mangling, and class and field name mangling "in the spirit of" the JNI.
FieldMap A FieldMap assigns an ordering to a set of fields.
FinalMap A FinalMap determines whether a class or method is final.
InlineMap An InlineMap maps an HField to a boolean value indicated whether the HField can be inlined.
MethodMap A MethodMap assigns an ordering to the methods in a class.
NameMap NameMap gives a translation from methods, classes, and fields to unique string labels legal in assembly code.
 

Package harpoon.Backend.Maps Description

Various maps used by the backend, including interface, field, and method numbering maps, symbol mangling maps, and backend-specific type maps.

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