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