harpoon.Analysis.PreciseGC
Class AllocationHoisting
java.lang.Object
harpoon.Analysis.Transformation.MethodSplitter
harpoon.Analysis.PreciseGC.AllocationHoisting
- All Implemented Interfaces:
- Serializable
public class AllocationHoisting
- extends MethodSplitter
AllocationHoisting
- Version:
- $Id: AllocationHoisting.java,v 1.6 2004/02/08 03:20:07 cananian Exp $
- Author:
- Karen Zee <kkz@tmi.lcs.mit.edu>
- See Also:
- Serialized Form
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
HOISTED
public static final MethodSplitter.Token HOISTED
- Token for the hoisted version of an initializer.
AllocationHoisting
public AllocationHoisting(HCodeFactory parent,
ClassHierarchy ch,
Linker l,
String rName,
int optLevel)
- Creates an
AllocationHoisting
. For efficiency,
parent
should be a CachingCodeFactory
.
- Parameters:
parent
- The input code factory.ch
- A class hierarchy for the application.
mutateDescriptor
protected String mutateDescriptor(HMethod hm,
MethodSplitter.Token which)
- Adds parameter to descriptors of mutated methods.
- Overrides:
mutateDescriptor
in class MethodSplitter
mutateHCode
protected HCode mutateHCode(HCodeAndMaps input,
MethodSplitter.Token which)
- Hoists allocation out of the split method.
- Overrides:
mutateHCode
in class MethodSplitter
cloneHCode
protected HCodeAndMaps cloneHCode(HCode hc,
HMethod newmethod)
throws CloneNotSupportedException
- Clones
HCode
and creates an iMap2
entry for the cloned code.
- Overrides:
cloneHCode
in class MethodSplitter
- Throws:
CloneNotSupportedException
isValidToken
protected boolean isValidToken(MethodSplitter.Token which)
- Check the validity of a given
MethodSplitter.Token
.
- Overrides:
isValidToken
in class MethodSplitter