harpoon.Backend.Runtime2
Class TreeBuilder
java.lang.Object
harpoon.Backend.Generic.Runtime.TreeBuilder
harpoon.Backend.Runtime1.TreeBuilder
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
| 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 |
|
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 |
TreeBuilder
protected TreeBuilder(Runtime runtime,
Linker linker,
AllocationStrategy as,
boolean pointersAreLong,
int pointerAlignment)
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