harpoon.Backend.Runtime2
Class TreeBuilder

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

public class TreeBuilder
extends TreeBuilder

Runtime2.TreeBuilder is an implementation of Generic.Runtime.TreeBuilder which creates accessor expressions for the Runtime1 runtime.

Pretty straightforward. No weird hacks.

Version:
$Id: TreeBuilder.java,v 1.6 2003/07/15 03:33:52 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, runtime, WORD_SIZE
 
Constructor Summary
protected TreeBuilder(Runtime runtime, Linker linker, AllocationStrategy as, boolean pointersAreLong, int pointerAlignment)
           
 
Method Summary
protected  Stm _call_FNI_Monitor(TreeFactory tf, HCodeElement source, DerivationGenerator dg, Translation.Exp objectref, boolean isEnter)
          wrap objectref and then call FNI_Monitor{Enter|Exit}()
 Exp fetchHash(TreeFactory tf, HCodeElement source, Exp object)
           
 Translation.Exp monitorEnter(TreeFactory tf, HCodeElement source, DerivationGenerator dg, Translation.Exp objectref)
          Return a Translation.Exp which acquires the monitor lock of the object specified by the given expression.
 Translation.Exp monitorExit(TreeFactory tf, HCodeElement source, DerivationGenerator dg, Translation.Exp objectref)
          Return a Translation.Exp which releases the monitor lock of the object specified by the given expression.
 Exp objAlloc(TreeFactory tf, HCodeElement source, DerivationGenerator dg, AllocationInformation.AllocationProperties ap, HClass objectType, Exp length)
           
 
Methods inherited from class harpoon.Backend.Runtime1.TreeBuilder
_claz_, arrayBase, arrayLength, arrayNew, arrayOffset, classConst, clearHashBit, componentOf, DECLARE, DECLARE, DECLARE, fieldBase, fieldConst, fieldOffset, headerSize, initClassFieldMap, instanceOf, methodBase, methodConst, methodOffset, objectNew, objectSize, 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,
                      int pointerAlignment)
Method Detail

fetchHash

public Exp fetchHash(TreeFactory tf,
                     HCodeElement source,
                     Exp object)

objAlloc

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

monitorEnter

public Translation.Exp monitorEnter(TreeFactory tf,
                                    HCodeElement source,
                                    DerivationGenerator dg,
                                    Translation.Exp objectref)
Description copied from class: Runtime.TreeBuilder
Return a Translation.Exp which acquires the monitor lock of the object specified by the given expression.

Overrides:
monitorEnter in class TreeBuilder

monitorExit

public Translation.Exp monitorExit(TreeFactory tf,
                                   HCodeElement source,
                                   DerivationGenerator dg,
                                   Translation.Exp objectref)
Description copied from class: Runtime.TreeBuilder
Return a Translation.Exp which releases the monitor lock of the object specified by the given expression.

Overrides:
monitorExit in class TreeBuilder

_call_FNI_Monitor

protected Stm _call_FNI_Monitor(TreeFactory tf,
                                HCodeElement source,
                                DerivationGenerator dg,
                                Translation.Exp objectref,
                                boolean isEnter)
Description copied from class: TreeBuilder
wrap objectref and then call FNI_Monitor{Enter|Exit}()

Overrides:
_call_FNI_Monitor in class TreeBuilder