harpoon.Backend.RuntimeTiny
Class TreeBuilder

java.lang.Object
  extended by harpoon.Backend.Generic.Runtime.TreeBuilder
      extended by harpoon.Backend.Runtime1.TreeBuilder
          extended by harpoon.Backend.RuntimeTiny.TreeBuilder
All Implemented Interfaces:
Serializable

public class TreeBuilder
extends TreeBuilder

RuntimeTiny.TreeBuilder extends Runtime1.TreeBuilder to implement a more-compressed (but slower) object layout.

Version:
$Id: TreeBuilder.java,v 1.2 2002/04/10 03:03:43 cananian Exp $
Author:
C. Scott Ananian <cananian@alumni.princeton.edu>
See Also:
Serialized Form

Field Summary
 
Fields inherited from class harpoon.Backend.Runtime1.TreeBuilder
as, cdm, cfm, CLAZ_CLAZINFO, CLAZ_COMPONENT_OFF, CLAZ_DEPTH_OFF, CLAZ_DISPLAY_OFF, CLAZ_EXTRAINFO_OFF, CLAZ_GCENTRY_OFF, CLAZ_INTERFACES_OFF, CLAZ_INTERFZ_OFF, CLAZ_METHODS_OFF, CLAZ_SIZE_OFF, cmm, imm, linker, LONG_WORD_SIZE, OBJ_ALENGTH_OFF, OBJ_AZERO_OFF, OBJ_CLAZ_OFF, OBJ_FZERO_OFF, OBJ_HASH_OFF, OBJECT_HEADER_SIZE, POINTER_SIZE, WORD_SIZE
 
Constructor Summary
protected TreeBuilder(Runtime runtime, Linker linker, AllocationStrategy as, boolean pointersAreLong)
           
 
Method Summary
protected  Exp _claz_(TreeFactory tf, HCodeElement source, DerivationGenerator dg, Translation.Exp objectref)
          Returns a pointer to the claz structure associated with the given objectref.
protected  FieldMap getClassFieldMap()
           
protected  FieldMap initClassFieldMap()
           
 Exp objAlloc(TreeFactory tf, HCodeElement source, DerivationGenerator dg, AllocationInformation.AllocationProperties ap, HClass objectType, Exp length)
           
 int objectSize(HClass hc)
          Utility method for external analyses that want to know the exact size of an object.
 
Methods inherited from class harpoon.Backend.Runtime1.TreeBuilder
_call_FNI_Monitor, arrayBase, arrayLength, arrayNew, arrayOffset, classConst, clearHashBit, componentOf, DECLARE, DECLARE, DECLARE, fieldBase, fieldConst, fieldOffset, headerSize, instanceOf, methodBase, methodConst, methodOffset, monitorEnter, monitorExit, objectNew, PTRMASK, referenceEqual, setClassHierarchy, stringConst
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TreeBuilder

protected TreeBuilder(Runtime runtime,
                      Linker linker,
                      AllocationStrategy as,
                      boolean pointersAreLong)
Method Detail

initClassFieldMap

protected FieldMap initClassFieldMap()
Overrides:
initClassFieldMap in class TreeBuilder

getClassFieldMap

protected FieldMap getClassFieldMap()

objectSize

public int objectSize(HClass hc)
Description copied from class: Runtime.TreeBuilder
Utility method for external analyses that want to know the exact size of an object. This returns the size in bytes not including the header.

Overrides:
objectSize in class TreeBuilder

objAlloc

public Exp objAlloc(TreeFactory tf,
                    HCodeElement source,
                    DerivationGenerator dg,
                    AllocationInformation.AllocationProperties ap,
                    HClass objectType,
                    Exp length)
Overrides:
objAlloc in class TreeBuilder

_claz_

protected Exp _claz_(TreeFactory tf,
                     HCodeElement source,
                     DerivationGenerator dg,
                     Translation.Exp objectref)
Description copied from class: TreeBuilder
Returns a pointer to the claz structure associated with the given objectref.

Overrides:
_claz_ in class TreeBuilder