|
||||||||||
PREV NEXT | FRAMES NO FRAMES |
AbstractGraph
is a skeletal implementation of the
Graph
interface, to minimize the effort required to
implement this interface.AbstractGraph
.
AbstractHeap
provides a skeletal implementation of
the Heap
interface, to minimize the effort required
to implement this interface.AbstractMapEntry
takes care of most of the grunge
work involved in subclassing java.util.Map.Entry
.IntermediateCodeFactory
which can be
used to extract Derivation information about code it
generates.
AbstrPAEdgeSet
AbstrRelation
AbstrRelationMapBased
visit
method from
visitor
.
TermVisitor
.
v
's visit
method to
this
.
v
's visit
method to this
.
v
's visit
method to
this
.
v
's visit
method to
this
.
v
's visit
method to
this
.
v
's visit
method to
this
.
v
's visit
method to
this
.
v
's visit
method to
this
.
v
's visit
method to
this
.
v
's visit
method to this
.
v
's visit
method to
this
.
access_flags
item is a mask of
modifiers used with class and interface declarations.
this
fires (ie.
ActionRepository
merges together the alpha
and
pi
sets from the original paper of Martin Rinard & John Whaley.ActionRepository
.
nT
that have assigned
a non-zero count (i.e.
nT
that have assigned
a non-zero count (i.e.
ld
action.
sync
action.
sync
actions in parallel with all the threads from the set
active_threads
.
UndefinedPointer
and returns the resulting pointer.
StringPointer
s are constant.
ClazPointer
's
offset
UnsupportedOperationException
.
PersistantSet
identical to
this one, except it contains element
.
k
and inserts it into this.
this
contains an association from
key
to value
.
this
contains an association from
key
to value
.
<key, value>
to the relation.
delta
to the value attached to a node.
callees
to the precedence relation of the
edge from head
to tail
via the field
f
, according to the precedence policy (strict or
not).
callees
to the precedence relation of all
the edges from head
to a node in
tails
via the field f
, according to
the precedence policy (strict or not).
<node1,f,node2>
(forall node1
in nodes1
) are created after
all the inside edges from I
.
callees
to the precedence relation of the
edge from a node in heads
to tail
via
the field f
, according to the precedence policy
(strict or not).
callees
to the precedence relation of the
edge from a node in heads
to a node in
tails
via the field f
, according to
the precedence policy (strict or not).
t1
and
t2
to this
.
Collection
key
to each value in values
.
key
to each value in values
.
key
to each element of the set
values
.
TypeSet
ts
to this
.
harpoon.ClassFile.HCodeFactory
.
t1
included in
t2
.
m
and n
(optional operation).
f
to t
.
Context
,
'forgetting' about elements at the start of the Context
if necessary.
group
to the
InstrGroup.Type -> CFGrapher mapping for this
.
from
in the class
claz
.
from
in the package
pkg
.
iFace
to this
list of interfaces.
Interval
i and adds
i to this
.
node
escaped into a method hole.
node
escaped into a set of
method holes.
m
to the field.
super.addNode(n)
.
node
(optional operation).
node
(optional operation).
node
can escape through
the node n_hole
.
node
can escape through
the node n_holes
.
NoHeapRealtimeThread
illegally touches the heap.
mmethod
.
this
.
q
and
its successors, readding BasicBlock
s to
W
where necessary.
q
and
its predecessors, readding BasicBlock
s to
W
where necessary.
str
, except
that every "
character has been replaced with
the sequence \"
.
AGET
represents an element fetch from an array object.AGET
object representing an element
fetch from an array object.
AggregateMapFactory
uses a single HashMap
as backing store for the many smaller Map
s created
by this MapFactory
.AggregateMapFactory
.
AggregateSetFactory
uses a single HashSet
as backing store for the many smaller Set
s created
by this SetFactory
.AggregateSetFactory
.
AllocationInformation
for this HCode
.
ALENGTH
represents an array length query.ALENGTH
representing an array length
query.
AlgebraicSimplification
performs algebraic simplification
on canonical trees.ALIGN
statements are used to enforce a given alignment on
the following data items.ALIGN
.
AllCallers
calculates the transitive closure of the dual
of the call graph for methods that fulfill a certain condition.MethodSet
defines the interface whose method
select
is used in getCallers
as a
predicate.AllCallers
object using the specified
ClassHierarchy
.
AllCheckRemoval
is an overly aggressive (and often wrong!)
CheckRemoval
: it just removes all the checks!SimpleCheckRemoval
.
AllInductions
AllInductions
object.
AllInductionsMap
is a mapping from Loops
to a
Set
of basic induction Temp
s.Set
of basic induction Temp
s.
this
parallel interaction graph.this
parallel interaction graph.HMethod
may allocate are known.
AllocationHoisting
AllocationHoisting
.
AllocationInformation
maps allocation sites
to information about the allocation done at that site.AllocationProperties
contains tests for the various
possibly properties of an allocation site.AllocationInformationMap
makes it easy to create a
map-based AllocationInformation
structure.AllocationProperties
.AllocationInformationMap
.
AllocationNumbering
AllocationNumbering
.
AllocationStrategy
is a particular implementation
of a memory allocation routine.AllocationInformation
for the new quads, or
null
if no allocation information for the old
quads was supplied.
AllocationInformation
for the new quads, or
null
if no allocation information for the old
quads was supplied.
Iterator
over Intervals
that
yields every interval in this that overlaps i
.
hm
can be analyzed by the pointer analysis.
hm
can be analyzed by the pointer analysis.
q
inside
current_method
.
HCodeElement
s
to ancestor HCodeElement
s.
HCode
that the clone returned
by the hcode()
method was copied from.
Temp
s to
ancestor Temp
s.
ANEW
represents an array creation operation.ANEW
object.
AppelRegAlloc
exp
, and returns the result.
stm
, and returns the result.
Quads.METHOD
.
FOOTER
.
Translation.Exp
representing the
array-base of the object referenced by the given
objectref
Translation.Exp
.
ArrayCopy
contains a pure java implementation of
the System.arraycopy()
method.ArrayCopyImplementer
adds a pure-java implementation of
the System.arraycopy()
method.ArrayCopyImplementer
.
ArrayEnumerator
.
HMethod[]
.
HMember[]
.
HInitializer[]
.
HField[]
.
HConstructor[]
.
HClass[]
.
Instr
s.
Operand[]
.
Instr[]
s.
Quad[]
s
Edge[]
.
Tree[]
.
Temp
s.
ArrayFactory
interface allows you to make
arrays of objects without run-time type information to determine
the object's type.ArrayInfo
ArrayInfo
.
ARRAYINIT
represents an array initialization operation.ARRAYINIT
representing an array initializer.
ArrayInitRemover
converts ARRAYINIT
quads
into chains of ASET
quads.ArrayInitRemover
.
ArrayIterator
iterates over the elements of an array.ArrayEnumerator
.
Translation.Exp
giving the length of the
array pointed to by the given expression.
ListFactory
that generates
ArrayList
s.
Translation.Exp
which will create a
array of the given type, with length specified by the
given expression.
Translation.Exp
representing the
offset from the array base needed to access the array
element specified by the index
expression.
ArraySet
creates an unmodifiable Set
view of an
array.ArraySet
from an object array.
ArrayUnroller
unrolls loops containing arrays so that
CacheEquivalence
can make larger equivalence sets.ArrayUnroller
.
ArtificialTempFactory
provides support for the static fields
in the context of the Pointer Analysis algorithm of Martin & Whaley.ASET
represents an array element assignment.ASET
object representing an array element
assignment.
Context
as a tuple,
as represented by an unmodifiable List
.
Tuple
.
Temp
mapping, as a java.util.Map
.
java.util.Collection
s view of the mapping.
Map
view of the disjoint
set, where every element is mapped to its canonical representative.
Object
as an explanation
string.
java.util.Collection
s view of the set.
needy
, given
that the Regs in occupied
are not available to
hold needy
.
Temp
in i
.
allocationSite
with the specified
AllocationProperties
.
t
with reg
.
Temp
Told
to
Temp
Tnew
.
AsyncCode
FOOTER
by replacing it.
ClassFile
,
field_info
, method_info
, and
Code_attribute
structures of the class
file
format.attribute_length
item indicates
the length of the attribute, excluding the initial six bytes.
attribute_name_index
must be a valid unsigned
16-bit index into the constant pool of the class.
Code
attribute is a variable-length attribute used
in the attributes
table of method_info
structures.ConstantValue
attribute is a fixed-length
attribute used in the attributes
table of the
field_info
structures.Exceptions
attribute is a variable-length
attribute used in the attributes
table of a
method_info
structure.InnerClasses
attributes define the encodings of
bytecode names of inner classes.LineNumberTable
attribute is an optional
variable-length attribute in the attributes
table of a
Code
attribute.LocalVariableTable
attribute is an optional
variable-length attribute of a Code
attribute.attributes
table must be a
variable-length attribute structure.
attributes
table must be a
variable-length attribute structure.
SourceFile
attribute is an optional fixed-length
attribute in the attributes
table of the
ClassFile
structure.Synthetic
.AuxUniqueFIFO
AuxUniqueFIFO
.
this
.
instr
to back
in
to the BackedInstrs.
BackendDerivation
provides, in addition to the type and
derivation information provided by Analysis.Maps.Derivation
,
a means to identify (polymorphically typed) callee-save registers.BackwardDataFlowBasicBlockVisitor
BasePointerPreservingUseDefer
defines a view of the
code where uses of derived pointer values are also considered uses
of the base pointers that were used to compute the derived value.HCode
.BasicBlock.Factory
using the
implicit control flow provided by code
.
BasicBlock.Factory
and generates
BasicBlock
s for a given HCode
.
h
as its first
element.
BasicBlockFactoryInterf
BasicBlockInterf
is the interface that needs to be
implemented by any "basic block"-like structure.BasicBlockInterfVisitor
.
BasicCSE
is an attempt to perform
common subexpression elemination, but only within basic blocks.BasicGCInfo
selects as GC points all
call sites and backward branches.BasicInductions
BasicInductions
object.
BasicInductionsMap
is a mapping from Loops
to a
Set
of basic induction Temp
s.Set
of basic induction Temp
s.
BBConverter
is a convenient class that offers a function
which returns a basic block view of the code of a method.BBConverter
.
BasicBlock.Factory
for BasicBlocks of
this.code
.
BDWAllocationStrategy
calls the appropriate C functions
in the Boehm-Demers-Weiser conservative garbage collector library
to do the allocation.BDWAllocationStrategy
.
BinaryHeap
is an implementation of a binary heap.BinaryHeap
, which will
use the keys' natural order.
Map.Entry
s
and a key comparator.
BinaryHeap
with the
specified comparator.
BinaryRelation
represents a predicate on a 2-tuple.BinaryTree
is a Tree
where each node has
at most two children.Node
is an element of this tree.c
to determine
element ordering.
BinHeapPriorityQueue
is an implementation of the
PriorityQueue
interface.BinHeapPriorityQueue
.
BinomialHeap
allows
O(lg n) time bounds for insert, minimum, extract-min, union,
decrease-key, and delete operations.BinomialHeap
, sorted according
to the keys' natural order.
Map.Entry
s and a key comparator.
BinomialHeap
, sorted according
to the given comparator.
Heap
.
BINOP
objects are expressions which stand for result of
applying some binary operator o to a pair of subexpressions.BitFieldNumbering
finds a bit-position and a field to
embed boolean flags describing object fields.BitFieldNumbering
.
BitSetFactory
is a SetFactory
that,
given a complete universe of possible values, produces low space
overhead representations of Set
s.BitSetFactory
, given a
universe
of values.
BitSetFactory
, given a
universe
of values and an Indexer
for the elements of universe
.
BitString
implements a vector of bits
;
much like java.util.BitSet
...BitWidthAnalysis
implements Sparse Conditional Constant
Propagation, with extensions to allow type and bitwidth analysis.BitWidthAnalysis
.
FCFGBasicBlock
s constructed by
this
factory.
BasicBlock
s constructed by
the factory.
BasicBlock
s constructed by
this
.
Iterator
that traverses over all
of the blocks generated by this BasicBlock.Factory
.
HClass
object representing the primitive type boolean.
Bop
is an enumerated type for BINOP
s.Stm
of this type from the given list of
subexpressions.
Exp
of this type from the given list of
subexpressions.
Spec.Exp
similar to this one,
using the provided Spec.ExpList
of children.
Spec.Stm
similar to this one,
using the provided Spec.ExpList
of children.
AsyncCode
.
buildmap
takes in a HCode
and a TypeMap
and returns a Map and number of local variables used.
roots
.
buildSCC
for details).
BypassLatchSchedule
is a transformation on low level,
register allocated assembly code that annotates opcode to indicate
if a given use is the last use of a register.HClass
object representing the primitive type byte.
CacheEquivalence
creates tag-check equivalence classes
for MEM operations in a Tree.CacheEquivalence
.
CachingArrayInfo
CachingArrayInfo
.
CachingBBConverter
provides some caching for the
BBConverter
.CachingBBConverter
.
CachingCallGraph
is a caching wrapper for a call
graph.CachingCallGraph
that caches the results
of cg
.
CachingCodeFactory
caches the conversions performed by
a parent HCodeFactory
; the cache can also be directly
modified in order to add or replace method implementations.CachingCodeFactory
using the conversions
performed by parent
.
CachingCodeFactory
using the conversions
performed by parent
.
CachingLBBConverter
adds some caching to the
LBBConverter
.CachingLBBConverter
.
CachingLiveTemps
is an extension of
LiveTemps
that keeps a cache of the recent results
that it calculated.CachingLiveTemps
.
CachingSCCBBFactory
adds some caching to
SCCBBFactory
.CachingSCCBBFactory
.
CachingSCCLBBFactory
adds some caching to
SCCLBBFactory
.CachingSCCLBBFactory
.
CALL
objects represent method invocations.CALL
objects are statements which stand for
java method invocations, using our runtime's calling convention.CALL
with an empty dst
array
of the proper size.
CALL
quad representing a method invocation
with explicit exception handling.
CALL
object.
MetaMethod
s.
head
to tail
via the field
f
.
Map
of callee-saved
BackendDerivation.Register
s to the
CommonLoc
s where its contents has been stored
CallGraph
is a general IR-independant interface that
for a call graph.CallGraph
is a general interface that should be
implemented by a call graph.CallGraph
is a command-line call-graph generation tool.CallGraphImpl
constructs a simple directed call graph.CallGraph
using the specified
ClassHierarchy
.
CallGraphImpl2
constructs a simple directed call graph.CallGraph
using the specified
ClassHierarchy
.
callInfo
with the destination label and argument list
for all calls made by this activation frame.
callInfo
with
METHOD object, and we will interpret the parameter list.
m
.
m
.
m
at the call site cs
.
m
at the call site cs
.
call site
.
history of call sites
.
Stm
object is valid for Data
patterns.
this.next
.
Canonicalize
is an application of Simplification
to do pattern-driven tree canonicalization.DList
.
CanonicalTreeCode
codeview is the same as
the TreeCode
codeview, except for the fact that it
does not allow ESEQ
objects to be part of its representation.node
is captured.
catch_type
item is nonzero, it
must be a valid index into the constant_pool
table.
HANDLER
,
or null
for any exception.
HANDLER
, or null
if any exception
is caught.
Collection
of cycle-equivalency
List
s.
HCodeFactory
that will clean up the
tree form of the transformed code by performing some optimizations
which can't be represented in quad form; namely, removes
write barriers for MOVEs that are assigned from constants.
CFGEdge
connects two CFGraphable
s
in a graph structure.CFGraphable
defines an interface for intermediate
representations that are inherently interconnected in a directed
control-flow graphs.CFGrapher
provides a means to externally associate
control-flow graph information with elements of an intermediate
representation.i
as the next instruction in the
instruction stream.
Instr
list from the
IR.Tree.Code
tree
.
harpoon.IR.Tree.Code
.
harpoon.IR.Tree.Code
.
harpoon.IR.Tree.Code
.
harpoon.IR.Tree.Data
.
harpoon.IR.Tree.Data
.
harpoon.IR.Tree.Data
.
HClass
object representing the primitive type char.
HCode
for Derivation
errors.
HCode
for Derivation
errors.
Instr
s that have been verified for
debugging purposes.
SparseNode
s are added to this
.
CheckRemoval
is an interface that all classes that analyze
RTJ harpoon.IR.Quads.SET
or
harpoon.IR.Quads.ASET
's for possible removal of checks should
implement.CheesyPACheckRemoval
CheesyPACheckRemoval
.
CHFinalMap
is a slightly smarter FinalMap
that, given a ClassHierarchy
for context, aggressively
makes methods final if the ClassHierarchy
doesn't contain
a reachable method which overrides it.CHFinalMap
.
HClass
.
HCodeElement
in the immediate
(post)dominator tree.
g.nodeSet()
, in the
intent that it be hidden in g
.
g.nodeSet()
, in the
intent that it be removed from g
.
CHStats
computes interesting statistics of the
compiler class hierarchy for inclusion in papers and theses.CJMP
represents conditional branches.CJMP
representing a conditional branch.
CJMP
representing a conditional branch.
CJUMP
objects are statements which stand for conditional
branches.class_index
item must be a valid
index into the constant_pool
table of the
parent
.
class_index
item must be a valid
index into the constant_pool
table of the
parent
.
class_index
item must be a valid
index into the constant_pool
table of the
parent
.
ClassCone
ClassCone
.
Translation.Exp
which represents a
reference to a Class
constant.
javax.realtime.ImmortalMemory
java.lang.Object.memoryArea
that has a field
javax.realtime.ImmortalMemory.constant = true;
Also emit data to deal with const char*'s that can be created
when Realtime.DEBUG_REF
.
HData
s which are needed for the
given class.
ClassDataInputStream
from a standard
InputStream
.
ClassDataOutputStream
from a standard
OutputStream
.
ClassDepthMap
reports the nesting depth of a given
class, with java.lang.Object
given nesting depth 0.ClassFieldMap
is a FieldMap
for
non-static fields of a class.ClassFieldMap
.
ClassFile
object by reading data from a
bytecode file.
ClassFile
object by reading data from a
bytecode file.
ClassHierarchy
enumerates reachable/usable classes
and methods.ClassMethodMap
is a method map for virtual methods of
an object (not static, not private, not constructors).ClassMethodMap
.
ClassReplacer
is a MethodMutator
which
works on any QuadForm and replaces NEW's and CALL's to one class with
NEW's and CALL's to another class using a mapping function to map methods
of one to methods of the other.ClassReplacer
with an HCodeFactory
that will replace the HClass
from
with
to
.
Heap
.
Code
c
from this factory.
HMethod
m
from the cache.
m
from all caches
in this factory and its parents.
m
from all caches
in this factory and its parents.
m
from this
CachingCodeFactory
and its parent
.
hm
.
hm
.
PointsToGraph
.
clone
produces a copy of the this
Parallel Interaction Graph.
clone
creates a copy of this
thread map;
by doing a simple shallow copy of the hash field.
- clone() -
Method in class harpoon.Analysis.PointerAnalysis.PAEscapeFunc
clone
does a deep copy of this
object.
- clone() -
Method in interface harpoon.Analysis.PointerAnalysis.PAEdgeSet
-
- clone() -
Method in class harpoon.Analysis.PointerAnalysis.ODParIntGraph
clone
produces a copy of the this
Parallel Interaction Graph.
- clone() -
Method in class harpoon.Analysis.PointerAnalysis.ODInformation
-
- clone() -
Method in class harpoon.Analysis.PointerAnalysis.MyAP
-
- clone() -
Method in class harpoon.Analysis.PointerAnalysis.MethodHole
- Clone a
MethodHole
.
- clone() -
Method in class harpoon.Analysis.PointerAnalysis.MAInfo.MAInfoOptions
-
- clone() -
Method in class harpoon.Analysis.PointerAnalysis.LightPAEdgeSet
-
- clone() -
Method in class harpoon.Analysis.PointerAnalysis.EdgesNCallees
- Simply clone an
EdgesNCallees
object.
- clone() -
Method in class harpoon.Analysis.PointerAnalysis.EdgeOrdering
- Clone this object.
- clone() -
Method in class harpoon.Analysis.PointerAnalysis.ActionRepository
- Produces a copy of
this
object.
- clone() -
Method in class harpoon.Analysis.PointerAnalysis.AbstrPAEdgeSet
-
- clone() -
Method in class harpoon.ClassFile.HCode
- Clone this
HCode
and all associated
HCodeElement
s.
- clone() -
Method in class harpoon.IR.Quads.Quad
-
- clone() -
Method in class harpoon.IR.Tree.Tree
- Clone a subtree.
- clone() -
Method in class harpoon.Interpret.Tree.UndefinedRef
-
- clone() -
Method in class harpoon.Temp.Temp
- Clones a
Temp
using the same TempFactory
.
- clone() -
Method in class harpoon.Tools.PatMat.Spec.TypeSet
- Clones a
Spec.TypeSet
.
- clone() -
Method in class harpoon.Util.CloneableIterator
-
- clone() -
Method in class harpoon.Util.BitString
- Clones the BitString.
- clone() -
Method in class harpoon.Util.Collections.UniqueVector
- Returns a clone of this vector.
- clone() -
Method in class harpoon.Util.Collections.LinearSet
-
- clone() -
Method in class harpoon.Util.Collections.BinomialHeap
- Creates a new BinomialHeap with all the key-value pairs this one
has.
- clone() -
Method in class harpoon.Util.DataStructs.RelationImpl
- Creates a new, independent relation (the operations on
the new relation won't affect the old one).
- clone() -
Method in interface harpoon.Util.DataStructs.Relation
- Clones this relation.
- clone() -
Method in class harpoon.Util.DataStructs.LightRelation
-
- clone() -
Method in class harpoon.Util.DataStructs.LightMap
-
- clone() -
Method in class harpoon.Util.DataStructs.AbstrRelation
-
- clone(Derivation.DList) -
Static method in class harpoon.Analysis.Maps.Derivation.DList
- Returns a clean copy of this
DList
.
- clone(HClass) -
Method in class harpoon.ClassFile.HData
- Clone this
HData
, possibly moving it to a different
HClass
.
- clone(HMethod) -
Method in class harpoon.Analysis.EnvBuilder.EnvCode
- Clone this code representation.
- clone(HMethod) -
Method in class harpoon.Analysis.EventDriven.EventDrivenCode
- Clone this code representation.
- clone(HMethod) -
Method in class harpoon.Analysis.LowQuad.Loop.MyLowQuadSSI
-
- clone(HMethod) -
Method in class harpoon.ClassFile.HCode
- Clone this
HCode
, possibly moving it to a different method.
- clone(HMethod) -
Method in class harpoon.IR.Bytecode.Code
- Clone this code representation.
- clone(HMethod) -
Method in class harpoon.IR.LowQuad.LowQuadSSI
- Clone this code representation.
- clone(HMethod) -
Method in class harpoon.IR.LowQuad.LowQuadSSA
- Clone this code representation.
- clone(HMethod) -
Method in class harpoon.IR.LowQuad.LowQuadNoSSA
- Clone this code representation.
- clone(HMethod) -
Method in class harpoon.IR.Quads.QuadWithTry
- Clone this code representation.
- clone(HMethod) -
Method in class harpoon.IR.Quads.QuadSSI
- Clone this code representation.
- clone(HMethod) -
Method in class harpoon.IR.Quads.QuadSSA
- Clone this code representation.
- clone(HMethod) -
Method in class harpoon.IR.Quads.QuadRSSx
- Clone this code representation.
- clone(HMethod) -
Method in class harpoon.IR.Quads.QuadNoSSA
- Clone this code representation.
- clone(HMethod) -
Method in class harpoon.IR.Quads.Code
- Clone this code representation.
- clone(HMethod) -
Method in class harpoon.IR.Tree.Code
- Clone this code representation.
- clone(HMethod, Frame) -
Method in class harpoon.IR.Tree.TreeCode
- Clone this code representation.
- clone(HMethod, Frame) -
Method in class harpoon.IR.Tree.OptimizedTreeCode
- Clone this code representation.
- clone(HMethod, Frame) -
Method in class harpoon.IR.Tree.Code
- Clone this code representation.
- clone(HMethod, Frame) -
Method in class harpoon.IR.Tree.CanonicalTreeCode
- Clone this code representation.
- clone(Map) -
Method in class harpoon.Analysis.PointerAnalysis.EdgesNCallees
- clone the
EdgesNCallees
while transposing the
callees using the map
.
- clone(Map, Map) -
Method in class harpoon.Analysis.PointerAnalysis.EdgesNCallees
- clone the
EdgesNCallees
while transposing the
callees using the first map
, and the nodes using
the second one.
- clone(QuadFactory, CloningTempMap) -
Method in class harpoon.IR.Quads.Quad
- Clone a quad into a new quad factory, renaming all of the temps
according to
tm
(which ought to ensure that all
the new temps belong to the TempFactory
of the
new QuadFactory
).
- clone(QuadFactory, Quad) -
Static method in class harpoon.IR.Quads.Quad
- Create a new copy of a string of
Quad
s starting at
the given header using QuadFactory
.
- clone(TempFactory) -
Method in class harpoon.Temp.Temp
- Clones a
Temp
into a different TempFactory
.
- clone(TreeFactory, Tree, Tree.CloneCallback) -
Static method in class harpoon.IR.Tree.Tree
- Returns a clone of
root
.
- CloneableIterator - class harpoon.Util.CloneableIterator.
CloneableIterator
is a wrapper around
Iterator
that is safely Cloneable
.- CloneableIterator(Iterator) -
Constructor for class harpoon.Util.CloneableIterator
- Creates a
CloneableIterator
using
iter
as its source.
- clonebis() -
Method in class harpoon.Analysis.PointerAnalysis.ODInformation
-
- cloneCallback(TreeDerivation) -
Method in class harpoon.IR.Tree.DerivationGenerator
-
- cloneHCode(HCode, HMethod) -
Method in class harpoon.Analysis.PreciseGC.AllocationHoisting
- Clones
HCode
and creates an iMap2
entry for the cloned code.
- cloneHCode(HCode, HMethod) -
Method in class harpoon.Analysis.Quads.MemoryOptimization
-
- cloneHCode(HCode, HMethod) -
Method in class harpoon.Analysis.Quads.DispatchTreeTransformation
-
- cloneHCode(HCode, HMethod) -
Method in class harpoon.Analysis.Quads.CoalescingToNoSSA
-
- cloneHCode(HCode, HMethod) -
Method in class harpoon.Analysis.Transactions.SyncTransformer
-
- cloneHCode(HCode, HMethod) -
Method in class harpoon.Analysis.Transformation.MethodSplitter
- Override this method if you do not want the mutatable HCode to be
a straight clone of the original HCode: for example, if the
input HCodes were
QuadSSI
and you wanted to
clone them into QuadRSSI
s before mutating.
- cloneHCode(HCode, HMethod) -
Method in class harpoon.Analysis.Transformation.MethodMutator
- Override this method if you do not want the mutatable HCode to be
a straight clone of the original HCode: for example, if the
input HCodes were
QuadSSI
and you wanted to
clone them into QuadRSSI
s before mutating.
- cloneHelper(Code) -
Method in class harpoon.IR.Quads.Code
- Helper for clone
- cloneHelper(Code, Code) -
Method in class harpoon.IR.LowQuad.Code
-
- cloneHelper(Code, Code) -
Method in class harpoon.IR.Quads.Code
- Helper for clone
- cloneHelper(Code, DerivationGenerator) -
Method in class harpoon.IR.Tree.Code
- Helps to create a proper
HCodeAndMaps
during cloning
- CloneImplementer - class harpoon.Analysis.Transactions.CloneImplementer.
CloneImplementer
adds synthetic specialized implementations
for all clone methods.- CloneImplementer(HCodeFactory, Linker, Set) -
Constructor for class harpoon.Analysis.Transactions.CloneImplementer
- Creates a
CloneImplementer
based on the
given HCodeFactory
, which must produce
some QuadSSI form.
- cloneMutateAssem(InstrFactory, String) -
Method in class harpoon.IR.Assem.InstrMOVE
-
- cloneMutateAssem(InstrFactory, String) -
Method in class harpoon.IR.Assem.InstrMEM
-
- cloneMutateAssem(InstrFactory, String) -
Method in class harpoon.IR.Assem.InstrLABEL
-
- cloneMutateAssem(InstrFactory, String) -
Method in class harpoon.IR.Assem.InstrJUMP
-
- cloneMutateAssem(InstrFactory, String) -
Method in class harpoon.IR.Assem.InstrDIRECTIVE
-
- cloneMutateAssem(InstrFactory, String) -
Method in class harpoon.IR.Assem.InstrCALL
-
- cloneMutateAssem(InstrFactory, String) -
Method in class harpoon.IR.Assem.Instr
- Clones this, mutating the assembly string.
- cloneMutateAssem(String) -
Method in class harpoon.IR.Assem.Instr
- Clones this, mutating the assembly string.
- CloningTempMap - class harpoon.Temp.CloningTempMap.
- A
CloningTempMap
maps Temp
s from one
TempFactory
to equivalent Temp
s in another,
creating new Temp
s as necessary. - CloningTempMap(TempFactory, TempFactory) -
Constructor for class harpoon.Temp.CloningTempMap
- Creates a
CloningTempMap
, given the
source and destination TempFactory
s.
- CloningVisitor - class harpoon.Analysis.EventDriven.CloningVisitor.
CloningVisitor
- CloningVisitor(Set, Set, Map, Map, QuadLiveness, Set, Map, HCode, CachingCodeFactory, AllCallers.MethodSet, HMethod, Linker, ClassHierarchy, Set, Set, boolean, TypeMap, boolean, boolean, Set) -
Constructor for class harpoon.Analysis.EventDriven.CloningVisitor
-
- close() -
Method in class harpoon.Backend.PreciseC.TreeToC
-
- cmm -
Variable in class harpoon.Backend.Runtime1.TreeBuilder
-
- CMPEQ -
Static variable in class harpoon.IR.Tree.Bop
- If equal-to, then 1 else 0.
- CMPEQ -
Static variable in class harpoon.Tools.PatMat.Sym
-
- CMPGE -
Static variable in class harpoon.IR.Tree.Bop
- If greater-than-or-equal-to, then 1 else 0.
- CMPGE -
Static variable in class harpoon.Tools.PatMat.Sym
-
- CMPGT -
Static variable in class harpoon.IR.Tree.Bop
- If greater-than, then 1 else 0.
- CMPGT -
Static variable in class harpoon.Tools.PatMat.Sym
-
- CMPLE -
Static variable in class harpoon.IR.Tree.Bop
- If less-than-or-equal-to, then 1 else 0.
- CMPLE -
Static variable in class harpoon.Tools.PatMat.Sym
-
- CMPLT -
Static variable in class harpoon.IR.Tree.Bop
- If less-than, then 1 else 0.
- CMPLT -
Static variable in class harpoon.Tools.PatMat.Sym
-
- CMPNE -
Static variable in class harpoon.IR.Tree.Bop
- If not-equal-to, then 1 else 0.
- CMPNE -
Static variable in class harpoon.Tools.PatMat.Sym
-
- coalesce() -
Method in class harpoon.Analysis.Instr.AppelRegAlloc
-
- coalesce(AppelRegAllocClasses.Move, AppelRegAllocClasses.Node, AppelRegAllocClasses.Node) -
Method in class harpoon.Analysis.Instr.AppelRegAlloc
-
- CoalescingToNoSSA - class harpoon.Analysis.Quads.CoalescingToNoSSA.
CoalescingToNoSSA
converts SSA, SSI, and RSSx forms
to No-SSA form, *coalescing* variables mentioned in phi and sigma
statements where possible instead of inserting moves.- CoalescingToNoSSA(HCodeFactory) -
Constructor for class harpoon.Analysis.Quads.CoalescingToNoSSA
- Creates a
CoalescingToNoSSA
.
- code -
Variable in class harpoon.Analysis.Instr.RegAlloc
Generic.Code
for this
.
- code -
Variable in class harpoon.IR.RawClass.AttributeCode
- The
code
array gives the actual bytes of Java
Virtual Machine code that implement the method.
- Code - class harpoon.Backend.CSAHack.RegAlloc.Code.
Code
- Code - class harpoon.Backend.Generic.Code.
Generic.Code
is an abstract superclass of codeviews
which use Instr
s.- Code - class harpoon.IR.Assem.Code.
IR.Assem.Code
is an abstract superclass of codeviews
which use Instr
s.- Code - class harpoon.IR.Bytecode.Code.
Bytecode.Code
is a code view that exposes the
raw java classfile bytecodes.- Code - class harpoon.IR.LowQuad.Code.
LowQuad.Code
is an abstract superclass of codeviews
using the components in IR.LowQuad
.- Code - class harpoon.IR.Quads.Code.
Quads.Code
is an abstract superclass of codeviews
using the components in IR.Quads
.- Code - class harpoon.IR.Tree.Code.
Tree.Code
is an abstract superclass of codeviews
using the components in IR.Tree
.- CODE -
Static variable in class harpoon.IR.Tree.SEGMENT
- Read-only instruction memory
- code_length() -
Method in class harpoon.IR.RawClass.AttributeCode
-
- Code.ExceptionEntry - class harpoon.IR.Bytecode.Code.ExceptionEntry.
- Represents exception handlers in this code view.
- Code.TreeFactory - class harpoon.IR.Tree.Code.TreeFactory.
- Create a proper TreeFactory.
- Code(Code) -
Constructor for class harpoon.Backend.Generic.Code
-
- Code(Code, Instr, Derivation, String) -
Constructor for class harpoon.Backend.Generic.Code
- Generates a new
Generic.Code
from
another Generic.Code
, code
, with
i
as the root instruction (instead of whatever
root was used in code
, and codeName
as the value that would be returned by a call
getName()
.
- Code(HMethod, Frame) -
Constructor for class harpoon.IR.Assem.Code
- constructor.
- Code(HMethod, Frame, String) -
Constructor for class harpoon.IR.Assem.Code
- constructor.
- Code(HMethod, Instr, Derivation, Frame) -
Constructor for class harpoon.Backend.CSAHack.RegAlloc.Code
- Creates a
Code
.
- Code(HMethod, MethodInfo) -
Constructor for class harpoon.IR.Bytecode.Code
- Constructor.
- Code(HMethod, Quad) -
Constructor for class harpoon.IR.LowQuad.Code
-
- Code(HMethod, Quad) -
Constructor for class harpoon.IR.Quads.Code
- constructor.
- Code(HMethod, Tree, Frame) -
Constructor for class harpoon.IR.Tree.Code
- constructor.
- code2str(HCodeElement) -
Static method in class harpoon.Analysis.PointerAnalysis.Debug
- Returns the string representation of the code instruction q
in the formay:
source_file:line_number instruction
.
- codeFactory() -
Method in class harpoon.Analysis.PointerAnalysis.AllocationNumbering
- Return the (caching) code factory this numbering was created on.
- codeFactory() -
Method in class harpoon.Analysis.PreciseGC.WriteBarrierStats
-
- codeFactory() -
Method in class harpoon.Analysis.Quads.InitializerTransform
-
- codeFactory() -
Method in class harpoon.Analysis.SizeOpt.MZFCompressor
-
- codeFactory() -
Method in class harpoon.Analysis.SizeOpt.FieldReducer
-
- codeFactory() -
Method in class harpoon.Analysis.SizeOpt.Field2Method
-
- codeFactory() -
Method in class harpoon.Analysis.Transactions.SyncTransformer
-
- codeFactory() -
Method in class harpoon.Analysis.Transformation.MethodSplitter
- Returns a
HCodeFactory
containing representations for
the methods split by the MethodSplitter
.
- codeFactory() -
Method in class harpoon.Analysis.Transformation.MethodMutator
- Returns a
HCodeFactory
containing representations for
the methods altered by the MethodMutator
.
- codeFactory() -
Method in class harpoon.Analysis.Tree.DominatingMemoryAccess
- Standard interface to run this analysis
- codeFactory() -
Static method in class harpoon.IR.Bytecode.Code
- Return an HCodeFactory for Bytecode form.
- codeFactory() -
Static method in class harpoon.IR.LowQuad.LowQuadSSI
- Return a code factory for
LowQuadSSI
, using the default
code factory for harpoon.IR.Quads.QuadSSI
- codeFactory() -
Static method in class harpoon.IR.LowQuad.LowQuadSSA
- Return a code factory for
LowQuadSSA
, using the default
code factory for LowQuadSSI
- codeFactory() -
Static method in class harpoon.IR.LowQuad.LowQuadNoSSA
- Return a code factory for
LowQuadNoSSA
, using the default
code factory for LowQuadSSI
- codeFactory() -
Static method in class harpoon.IR.Quads.QuadWithTry
- Return a code factory for QuadWithTry, using the default
code factory for Bytecode.
- codeFactory() -
Static method in class harpoon.IR.Quads.QuadSSI
- Return a code factory for QuadSSI, using the default code factory
for QuadNoSSA.
- codeFactory() -
Static method in class harpoon.IR.Quads.QuadSSA
- Return a code factory for QuadSSA, using the default code factory
for QuadSSI.
- codeFactory() -
Static method in class harpoon.IR.Quads.QuadNoSSA
- Return a code factory for QuadNoSSA, using the default code
factory for QuadWithTry.
- codeFactory(Frame) -
Static method in class harpoon.IR.Tree.TreeCode
- Return a code factory for
TreeCode
, using the default
code factory for LowQuadSSI
- codeFactory(Frame) -
Static method in class harpoon.IR.Tree.OptimizedTreeCode
- Return a code factory for
LowQuadNoSSA
, using the default
code factory for LowQuadNoSSA
- codeFactory(Frame) -
Static method in class harpoon.IR.Tree.CanonicalTreeCode
- Return a code factory for
CanonicalTreeCode
,
using the default code factory for TreeCode
- codeFactory(HCodeFactory) -
Static method in class harpoon.Analysis.LowQuad.DerivationChecker
- Create an
HCodeFactory
that will check the
derivation of every "converted" HCode
.
- codeFactory(HCodeFactory) -
Static method in class harpoon.Analysis.LowQuad.Loop.LoopOptimize
- Returns a
HCodeFactory
that uses LoopOptimize
.
- codeFactory(HCodeFactory) -
Method in class harpoon.Analysis.PreciseGC.WriteBarrierPostPass
- Code factory for applying the post pass to the given tree
form.
- codeFactory(HCodeFactory) -
Static method in class harpoon.Analysis.Quads.SSIStats
-
- codeFactory(HCodeFactory) -
Static method in class harpoon.Analysis.Quads.SCC.SCCOptimize
- Returns a code factory that uses SCCOptimize.
- codeFactory(HCodeFactory) -
Method in class harpoon.Analysis.Realtime.HeapCheckAdder
- Code factory for adding heap checks to the given tree form.
- codeFactory(HCodeFactory) -
Static method in class harpoon.Analysis.Tree.MemHoisting
- Code factory for applying MemHoisting to a
canonical tree.
- codeFactory(HCodeFactory) -
Static method in class harpoon.Analysis.Tree.JumpOptimization
- Code factory for applying JumpOptimization to a
canonical tree.
- codeFactory(HCodeFactory) -
Static method in class harpoon.Analysis.Tree.DerivationChecker
- Create an
HCodeFactory
that will check the
derivations of every "converted" HCode
.
- codeFactory(HCodeFactory) -
Static method in class harpoon.Analysis.Tree.DeadCodeElimination
- Code factory for applying DeadCodeElimination to a
canonical tree.
- codeFactory(HCodeFactory) -
Static method in class harpoon.Analysis.Tree.Canonicalize
- Code factory for applying the default set of simplifications to
the given tree form.
- codeFactory(HCodeFactory) -
Static method in class harpoon.Analysis.Tree.AlgebraicSimplification
- Code factory for applying the default set of simplifications to
the given tree form.
- codeFactory(HCodeFactory) -
Static method in class harpoon.Backend.Analysis.InsertWriteBarrier
- Code factory for inserting write barriers to a tree.
- codeFactory(HCodeFactory) -
Method in class harpoon.Backend.Analysis.GCTraceStore
-
- codeFactory(HCodeFactory) -
Static method in class harpoon.IR.LowQuad.LowQuadSSI
- Return a code factory for
LowQuadSSI
, given a
code factory for QuadSSI
.
- codeFactory(HCodeFactory) -
Static method in class harpoon.IR.LowQuad.LowQuadSSA
- Return a code factory for
LowQuadSSA
, given a
code factory for LowQuadSSI
.
- codeFactory(HCodeFactory) -
Static method in class harpoon.IR.LowQuad.LowQuadNoSSA
- Return a code factory for
LowQuadNoSSA
, given a
code factory for either LowQuadSSI
.
- codeFactory(HCodeFactory) -
Static method in class harpoon.IR.Quads.QuadWithTry
- Return a code factory for
QuadWithTry
, given a
code factory for Bytecode
or QuadNoSSA
.
- codeFactory(HCodeFactory) -
Static method in class harpoon.IR.Quads.QuadSSI
- Return a code factory for
QuadSSI
, given a code
factory for QuadNoSSA
.
- codeFactory(HCodeFactory) -
Static method in class harpoon.IR.Quads.QuadSSA
- Return a code factory for
QuadSSA
, given a code
factory for QuadNoSSA
.
- codeFactory(HCodeFactory) -
Static method in class harpoon.IR.Quads.QuadRSSx
- Return a code factory for
QuadRSSx
, given a code
factory for QuadNoSSA
or QuadSSI
.
- codeFactory(HCodeFactory) -
Static method in class harpoon.IR.Quads.QuadNoSSA
- Return a code factory for
QuadNoSSA
, given a code
factory for QuadWithTry
or QuadSSI
.
- codeFactory(HCodeFactory, Frame) -
Static method in class harpoon.Analysis.Instr.RegAlloc
- Creates a register-allocating
HCodeFactory
for
"instr" form.
- codeFactory(HCodeFactory, Frame) -
Static method in class harpoon.Backend.Analysis.MakeGCThreadSafe
- Code factory for adding GC polling calls to a
canonical tree.
- codeFactory(HCodeFactory, Frame) -
Static method in class harpoon.IR.Tree.TreeCode
- Returns a code factory for
TreeCode
, given a
code factory for LowQuadNoSSA
or LowQuadSSI
.
- codeFactory(HCodeFactory, Frame) -
Static method in class harpoon.IR.Tree.OptimizedTreeCode
- Return a code factory for
OptimizedTreeCode
, given a
code factory for CanonicalTreeCode
.
- codeFactory(HCodeFactory, Frame) -
Static method in class harpoon.IR.Tree.CanonicalTreeCode
- Return a code factory for
CanonicalTreeCode
, given a
code factory for TreeCode
.
- codeFactory(HCodeFactory, Frame, OptimizedTreeCode.TreeOptimizer[]) -
Static method in class harpoon.IR.Tree.OptimizedTreeCode
- Return a code factory for
OptimizedTreeCode
, given a
code factory for CanonicalTreeCode
, a Frame
,
and a set of optimizations to perform.
- codeFactory(HCodeFactory, Frame, RegAlloc.Factory) -
Static method in class harpoon.Analysis.Instr.RegAlloc
-
- codeFactory(HCodeFactory, InstrumentSyncOps) -
Static method in class harpoon.Analysis.PointerAnalysis.InstrumentSyncOps
- Returns a
HCodeFactory
that uses InstrumentSyncOps
.
- codeFactory(HCodeFactory, Linker, HMethod) -
Static method in class harpoon.Analysis.Counters.CounterFactory
HCodeFactory
that will add calls to the counter-printing
epilog at the end of the given main method and before calls to
Runtime.exit()
.
- codeFactory(HCodeFactory, List) -
Static method in class harpoon.Analysis.Tree.Simplification
- Code factory for applying a set of simplification rules to
tree form.
- codeFactory(HCodeFactory, Set, Set) -
Static method in class harpoon.IR.Quads.ThreadInliner
- Returns a
HCodeFactory
that uses LoopOptimize
.
- codeFactory(HCodeFactory, SyncElimination) -
Static method in class harpoon.Analysis.PointerAnalysis.SyncElimination
- Returns a
HCodeFactory
that uses SyncElimination
.
- codeFactory(RegAlloc.IntermediateCodeFactory, Frame) -
Method in class harpoon.Backend.Analysis.BasicGCInfo
- Returns an IntermediateCodeFactory that inserts
InstrLABEL
s at garbage collection points
and stores the information needed by the garbage
collector in this
.
- codeFactory(RegAlloc.IntermediateCodeFactory, Frame) -
Method in class harpoon.Backend.Generic.GCInfo
- Creates an
IntermediateCodeFactory
that
prepares the code for garbage collection.
- codeFactoryWithTypes(HCodeFactory) -
Static method in class harpoon.IR.Quads.QuadNoSSA
- Return a code factory for
QuadNoSSA
, given a code
factory for QuadSSI
.
- CodeGen - class harpoon.Backend.Generic.CodeGen.
Generic.CodeGen
is a general class for specific Backends to
extend.- CodeGen - class harpoon.Backend.MIPS.CodeGen.
MIPS.CodeGen
is a code-generator for the MIPS II architecture.- CodeGen - class harpoon.Backend.Sparc.CodeGen.
Sparc.CodeGen
is a code-generator for the Sparc architecture.- CodeGen - class harpoon.Backend.StrongARM.CodeGen.
StrongARM.CodeGen
is a code-generator for the ARM architecture.- CodeGen.InstrCC - class harpoon.Backend.Sparc.CodeGen.InstrCC.
- Sub-class to indicate dependencies on the condition code register
for later optimization.
- CodeGen.InstrCC(InstrFactory, HCodeElement, String, Temp[], Temp[]) -
Constructor for class harpoon.Backend.Sparc.CodeGen.InstrCC
-
- CodeGen.InstrCC(InstrFactory, HCodeElement, String, Temp[], Temp[], boolean, List) -
Constructor for class harpoon.Backend.Sparc.CodeGen.InstrCC
-
- CodeGen.InstrDELAYSLOT - class harpoon.Backend.Sparc.CodeGen.InstrDELAYSLOT.
- Sub-class to represent delay-slots.
- CodeGen.InstrDELAYSLOT(InstrFactory, HCodeElement) -
Constructor for class harpoon.Backend.Sparc.CodeGen.InstrDELAYSLOT
-
- CodeGen(Frame) -
Constructor for class harpoon.Backend.Generic.CodeGen
- Creates a
Generic.CodeGen
.
- CodeGen(Frame) -
Constructor for class harpoon.Backend.Sparc.CodeGen
-
- CodeGen(Frame, boolean) -
Constructor for class harpoon.Backend.MIPS.CodeGen
-
- CodeGen(Frame, boolean) -
Constructor for class harpoon.Backend.StrongARM.CodeGen
-
- CodeGeneratorGenerator - class harpoon.Tools.PatMat.CodeGeneratorGenerator.
CodeGeneratorGenerator
generates a java program to
convert Tree
s into Instr
sequences.- CodeGeneratorGenerator(Spec, String) -
Constructor for class harpoon.Tools.PatMat.CodeGeneratorGenerator
- Creates a
CodeGeneratorGenerator
.
- codename -
Static variable in class harpoon.Analysis.LowQuad.Loop.MyLowQuadSSI
-
- codename -
Static variable in class harpoon.Analysis.LowQuad.Loop.MyLowQuadNoSSA
-
- codename -
Static variable in class harpoon.IR.Bytecode.Code
- The name of this code view.
- codename -
Static variable in class harpoon.IR.LowQuad.LowQuadSSI
- The name of this code view.
- codename -
Static variable in class harpoon.IR.LowQuad.LowQuadSSA
- The name of this code view.
- codename -
Static variable in class harpoon.IR.LowQuad.LowQuadNoSSA
- The name of this code view.
- codename -
Static variable in class harpoon.IR.Quads.QuadWithTry
- The name of this code view.
- codename -
Static variable in class harpoon.IR.Quads.QuadSSI
- The name of this code view.
- codename -
Static variable in class harpoon.IR.Quads.QuadSSA
- The name of this code view.
- codename -
Static variable in class harpoon.IR.Quads.QuadRSSx
- The name of this code view.
- codename -
Static variable in class harpoon.IR.Quads.QuadNoSSA
- The name of this code view.
- codename -
Static variable in class harpoon.IR.Tree.TreeCode
- The
getName()
method return codename
,
which is "tree" for this Code
.
- codename -
Static variable in class harpoon.IR.Tree.OptimizedTreeCode
-
- codename -
Static variable in class harpoon.IR.Tree.CanonicalTreeCode
- The
getName()
method return codename
,
which is "canonical-tree" for this Code
.
- COLLECT_RUNTIME_STATS -
Static variable in class harpoon.Analysis.Realtime.Realtime
- Add code to the executable to enable gathering of runtime statistics.
- CollectionFactory - class harpoon.Util.Collections.CollectionFactory.
CollectionFactory
is a Collection
generator.- CollectionFactory() -
Constructor for class harpoon.Util.Collections.CollectionFactory
- Creates a
CollectionFactory
.
- CollectionWrapper - class harpoon.Util.Collections.CollectionWrapper.
CollectionWrapper
is a class that acts as a wrapper
around another Collection, using it as its backing store.- CollectionWrapper(Collection) -
Constructor for class harpoon.Util.Collections.CollectionWrapper
- Creates a
CollectionWrapper
.
- CollectSyncStats - class harpoon.Analysis.Quads.CollectSyncStats.
CollectSyncStats
is used at run time to collect information
about synchronization operations.- CollectSyncStats() -
Constructor for class harpoon.Analysis.Quads.CollectSyncStats
-
- COLON -
Static variable in class harpoon.Tools.Annotation.Sym
-
- COLON -
Static variable in class harpoon.Tools.PatMat.Sym
-
- color -
Variable in class harpoon.Analysis.GraphColoring.ColorableNode
-
- color -
Variable in class harpoon.Analysis.GraphColoring.ColorableGraph.IllegalColor
- Color intended for assignment.
- Color - class harpoon.Analysis.GraphColoring.Color.
Color
is a placeholder for specific graph colorers.- Color() -
Constructor for class harpoon.Analysis.GraphColoring.Color
- Creates a
Color
.
- color(ColorableGraph, List) -
Method in class harpoon.Analysis.GraphColoring.UnboundedGraphColorer
-
- color(ColorableGraph, List) -
Method in class harpoon.Analysis.GraphColoring.SimpleGraphColorer
- Colors
graph
.
- color(ColorableGraph, List) -
Method in class harpoon.Analysis.GraphColoring.OptimisticGraphColorer
-
- color(ColorableGraph, List) -
Method in class harpoon.Analysis.GraphColoring.GraphColorer
- Attempts to color
graph
.
- ColorableGraph - interface harpoon.Analysis.GraphColoring.ColorableGraph.
ColorableGraph
extends
GraphColoring.Graph
with methods
that are useful for a graph-coloring system.- ColorableGraph.AlreadyColoredException - exception harpoon.Analysis.GraphColoring.ColorableGraph.AlreadyColoredException.
- AlreadyColoredException will be thrown on attempt to call
g.setColor(node,color)
when n is present in the
node -> color mapping. - ColorableGraph.AlreadyColoredException(Object) -
Constructor for class harpoon.Analysis.GraphColoring.ColorableGraph.AlreadyColoredException
-
- ColorableGraph.AlreadyColoredException(String, Object) -
Constructor for class harpoon.Analysis.GraphColoring.ColorableGraph.AlreadyColoredException
-
- ColorableGraph.AlreadyHiddenException - exception harpoon.Analysis.GraphColoring.ColorableGraph.AlreadyHiddenException.
- AlreadyHiddenException will be thrown on attempt to call
g.addNode(n)
while n is a member of the set of
hidden nodes in g
. - ColorableGraph.AlreadyHiddenException() -
Constructor for class harpoon.Analysis.GraphColoring.ColorableGraph.AlreadyHiddenException
-
- ColorableGraph.AlreadyHiddenException(String) -
Constructor for class harpoon.Analysis.GraphColoring.ColorableGraph.AlreadyHiddenException
-
- ColorableGraph.IllegalColor - class harpoon.Analysis.GraphColoring.ColorableGraph.IllegalColor.
- IllegalColor will be thrown on an attempt to color a
node with a color that for some reason is not legal for that
node in this graph.
- ColorableGraph.IllegalColor(Object, Color) -
Constructor for class harpoon.Analysis.GraphColoring.ColorableGraph.IllegalColor
- Constructs an IllegalColor with
node = n
and
color = c
.
- ColorableNode - class harpoon.Analysis.GraphColoring.ColorableNode.
ColorableNode
- ColorableNode() -
Constructor for class harpoon.Analysis.GraphColoring.ColorableNode
-
- ColorFactory - class harpoon.Analysis.GraphColoring.ColorFactory.
ColorFactory
- ColorFactory() -
Constructor for class harpoon.Analysis.GraphColoring.ColorFactory
- Creates a
ColorFactory
.
- colorToReg() -
Method in class harpoon.Analysis.Instr.AppelRegAlloc
-
- CombineEnumerator - class harpoon.Util.CombineEnumerator.
- Deprecated. Use harpoon.Util.CombineIterator instead.
- CombineEnumerator(Enumeration[]) -
Constructor for class harpoon.Util.CombineEnumerator
- Deprecated. Creates a
CombineEnumerator
.
- CombineIterator - class harpoon.Util.CombineIterator.
- A
CombineIterator
combines several different
Iterator
s into one. - CombineIterator(Iterator) -
Constructor for class harpoon.Util.CombineIterator
- Creates a
CombineIterator
from an
Iterator over Iterators.
- CombineIterator(Iterator[]) -
Constructor for class harpoon.Util.CombineIterator
- Creates a
CombineIterator
from an array of Iterators.
- CombineIterator(Iterator, Iterator) -
Constructor for class harpoon.Util.CombineIterator
- Creates a
CombineIterator
from a pair of
Iterators.
- comesFrom(Node) -
Method in class harpoon.Backend.CSAHack.Graph.Node
-
- COMMA -
Static variable in class harpoon.Tools.Annotation.Sym
-
- COMMA -
Static variable in class harpoon.Tools.PatMat.Sym
-
- commit() -
Method in class harpoon.Runtime.Transactions.CommitRecord
- Commit this (sub)transaction, if possible.
- commit(CommitRecord) -
Static method in class harpoon.Runtime.Transactions.CommitRecord
- Commit a transaction, if possible.
- CommitRecord - class harpoon.Runtime.Transactions.CommitRecord.
- A
CommitRecord
keeps track of the status of a transaction. - COMMITTED -
Static variable in class harpoon.Runtime.Transactions.CommitRecord
-
- commitTransaction() -
Method in class harpoon.Runtime.Transactions.CommitRecord
-
- commonInterface(HClass, HClass) -
Static method in class harpoon.Util.HClassUtil
- Find and return the first common superinterface of a pair of
interfaces.
- commonParent(HClass, HClass) -
Static method in class harpoon.Util.HClassUtil
- Find a class which is a common parent of both suppied classes.
- commonSuper(HClass, HClass) -
Static method in class harpoon.Util.HClassUtil
- Find and return the first common superclass of a pair of classes.
- CommutativityExpander - class harpoon.Tools.PatMat.CommutativityExpander.
- The
CommutativityExpander
tool expands a set of
Spec.Rules
to include add'l valid patterns
generated from the commutative properties of various
Spec.ExpBinop
s. - comp -
Variable in class harpoon.Util.Collections.BinaryTree
-
- COMP -
Static variable in class harpoon.Tools.Annotation.Sym
-
- comparator -
Static variable in class harpoon.Util.Default
- A
Comparator
for objects that implement
Comparable
.
- comparator() -
Method in interface harpoon.Util.Collections.Heap
- Returns the comparator associated with this
Heap
,
or null
if it uses its elements' natural ordering.
- comparator() -
Method in class harpoon.Util.Collections.AbstractHeap
- Returns the comparator used to compare keys in this
Heap
,
or null
if the keys' natural ordering is used.
- compare(Object, Object) -
Method in class harpoon.ClassFile.HMember.MemberComparator
-
- compare(Object, Object) -
Method in class harpoon.Util.UComp
- Compares its two arguments for order.
- compare(Object, Object) -
Method in class harpoon.Util.SortedMapComparator
-
- compare(Object, Object) -
Method in class harpoon.Util.MapComparator
-
- compare(Object, Object) -
Method in class harpoon.Util.ListComparator
-
- compareTo(Object) -
Method in interface harpoon.ClassFile.HMember
- Compares two
HMember
s lexicographically; first by
declaring class, then by name, and lastly by descriptor.
- compareTo(Object) -
Method in class harpoon.ClassFile.HClass
- Compares two
HClass
es by lexicographic order of their
descriptors.
- compareTo(Object) -
Method in class harpoon.IR.Bytecode.Instr
- Natural ordering on
Instr
s.
- compareTo(Object) -
Method in class harpoon.IR.Bytecode.Code.ExceptionEntry
-
- compareTo(Object) -
Method in class harpoon.IR.Quads.Quad
-
- compareTo(Object) -
Method in class harpoon.Temp.Temp
- Comparable interface: sorted by fullname().
- compareTo(Object) -
Method in class harpoon.Util.Tuple
- Does an element-by-element comparison of two
Tuple
s.
- compareTo(Object) -
Method in class harpoon.Util.Graphs.SCComponent
-
- componentCheck(Quad, Temp, Temp, QuadWithTry, UseDef) -
Static method in class harpoon.IR.Quads.Pattern
-
- COMPONENTOF - class harpoon.IR.Quads.COMPONENTOF.
COMPONENTOF
objects implement the test needed to determine
if an ASET
needs to throw an exception.- COMPONENTOF -
Static variable in class harpoon.IR.Quads.QuadKind
-
- COMPONENTOF(QuadFactory, HCodeElement, Temp, Temp, Temp) -
Constructor for class harpoon.IR.Quads.COMPONENTOF
- Creates a
COMPONENTOF
representing a typecheck test.
- componentOf(TreeFactory, HCodeElement, DerivationGenerator, Translation.Exp, Translation.Exp) -
Method in class harpoon.Backend.Generic.Runtime.TreeBuilder
- Return a
Translation.Exp
which tests the
given object expression for membership in the component
type of the given array expression.
- componentOf(TreeFactory, HCodeElement, DerivationGenerator, Translation.Exp, Translation.Exp) -
Method in class harpoon.Backend.Runtime1.TreeBuilder
-
- ComponentOfReducer - class harpoon.Analysis.Quads.ComponentOfReducer.
- The
ComponentOfReducer
pass attempts to transform
COMPONENTOF
operations into (more efficient)
INSTANCEOF
operations, when this is safe to do. - ComponentOfReducer(HCodeFactory, ClassHierarchy) -
Constructor for class harpoon.Analysis.Quads.ComponentOfReducer
-
- ComponentOfReducer(HCodeFactory, ExactTypeMap, FinalMap) -
Constructor for class harpoon.Analysis.Quads.ComponentOfReducer
- Creates a
ComponentOfReducer
.
- ComponentOfReducer(HCodeFactory, TypeMap, FinalMap) -
Constructor for class harpoon.Analysis.Quads.ComponentOfReducer
-
- componentTypeOffset(HClass) -
Method in class harpoon.Interpret.Tree.InterpreterOffsetMap
- If hc is an array type, returns the offset of its component
type's class pointer
- ComputeAnAe - class harpoon.Analysis.MemOpt.ComputeAnAe.
ComputeAnAe
- ComputeAnAe(CachingCodeFactory, CallGraph) -
Constructor for class harpoon.Analysis.MemOpt.ComputeAnAe
-
- ComputeAnAe(CachingCodeFactory, CallGraph, boolean) -
Constructor for class harpoon.Analysis.MemOpt.ComputeAnAe
- Creates a
ComputeAnAe
.
- computeBasicBlocks() -
Method in class harpoon.Analysis.Instr.RegAlloc
- Computes
BasicBlock
s for the Code
associated with this
.
- computeEdgeSum(WeightedGraph, WeightedGraph) -
Static method in class harpoon.Analysis.Partition.Partition
-
- computeSCCBB(HMethod) -
Method in class harpoon.Util.BasicBlocks.SCCBBFactory
- Generates the code of the method
hm
using the
HCodeFactory
passed to the constructor of
this
object, cuts it into pieces (i.e.
- computeSCCBB(HMethod) -
Method in class harpoon.Util.BasicBlocks.CachingSCCBBFactory
- Computes the topologically sorted graph of all the basic blocks from
the
hm
method.
- computeSCCLBB(HMethod) -
Method in class harpoon.Util.LightBasicBlocks.SCCLBBFactory
- Generates the code of the method
hm
using the
HCodeFactory
passed to the constructor of
this
object, cut it into pieces (i.e.
- computeSCCLBB(HMethod) -
Method in class harpoon.Util.LightBasicBlocks.CachingSCCLBBFactory
- Computes the topologically sorted graph of all the light basic blocks
of the
hm
method.
- concatenate(List) -
Static method in class harpoon.Util.Collections.ListFactory
- Creates and returns an unmodifiable
List
view of
the list made from connecting lists
together in
order.
- concatenate(List[]) -
Static method in class harpoon.Util.Collections.ListFactory
- Creates and returns an unmodifiable
List
view of
the list made from connecting lists
together in
order.
- concreteSpillFactory(RegAlloc.IntermediateCodeFactory, Frame) -
Static method in class harpoon.Analysis.Instr.RegAlloc
- Produces an
HCodeFactory
which will transform the
abstract spills into concrete spills.
- configurationSet -
Variable in class harpoon.Backend.Generic.Runtime
- Return a
Set
of labels which specify configuration
dependencies.
- configure(String) -
Static method in class harpoon.Analysis.Realtime.Realtime
- Configure Realtime Java based on the following command-line options.
- conservative(AppelRegAllocClasses.Node, AppelRegAllocClasses.Node) -
Method in class harpoon.Analysis.Instr.AppelRegAllocStd
-
- conservative(AppelRegAllocClasses.Node, AppelRegAllocClasses.Node) -
Method in class harpoon.Analysis.Instr.AppelRegAllocFsk
-
- conservative(AppelRegAllocClasses.Node, AppelRegAllocClasses.Node) -
Method in class harpoon.Analysis.Instr.AppelRegAlloc
- conservative coalescing heuristic due to Preston Briggs.
- CONST - class harpoon.IR.Quads.CONST.
CONST
objects represent an assignment of a constant value
to a compiler temporary.- CONST - class harpoon.IR.Tree.CONST.
CONST
objects are expressions which stand for a constant
value.- CONST -
Static variable in class harpoon.IR.Quads.QuadKind
-
- CONST -
Static variable in class harpoon.IR.Tree.TreeKind
-
- CONST -
Static variable in class harpoon.Tools.Annotation.Sym
-
- CONST -
Static variable in class harpoon.Tools.PatMat.Sym
-
- CONST_NODE -
Variable in class harpoon.Analysis.PointerAnalysis.NodeRepository
-
- CONST(QuadFactory, HCodeElement, Temp, Object, HClass) -
Constructor for class harpoon.IR.Quads.CONST
- Creates a
CONST
from a destination temporary, and object
value and its class type.
- CONST(TreeFactory, HCodeElement) -
Constructor for class harpoon.IR.Tree.CONST
- Creates a
CONST
representing the constant
null
.
- CONST(TreeFactory, HCodeElement, double) -
Constructor for class harpoon.IR.Tree.CONST
-
- CONST(TreeFactory, HCodeElement, float) -
Constructor for class harpoon.IR.Tree.CONST
-
- CONST(TreeFactory, HCodeElement, int) -
Constructor for class harpoon.IR.Tree.CONST
-
- CONST(TreeFactory, HCodeElement, int, boolean, int) -
Constructor for class harpoon.IR.Tree.CONST
- Creates a CONST with a precisely defined type.
- CONST(TreeFactory, HCodeElement, long) -
Constructor for class harpoon.IR.Tree.CONST
-
- Constant - class harpoon.IR.RawClass.Constant.
- The
Constant
class represents a single item in
the constant pool of a class file. - constant_pool -
Variable in class harpoon.IR.RawClass.ClassFile
- The
constant_pool
is a table of variable-length
structures representing various string constants, class names,
field names, and other constants that are referred to within the
ClassFile
structure and its substructures.
- constant_pool_count() -
Method in class harpoon.IR.RawClass.ClassFile
-
- constant() -
Method in class harpoon.Analysis.LowQuad.Loop.Induction
-
- constant() -
Method in class harpoon.Analysis.LowQuad.Loop.Induction.IntMultAdd
-
- Constant(ClassFile) -
Constructor for class harpoon.IR.RawClass.Constant
-
- constant(int) -
Method in class harpoon.IR.RawClass.AttributeCode
- Lookup a
Constant
in the constant_pool
.
- ConstantClass - class harpoon.IR.RawClass.ConstantClass.
- The
CONSTANT_Class_info
structure is used to
represent a class or an interface. - ConstantClass(ClassFile, int) -
Constructor for class harpoon.IR.RawClass.ConstantClass
- Constructor.
- ConstantDouble - class harpoon.IR.RawClass.ConstantDouble.
- The
CONSTANT_Double_info
structure represents eight-byte
floating-point numeric constants. - ConstantDouble(ClassFile, double) -
Constructor for class harpoon.IR.RawClass.ConstantDouble
- Constructor.
- ConstantFieldref - class harpoon.IR.RawClass.ConstantFieldref.
- The
CONSTANT_Fieldref
structure represents a field. - ConstantFieldref(ClassFile, int, int) -
Constructor for class harpoon.IR.RawClass.ConstantFieldref
- Constructor.
- ConstantFloat - class harpoon.IR.RawClass.ConstantFloat.
- The
CONSTANT_Float_info
structure represents four-byte
floating-point numeric constants. - ConstantFloat(ClassFile, float) -
Constructor for class harpoon.IR.RawClass.ConstantFloat
- Constructor.
- ConstantInteger - class harpoon.IR.RawClass.ConstantInteger.
- The
CONSTANT_Integer_info
structure represents
four-byte integer numeric constants. - ConstantInteger(ClassFile, int) -
Constructor for class harpoon.IR.RawClass.ConstantInteger
- Constructor.
- ConstantInterfaceMethodref - class harpoon.IR.RawClass.ConstantInterfaceMethodref.
- The
CONSTANT_InterfaceMethodref
structure represents
an interface method. - ConstantInterfaceMethodref(ClassFile, int, int) -
Constructor for class harpoon.IR.RawClass.ConstantInterfaceMethodref
- Constructor.
- ConstantLong - class harpoon.IR.RawClass.ConstantLong.
- The
CONSTANT_Long_info
structure represents eight-byte
integer numeric constants. - ConstantLong(ClassFile, long) -
Constructor for class harpoon.IR.RawClass.ConstantLong
- Constructor.
- ConstantMethodref - class harpoon.IR.RawClass.ConstantMethodref.
- The
CONSTANT_Methodref
structure represents a method. - ConstantMethodref(ClassFile, int, int) -
Constructor for class harpoon.IR.RawClass.ConstantMethodref
- Constructor.
- ConstantNameAndType - class harpoon.IR.RawClass.ConstantNameAndType.
- The
CONSTANT_NameAndType_info
structure is used to
represent a field or method, without indicating which class or
interface type it belongs to. - ConstantNameAndType(ClassFile, int, int) -
Constructor for class harpoon.IR.RawClass.ConstantNameAndType
- Constructor.
- ConstantPropagation - class harpoon.Analysis.Tree.ConstantPropagation.
ConstantPropagation
performs constant
propagation on canonical tree form.- ConstantPropagation(HCodeFactory) -
Constructor for class harpoon.Analysis.Tree.ConstantPropagation
- Creates a
ConstantPropagation
.
- ConstantString - class harpoon.IR.RawClass.ConstantString.
- The
CONSTANT_String_info
structure is used to
represent constant objects of the type
java.lang.String
. - ConstantString(ClassFile, int) -
Constructor for class harpoon.IR.RawClass.ConstantString
- Constructor.
- ConstantUtf8 - class harpoon.IR.RawClass.ConstantUtf8.
- The
CONSTANT_Utf8_info
structure is used to represent
constant string values. - ConstantUtf8(ClassFile, String) -
Constructor for class harpoon.IR.RawClass.ConstantUtf8
- Constructor.
- ConstantValue - class harpoon.IR.RawClass.ConstantValue.
- The
ConstantValue
interface provides a standard
way for constants to return a wrapped version of their values. - constantvalue_index -
Variable in class harpoon.IR.RawClass.AttributeConstantValue
- The value of the
constantvalue_index
must be a
valid index into the constant_pool
table.
- constantvalue_index() -
Method in class harpoon.IR.RawClass.AttributeConstantValue
-
- ConstantValue(ClassFile) -
Constructor for class harpoon.IR.RawClass.ConstantValue
-
- constantValue(HMethod, HField) -
Method in class harpoon.Analysis.SizeOpt.ConstructorClassifier
- Returns the constant value which field
hf
is
set to whenever the given constructor is executed.
- ConstMap - interface harpoon.Analysis.Maps.ConstMap.
ConstMap
is a mapping from temporaries to their constant
values.- constMap(HCodeElement, Temp) -
Method in class harpoon.Analysis.Maps.DefaultMap
-
- constMap(HCodeElement, Temp) -
Method in class harpoon.Analysis.Maps.ConstMapProxy
-
- constMap(HCodeElement, Temp) -
Method in interface harpoon.Analysis.Maps.ConstMap
- Determine the constant value of a given temporary in the
context of a specific definition.
- constMap(HCodeElement, Temp) -
Method in class harpoon.Analysis.Quads.SimpleConstMap
-
- constMap(HCodeElement, Temp) -
Method in class harpoon.Analysis.Quads.SCC.SCCAnalysis
- Determine the constant value of
Temp
t
.
- constMap(HCodeElement, Temp) -
Method in class harpoon.Analysis.SizeOpt.BitWidthAnalysis
- Determine the constant value of
Temp
t
.
- constMap(HField) -
Method in class harpoon.Analysis.SizeOpt.BitWidthAnalysis
- Determine the constant value of
HField
hf
.
- ConstMapProxy - class harpoon.Analysis.Maps.ConstMapProxy.
- A
ConstMapProxy
implements a ConstMap
for
a cloned HCode
given the HCodeAndMaps
which
specifies its relationship to an HCode
for which a
ConstMap
is known. - ConstMapProxy(HCodeAndMaps, ConstMap) -
Constructor for class harpoon.Analysis.Maps.ConstMapProxy
- Creates a
ConstMapProxy
.
- ConstructorClassifier - class harpoon.Analysis.SizeOpt.ConstructorClassifier.
- The
ConstructorClassifier
class takes a look at
constructor invocations and determines whether we can do one
of several 'mostly-zero field' transformations. - ConstructorClassifier(HCodeFactory, ClassHierarchy) -
Constructor for class harpoon.Analysis.SizeOpt.ConstructorClassifier
- Creates a
ConstructorClassifier
.
- contains(HandlerSet, HANDLER) -
Static method in class harpoon.IR.Quads.HandlerSet
- Determines if a given
HandlerSet
contains a given
HANDLER
.
- contains(HMethod) -
Method in class harpoon.Analysis.PointerAnalysis.MethodHole
- Check whether
hm
is the method called at the
unanalyzed call site.
- contains(int) -
Method in class harpoon.Tools.PatMat.Spec.TypeSet
- Checks if
this
contains type
.
- contains(int, int) -
Static method in class harpoon.Analysis.Tree.Simplification
- Convenience function to test whether any of the bits in
mask
are set in val
.
- contains(Object) -
Method in class harpoon.Analysis.PointerAnalysis.PAWorkStack
-
- contains(Object) -
Method in class harpoon.Analysis.PointerAnalysis.PAWorkSet
-
- contains(Object) -
Method in class harpoon.Analysis.PointerAnalysis.PAWorkList
-
- contains(Object) -
Method in interface harpoon.Util.Worklist
- Determines if the Worklist contains an item.
- contains(Object) -
Method in class harpoon.Util.BinHeapPriorityQueue
- This is slow.
- contains(Object) -
Method in class harpoon.Util.Collections.WorkSet
- Determines if this contains an item.
- contains(Object) -
Method in class harpoon.Util.Collections.UniqueVector
- Tests if the specified object is a component in this vector.
- contains(Object) -
Method in class harpoon.Util.Collections.PersistentSet
- Determines if the given element belongs to this set.
- contains(Object) -
Method in class harpoon.Util.Collections.DisjointSet
- Determines if there is a set of more than one element containing
o
.
- contains(Object) -
Method in class harpoon.Util.Collections.CollectionWrapper
-
- contains(Object) -
Method in class harpoon.Util.Collections.BinaryTree
- Returns true if
k
is present in this
.
- contains(Object) -
Method in class harpoon.Util.Graphs.SCComponent
- Checks whether
node
belongs to this
\
strongly connected component.
- contains(Object, Object) -
Method in interface harpoon.Util.BinaryRelation
- Checks if this relation holds for a given pair.
- contains(Object, Object) -
Method in interface harpoon.Util.Collections.MultiMap
- Returns true if
a
has a mapping to b
in this
.
- contains(Object, Object) -
Method in class harpoon.Util.Collections.GenericMultiMap
- Returns true if
a
has a mapping to b
in this
.
- contains(Object, Object) -
Method in class harpoon.Util.Collections.GenericInvertibleMultiMap
-
- contains(Object, Object) -
Method in class harpoon.Util.DataStructs.RelationImpl
-
- contains(Object, Object) -
Method in interface harpoon.Util.DataStructs.Relation
- Checks the existence of the relation
<key,value>
.
- contains(Object, Object) -
Method in class harpoon.Util.DataStructs.AbstrRelation
-
- contains(PANode) -
Method in class harpoon.Analysis.PointerAnalysis.MethodHole
- Check whether
node
is a parameter node for the
unanalyzed method.
- contains(WGNode) -
Method in class harpoon.Analysis.Partition.WeightedGraph
-
- containsAll(Collection) -
Method in class harpoon.Util.Collections.CollectionWrapper
-
- containsEseq(Tree) -
Static method in class harpoon.Analysis.Tree.Canonicalize
- Testing function, for use in assertions that a given tree is
canonical.
- containsKey(Object) -
Method in class harpoon.Util.Collections.PersistentMap
- Determines if there is a mapping for the given
key
.
- containsKey(Object) -
Method in class harpoon.Util.Collections.PersistentEnvironment
- Returns
true
if this map contains a mapping for the
specified key.
- containsKey(Object) -
Method in class harpoon.Util.Collections.MapWrapper
-
- containsKey(Object) -
Method in class harpoon.Util.Collections.HashEnvironment
- Returns
true
if this map contains a mapping for the
specified key.
- containsKey(Object) -
Method in class harpoon.Util.Collections.GenericMultiMap
-
- containsKey(Object) -
Method in class harpoon.Util.Collections.GenericInvertibleMultiMap
-
- containsKey(Object) -
Method in class harpoon.Util.DataStructs.RelationImpl
-
- containsKey(Object) -
Method in interface harpoon.Util.DataStructs.Relation
- Checks the existence of the
key
key in this relation.
- containsKey(Object) -
Method in class harpoon.Util.DataStructs.LightMap
- Returns
true
if this map contains a mapping
for the specified key.
- containsKey(Object) -
Method in class harpoon.Util.DataStructs.AbstrRelation
-
- containsnode(Set) -
Method in class harpoon.Analysis.PointerAnalysis.MethodHole
- Check whether at least one of the
nodes
is a
parameter node for the unanalyzed method.
- containsSigned(int) -
Method in class harpoon.Tools.PatMat.Spec.TypeSet
- Returns true if
this
contains the specified
signed precise type.
- containsSmall() -
Method in class harpoon.Tools.PatMat.Spec.TypeSet
- Returns true if
this
contains any small types.
- containsUnsigned(int) -
Method in class harpoon.Tools.PatMat.Spec.TypeSet
- Returns true if
this
contains the specified
unsigned precise type.
- containsValue(Object) -
Method in class harpoon.Util.Collections.MapWrapper
-
- containsValue(Object) -
Method in class harpoon.Util.Collections.GenericMultiMap
-
- containsValue(Object) -
Method in class harpoon.Util.Collections.GenericInvertibleMultiMap
-
- containsValue(Object) -
Method in class harpoon.Util.DataStructs.LightMap
- Unsupported yet.
- ContBuilder - class harpoon.Analysis.ContBuilder.ContBuilder.
ContBuilder
builds continuations for a given CALL
using the CALL
's HCode
, storing the
Code
for the continuation in the
CachingCodeFactory
.- ContBuilder(CachingCodeFactory, HCode, CALL, HClass, Temp[]) -
Constructor for class harpoon.Analysis.ContBuilder.ContBuilder
- Creates a
ContBuilder
for the designated
CALL
, given the HCode
from which it came.
- ContCode - class harpoon.Analysis.EventDriven.ContCode.
ContCode
builds the code for a Continuation
using quad-no-ssa
HCode
.- ContCode(HMethod) -
Constructor for class harpoon.Analysis.EventDriven.ContCode
- Creates a
ContCode
for an HMethod
using
the HCode
from which we want to build the continuation
and the CALL
at which we want the continuation built.
- ContCodeNoSSA - class harpoon.Analysis.EventDriven.ContCodeNoSSA.
ContCodeNoSSA
builds the code for a Continuation
using quad-no-ssa
HCode
.- ContCodeNoSSA(HMethod) -
Constructor for class harpoon.Analysis.EventDriven.ContCodeNoSSA
- Creates a
ContCodeNoSSA
for an HMethod
using
the HCode
from which we want to build the continuation
and the CALL
at which we want the continuation built.
- ContCodeNoSSA(QuadSSI) -
Constructor for class harpoon.Analysis.EventDriven.ContCodeNoSSA
-
- ContCodeSSI - class harpoon.Analysis.EventDriven.ContCodeSSI.
ContCodeSSI
builds the code for a Continuation
using quad-no-ssa
HCode
.- ContCodeSSI(HMethod) -
Constructor for class harpoon.Analysis.EventDriven.ContCodeSSI
- Creates a
ContCodeSSI
for an HMethod
using
the HCode
from which we want to build the continuation
and the CALL
at which we want the continuation built.
- ContCodeSSI(QuadNoSSA) -
Constructor for class harpoon.Analysis.EventDriven.ContCodeSSI
-
- Context - class harpoon.Analysis.Context.
- A
Context
object is an opaque representation of a
method's calling context, intended to make it easier to
generalize across context-sensitive and context-insensitive
analyses. - CONTEXT_INSENSITIVE -
Static variable in class harpoon.Analysis.Context
-
- CONTEXT_SENSITIVE_1 -
Static variable in class harpoon.Analysis.Context
-
- CONTEXT_SENSITIVE_2 -
Static variable in class harpoon.Analysis.Context
-
- Context() -
Constructor for class harpoon.Analysis.Context
-
- CONTINUE -
Static variable in class harpoon.Tools.Annotation.Sym
-
- convert(HMethod) -
Method in class harpoon.Analysis.UseDefChecker
-
- convert(HMethod) -
Method in class harpoon.Analysis.EventDriven.LockRemove
-
- convert(HMethod) -
Method in interface harpoon.Analysis.Instr.RegAlloc.IntermediateCodeFactory
- The
HCode
s returned by this method are
guaranteed to implement the IntermediateCode
interface.
- convert(HMethod) -
Method in class harpoon.Analysis.Quads.QuadCounter
- Converts
HMethod
m
into an
HCode
and counts the number of Quad
s
returned.
- convert(HMethod) -
Method in class harpoon.Analysis.Quads.MethodInliningCodeFactory
- Make an
HCode
from an HMethod
.
- convert(HMethod) -
Method in class harpoon.Analysis.Realtime.PrintFactory
-
- convert(HMethod) -
Method in class harpoon.Analysis.Transactions.CloneImplementer
-
- convert(HMethod) -
Method in class harpoon.Analysis.Transactions.ArrayCopyImplementer
-
- convert(HMethod) -
Method in interface harpoon.ClassFile.HCodeFactory
- Make an
HCode
from an HMethod
.
- convert(HMethod) -
Method in class harpoon.ClassFile.CachingCodeFactory
- Convert a method to an
HCode
, caching the result.
- convert(MetaCallGraph) -
Method in class harpoon.Analysis.EventDriven.EventDriven
- Returns the converted main
- convert2bb(HMethod) -
Method in class harpoon.Util.BasicBlocks.CachingBBConverter
- Converts the code of the method
hm
to
BasicBlock.Factory
, a basic block view of
hm
's code.
- convert2bb(HMethod) -
Method in class harpoon.Util.BasicBlocks.BBConverter
- Converts the code of the method
hm
to basic
blocks.
- convert2lbb(HMethod) -
Method in class harpoon.Util.LightBasicBlocks.LBBConverter
- Returns a
LightBasicBlock.Factory
for the body of
a method.
- convert2lbb(HMethod) -
Method in class harpoon.Util.LightBasicBlocks.CachingLBBConverter
- Returns a
LighBasicBlock.Factory
for the body of
a method.
- copied -
Variable in class harpoon.Analysis.LowQuad.Loop.Induction
-
- copy() -
Method in class harpoon.Analysis.DataFlow.ReversePostOrderIterator
-
- copy() -
Method in class harpoon.Analysis.DataFlow.ReversePostOrderEnumerator
-
- copy(ArrayFactory, Object[]) -
Static method in class harpoon.Util.Util
- Deprecated. The
clone()
method on arrays works
much better, and should be used instead of this method.
- copyBits(BitString) -
Method in class harpoon.Util.BitString
- Copies the values of the bits in the specified set into this set.
- copyEdges(PANode, PAEdgeSet) -
Method in interface harpoon.Analysis.PointerAnalysis.PAEdgeSet
-
- copyEdges(PANode, PAEdgeSet) -
Method in class harpoon.Analysis.PointerAnalysis.LightPAEdgeSet
-
- copyInto(Object[]) -
Method in class harpoon.Util.Collections.UniqueVector
- Copies the components of this vector into the specified array.
- count_creation_sites(MetaMethod) -
Method in class harpoon.Analysis.PointerAnalysis.ODPointerAnalysis
-
- count() -
Method in class harpoon.Analysis.Quads.QuadCounter
- Returns the current count of the number of
Quad
s
converted.
- counter -
Static variable in class harpoon.Analysis.EnvBuilder.EnvBuilder
-
- counter -
Static variable in class harpoon.Analysis.GraphColoring.DefaultSparseNode
-
- CounterFactory - class harpoon.Analysis.Counters.CounterFactory.
CounterFactory
is a state-less instrumentation package,
with the goal of making it as easy as possible to add counters
and timers to executable code.- Counters - class harpoon.Runtime.Counters.
Counters
uses reflection to provide a very light-weight
counter package -- light-weight in terms of FLEX code required to
add/enable counters, not necessarily light-weight in terms of
execution time.- CounterSupport - class harpoon.Runtime.CounterSupport.
CounterSupport
provides support for simple instrumentation.- CounterSupport() -
Constructor for class harpoon.Runtime.CounterSupport
-
- create_inside_nodes(MetaMethod) -
Method in class harpoon.Analysis.PointerAnalysis.ODPointerAnalysis
-
- createMutableClass(String, HClass) -
Method in class harpoon.ClassFile.Relinker
- Creates a mutable class with the given name which is based on
the given template class.
- createMutableClass(String, HClass) -
Method in class harpoon.ClassFile.Linker
- Creates a new mutable class with the given name which is
based on the given template class.
- CREATOR -
Static variable in class harpoon.Analysis.PreciseGC.RCTransformer
- The
CREATOR
token represents the transformed
version of the method.
- csSpecialize(CALL) -
Method in class harpoon.Analysis.PointerAnalysis.PANode
- Returns the specialized node of
this
node for
call_site
.
- csSpecialize(Map, CALL) -
Method in class harpoon.Analysis.PointerAnalysis.PASync
- Specializes this action for a specific call site.
- csSpecialize(Map, CALL) -
Method in class harpoon.Analysis.PointerAnalysis.ActionRepository
-
- current_analysis_depth -
Static variable in class harpoon.Analysis.PointerAnalysis.ODPointerAnalysis
-
- CycleEq - class harpoon.Analysis.CycleEq.
CycleEq
computes cycle equivalence classes for edges in
a control flow graph, in O(E) time.- CycleEq(HCode) -
Constructor for class harpoon.Analysis.CycleEq
-
IR.Tree.CONST
or IR.Tree.NAME
specifying the value with which to initialize this location.
Data
is an abstract superclass with handy useful methods
for the harpoon.IR.Tree.Data
subclasses in
Runtime1
.Data
is an abstract implementation of HData
for IR.Tree
form.Data
.
DataClaz
lays out the claz tables, including the
interface and class method dispatch tables.ClassData
.
DataConfigChecker
outputs some (never used) references
which will be unresolved (resulting in linker errors at build-time)
unless the runtime configuration matches the flex configuration.DataConfigChecker
.
DataFlowBasicBlockVisitor
is a specialized
BasicBlockVisitor
for performing data flow analysis on
a set of BasicBlock
.DataGC
outputs the tables needed by the garbage collector.DataGC
.
DataInitializers
outputs a table listing the
static initializers needed for the program, in the proper
dependency order.DataInitializers
.
DataInterfaceList
lays out the expanded list of interfaces.DataInterfaceList
.
DataJavaMain
outputs a labeled string pointer ("FNI_javamain")
which tells the runtime with which method to begin execution of
this java program.DataInitializers
.
DataReflection1
creates tables which the JNI interface
will use.DataReflection1
.
DataReflection2
generates class information tables
for each class, with lots of juicy information needed by JNI and
java language reflection.DataReflection2
.
DataReflectionMemberList
creates tables which the JNI interface
will use.DataReflectionMemberList
.
DataStaticFields
lays out the static fields of a class.DataStaticFields
.
DataStrings
lays out string constant objects.DataStrings
containing tables corresponding
to the given set of strings.
DATUM
objects are statements which write a value to memory
at the time when a program is loaded.DeadCode
removes dead code
(unused definitions/useless jmps/one-argument phi functions/all moves) from
a method.DeadCodeElimination
removes unused MOVEs, useless
EXPRs, and whatever other cruft it can detect using a liveness
analysis.Debug
DEBUG
prints a debugging string to standard error.DEBUG
object.
n
Temp
s defined by this Instr
.
Temp
s defined by this
HCodeElement
.
Temp
defined by this Quad
.
Temp
s defined by this Quad
.
Temp
s defined by this Quad
.
Temp
s defined by this quad.
Temp
s defined by this quad.
Temp
defined by this Quad.
Temp
defined by this quad.
Temp
s defined by
hce
.
Default
contains one-off or 'standard, no-frills'
implementations of simple Iterator
s,
Enumeration
s, and Comparator
s.UseDefer
for HCodeElement
s
which implement UseDefable
.
CFGrapher
for HCodeElement
s
which implement CFGraphable
.
DefaultAllocationInformation
returns a simple
no-analysis AllocationInformation
structure which
works for allocation sites in quad form.DefaultClassDepthMap
computes class depth simply and
efficiently.DefaultClassDepthMap
using the given
ClassHierarchy
to compute the maximum class depth.
DefaultFinalMap
is a stupid implementation of
FinalMap
that just looks for the final
access modifier.DefaultFinalMap
.
DefaultInlineMap
returns the conservate answer that we
can't inline anything.DefaultInlineMap
.
DefaultMap
returns conservative values for
const and exec information: namely that no temp corresponds
to a constant and that every node and edge is potentially
executable.DefaultNameMap
implements a
JNI-compliant method name mangling, and class and field name mangling
"in the spirit of" the JNI.DefaultNameMap
.
DefaultSparseNode
DefaultSparseNode
.
Collection
of all the
Temp
s defined in this HCodeElement
.
Collection
of all the
Temp
s that are defined by hce
.
Temp
s defined by hce
.
DefiniteInitOracle
tells you whether a given
field is "definitely initialized" before control flow leaves
every constructor of its declaring class.DefiniteInitOracle
which will use
the given code factory and hierarchy approximation.
HCodeElement
s that define
Temp t
.
HCodeElement
s that define
Temp t
.
Object
in
this
with the highest priority.
z
out from this.
DemandDrivenRegAlloc
performs
Demand-Driven Register Allocation for a set of
Instr
s in a Code
.DemandDrivenRegAlloc
.
sync
took place in the current method.
depth
.
Derivation
for the new quads, or null
if no Derivation
for the old quads was supplied.
Derivation
for the new quads, or null
if no Derivation
for the old quads was supplied.
Derivation
provides a means to access the derivation
of a particular derived pointer.exp
.
DerivationChecker
checks that all temps
defined in a LowQuad.Code
have proper
derivations.DerivationChecker
checks that all subtrees in
a Tree.Code
have proper derivations.DerivationGenerator
helps maintain the accuracy of
the Derivation
while the register allocator creates
spills.DerivationGenerator
takes a partial map of
Tree.Exp
s-to-type/derivations and answers
type/derivation queries as if the complete map were
present.DerivationGenerator
.
DerivationGenerator
.
DerivationMap
is a simple map-based implementation of
common Derivation
functionality.DerivationMap
.
descriptor_index
item must be a
valid index into the constant_pool
table.
descriptor_index
item must be a
valid index into the constant_pool
table.
descriptor_index
item must be a
valid index into the constant_pool
table.
descriptor_index
must be a valid
index into the constant_pool
table.
this
(speed-cost, size-cost, predicates, etc.).
this
node for debug
purposes.
HCodeElement
s in the (post)dominance
frontier of n
.
Set
of HCodeElement
s
in the (post)dominance frontier of n
.
Temp
s holding the length of
each array dimension.
dims
array.
dims
array.
hm
method.
hm
method.
DirectedGraph
is an extension of the
Graph
interface that tracks the direction of the edges
that have been added to the graph.DisjointSet
is an implementation of disjoint-set forests
using the path compression and union-by-rank heuristics to achieve
O(m * alpha(m, n)) runtime, where 'm' is the total number of
operations, 'n' is the total number of elements in the set, and
'alpha' denotes the *extremely* slowly-growing inverse Ackermann
function.DisjointSet
.
DispatchTreeTransformation
replaces dynamic dispatch
call sites with TYPESWITCHes leading to static dispatch calls.DispatchTreeTransformation
.
Temp
s
to Induction
objects containing information
on their derivation.
HashMap
mapping Temp
s to
Induction
classes describing the induction variable.
DomFrontier
computes the dominance frontier of a
flowgraph-structured IR.DomFrontier
using a pre-existing
DomTree
.
DomFrontier
for the given
HCode
using the default grapher; if
isPost
is false
creates the
dominance frontier; otherwise creates the postdominance
frontier.
DomFrontier
for the given
HCode
using the given CFGrapher
; if
isPost
is false
creates the
dominance frontier; otherwise creates the postdominance
frontier.
DominatingMemoryAccess
is an analysis that uses
information about memory operations to determine which of them need
to do cache tag checks, and which don't.DomTree
computes the dominator tree of a flowgraph-structured
IR.DomTree
with the dominator
tree for the given HCode
; if isPost
is
true, creates a postdominator tree instead.
DomTree
with the dominator
tree for the given HCode
; if isPost
is
true, creates a postdominator tree instead.
HClass
object representing the primitive type double.
Temp[]
s.
Temp
in which to store the computed
POINTER
value.
Temp
in which to store the fetched field or array
element.
Temp
in which to store the offset or constant.
Temp
in which to store the result of the operation.
Temp
in which to store the new object.
Temp
.
Temp
in which to store the result of the test.
Temp
in which to store the fetched field contents.
Temp
.
Temp
in which to store the result of the test.
Temp
in which to store the new array reference.
Temp
in which to store the array length.
Temp
in which to store the fetched element.
Temp
in which to store the computed
POINTER
value.
Temp
in which to store the fetched field or
array element.
Temp
in which to store the offset or
constant.
Temp
in which to store the result of the
operation.
Temp
in which to store the new object.
Temp
.
Temp
in which to store the result of the
instanceof
test.
Temp
in which to store the fetched field.
Temp
which will contain the specified
constant value.
Temp
in which to store the result of the
type check test.
Temp
.
Temp
.
Temp
.
nSigma
'th sigma function in the block.
nPhi
'th phi
function assignment in the block.
nTuple
'th element of the tuple returned
by the nSigma
'th sigma function in the block.
this
.
DuplicateClassException
is thrown to indicate an
attempt to create a class whose name conflicts with another
class already known to the linker.DuplicateClassException
with the
supplied detail message.
MethodHole
history relation from an
old one and a MethodHole
conversion map.
MethodHole
conversion map.
DuplicateMemberException
is thrown to indicate an
attempt to add a member to a class already containing a member
of the same name.DuplicateMemberException
with the
supplied detail message.
MethodHole
which is a copy of the old one, while building an identity
mapping other these MethodHole
s.
MethodHole
from an old one
and a PANode
conversion table.
Edge
objects connect Quad
nodes in the
control-flow graph.this
.
Collection
of all the edges to and from
this HCodeElement
.
Collection
of all the edges to and from
this HCodeElement
.
EdgeNotPresentException
EdgeNotPresentException
.
EdgeNotPresentException
.
EdgeOrdering
models the ordering relation between the
inside and the outside edges belonging to the same analysis scope.eo
could have been read after the inside edge ei
was created.
This information is used in the inter-thread analysis, when outside edges
are matched not only against inside edges from the opposite scope but even
against inside edges from their own scope.EdgeOrdering
object.
this
.
CFGraphable
.
HCodeElement
.
node
to nodes in the graph.
node
to nodes in the graph.
EdgesIterator
is a generic iterator for a set of
CFGraphable
objects.EdgesIterator
for all the edges
reachable by recursively traversing the successors of
e
.
EdgesNCallees
models a precedence relation between
(inside or outside) edges and call sites skipped by an on demand
analysis.EdgesNCallees
coding a strict precedence
relation.
EdgesNCallees
coding a strict precedence
relation iff the argument is true.
EDMain
is a program to compile java classes to some
approximation of StrongARM assembly.EDXMain
is a program to compile java classes to some
approximation of StrongARM assembly.ArrayFactory
for the HCodeElement
s
composing this HCode
.
Indexer
for the HCodeElement
s
composing this HCode
.
HCodeElement
s
to newly-cloned HCodeElement
s.
List
of edges in DFS order.
i
as the next instruction in the
instruction stream.
start_pc
and
end_pc
indicate the ranges in the code
array at which the exception handler is active.
Map.Entry
s
in this Heap
.
Set
views of Map
s and MultiMap
s.
Map.Entry
s.
Set
returned by this method is really a
MapSet
.
Set
returned by this method is actually an
instance of MultiMapSet
.
EnumerationIterator
converts an Enumeration
into an Iterator
.EnumerationIterator
.
EnvBuilder
EnvBuilder
.
EnvCode
EnvCode
.
Environment
is a Map
with scoping:
you can save marks into the environment and undo all changes
since a mark.EqTempSets
tracks a set of disjoint set of temps, and
potentially associates each set with a favored register temp (which
itself is not part of the set)
HandlerSet
s are equal.
this
object with object
o
.
this
object with object
o
.
PointsToGraph
s.
ParIntGraph
s.
PAThreadMap
s
PAEscapeFunc
objects.
ODParIntGraph
s.
NodeOrdering
objects.
ActionRepository
s.
WrappedMachineRegLoc
objects
for equality.
WrappedStackOffsetLoc
objects
for equality.
HMethod
against the specified object.
HField
against the specified object.
HandlerSet
.
obj
is a StringPointer
that points to the same location as this StringPointer
.
obj
is an
InterfaceListPointer
which points to the same location
as this InterfaceListPointer
.
this
Comparator.
Tuple
s.
ExactTemp
s.
node
is an escaped node.
node
escapes at most in the caller.
ESEQ
objects are expressions which chain a statement and
an expression together.OPER
.
OPER
.
OPER
,
given constant values for the operands.
OPER
,
given constant values for the operands.
OPER
,
given constant values for the operands.
OPER
,
given constant values for the operands.
BINOP
,
given constant values for the operands.
EventDriven
EventDriven
EventDriven
.
EventDrivenCode
EventDrivenCode
.
ExactTemp
is simply a pair of a Quad
and a Temp
.ExactTemp
.
ExactTypeMap
is an extension of TypeMap
that
allows the indication of 'exact' types -- that is, temporaries that
can be guaranteed to contain an object of the indicated type
and not a subtype of that type.ExactTypeMap
will probably find this
pair type useful.ExactTypeMapProxy
implements an ExactTypeMap
for a cloned HCode
given the HCodeAndMaps
which
specifies its relationship to an HCode
for which an
ExactTypeMap
is known.ExactTypeMapProxy
.
exception_index_table
must be a valid index into the constant_pool
table.
exception_table
array describes
one exception handler in the code
array.
ExceptionTable
object describes one exception
handler in the code
array of an
AttributeCode
.Temp
holding the caught exception on invocation of
this HANDLER
.
Temp
which will hold the exception on
the invocation of this HANDLER
.
ExecMap
is a mapping from HCodeElement
s to
their executable status.HCodeEdge
.
Edge
e
is executable.
Edge
e
is executable.
HCodeElement
.
Quad
q
is executable.
Quad
q
is executable.
ExecMapProxy
implements an ExecMap
for
a cloned HCode
given the HCodeAndMaps
which
specifies its relationship to an HCode
for which a
ExecMap
is known.ExecMapProxy
.
this
matches.
this
.
Exp
objects are expressions which stand for the computation
of some value (possibly with side effects).t
expand(Temp) -
Method in class harpoon.Backend.Generic.RegFileInfo
t
.
ExpList
s form singly-linked lists of Exp
s.EXPR
objects evaluate an expression (for side-effects) and then
throw away the result.Factories
consists exclusively of static methods that
operate on or return CollectionFactory
s.FakeMetaCallGraph
converts a classic CallGraph
to
a MetaCallGraph
.FakeMetaCallGraph
.
FCFGBasicBlock
is a basic block structure for the Factored
Control Flow Graph (FCFG) representation.FCFGBasicBlock
views of an HCode
.FCFGBasicBlock
view of
hcode
hcode
must be in
"quad-with-try" format.
FCFGBasicBlock
.
FibonacciHeap
allows amortized O(1) time bounds for
create, insert, minimum, union, and decrease-key operations, and
amortized O(lg n) run times for extract-min and delete.FibonacciHeap
, sorted according
to its keys' natural order.
Map.Entry
s and a key comparator.
FibonacciHeap
, sorted according
to the given Comparator
.
Heap
.
HField
to address.
HField
to address.
POINTER
constant is computed.
Field2Method
code factory converts all GET
and SET
operations on a given set of fields into calls
to accessor getter/setter methods.Field2Method
code factory which converts
all GET
and SET
operations on the
fields in the fields2convert
Set
into
calls to accessor getter/setter methods.
Translation.Exp
representing the
field base of the object referenced by the given
objectref
expression.
Translation.Exp
which represents a
reference to a java.lang.reflect.Field
constant.
field_info
structure.FieldMap
assigns an ordering to a set of fields.Translation.Exp
representing an
offset from the field base required to access the given
field
.
FieldReducer
code factory uses the results of a
BitWidthAnalysis
to shrink field types and eliminate
unused and constant fields from objects.FieldReducer
.
fields
table must be a
variable-length field_info
structure giving a
complete description of a field in the class or interface type.
Set
of HField
s read,
either directly or indirectly, by HMethod
hm.
Set
of HField
s written,
either directly or indirectly, by HMethod
hm.
FieldSyncOracle
tells which fields a given method could
possibly access (either directly, or via a method call), and whether
the given method will ever acquire/release a lock (either directly, or
via a method call).FieldSyncOracle
.
FieldType
FieldType
.
FilterEnumerator
.
FilterIterator
filters and maps a source
Iterator
to generate a new one.FilterIterator
.
FinalMap
determines whether a class or method is
final
.o
.
Map.Entry
in the heap with key equal to
the specified key.
graph
.
Set
of all of the HCodeElement
s
in blocks
which have non-empty def sets.
Set
of all of the referenced
variables in blocks
.
Set
of all of the Temp
s
in blocks
.
where
in the
bit string which is set, or -1 if there is no such index.
HClass
object representing the primitive type float.
PointsToGraph
.
FOOTER
nodes are used to anchor the bottom end of the quad
graph.FOOTER
corresponding to this
HEADER
.
FOOTER
.
this
edge ordering relation.
<key,value>
of
this
relation and calls visitor.visit
on each of them.
this
graph.
this
graph.
HClass
object associated with the
ComponentType descriptor given.
forDescriptor0
method in order to implement
a linking strategy.
forloop
takes in an HCode
and
Loops
to analyze.
exec
with orig
in the comments for exec
.
HClass
object associated with the class with
the given string name.
Qop
that corresponds to a given
descriptive string.
Generic.Frame
for this
.
Frame
encapsulates the machine-dependent information
needed for compilation.Frame
contains the machine-dependant
information necessary to compile for the MIPS processor.Frame
contains the machine/runtime information necessary
to compile for the preciseC backend.Sparc.Frame
contains architecture specific info
for the Sparc Backend.Frame
contains the machine-dependant
information necessary to compile for the StrongARM processor.Frame
.
HCodeEdge
.
CFGEdge
.
CFGEdge
.
GCInfo
object collects data needed for
garbage collection and makes necessary annotations to
the instruction stream.CommonLoc
s.GCPoint
contains information about all
the live objects that the garbage collector needs to
add to the root set at a particular GC point.GCPoint
object
WrappedMachineRegLoc
is a wrapper object for
MachineRegLoc
s that implement special
equals
and hashCode
methods.WrappedMachineRegLoc
object
WrappedStackOffsetLoc
is a wrapper object for
StackOffsetLoc
s that implement special
equals
and hashCode
methods.WrappedStackOffsetLoc
object
List
of the
GCPoint
s in a given HMethod
.
List
of the
GCPoint
s in a given HMethod
.
GCTraceStore
traces stores for the purposes of garbage collection.Instr
list from the
IR.Tree.Code
tree
.
Instr
list from the
IR.Tree.Data
tree
.
this
.
GenericContextFactory
can create Context
objects for any desired level of context-sensitivity.GenericContextFactory
.
GenericInvertibleMap
is a default implementation of
InvertibleMap
.mf
and an inverted map constructed by
mmf
.
GenericInvertibleMultiMap
is a default implementation of
InvertibleMultiMap
.GenericMultiMap
is a default implementation of a
MultiMap
.MultiMap
using a HashMap
for
the map and HashSet
s for the value collections.
MultiMap
using a HashMap
for
the map and the specified CollectionFactory
to
create the value collections.
MultiMap
initialized with all of the
Map.Entry
s in m
.
MultiMap
using the specified
MapFactory
to create the map and the specified
CollectionFactory
to create the value collections.
GenType
models a type.hclass
as superclass.
GenType
.
GET
represent field access (get) operations.hf
(more information about the object in question is
provided by addlinfo
); if this
RootOracle
doesn't wish to override this
field, it should return the constant NOT_A_VALUE
.
key
maps to.
GET
representing a field access.
hm
(or one
of the transitively called methods), along some path that ends
in the exceptional exit of hm
.
LightBasicBlock
s of the underlying
HCode
.
this
one function of some call sites.
this
node.
Set
of
HClass
es.
AllocationInformation
for this codeview.
mmethod
.
Temp
s which represent all
the available registers on the machine.
Temp
s which represent all
the available registers on the machine.
this
node.
hm
(or one
of the transitively called methods), along some path that ends
in the normal exit of hm
.
i
.
this
node.
UndefinedRef
object representing the
base of this UndefinedPointer
.
Label
representing the base of this
StringPointer
InterfaceList
representing the base of this
InterfaceListPointer
.
BBConverter
.
getBlock
.
BasicBlockInterf
containing
hce
.
getBlock
.
eo
is read.
FCFGBasicBlock
containing
hce
.
BasicBlock
containing
hce
.
LightBasicBlock
the instruction
hce
belongs to.
getID
.
this
PointerAnalysis
object.
this
node.
mm
.
mm
.
mm
at the call site q
.
mm
at the call site q
.
getCallers
returns a Set
that contains
all indirect and direct callers of callable methods that fulfill
the predicate in the select
method of ms
.
mm_callee
.
CALL
s quads in the code
of hm
.
CALL
s quads in the code
of hm
.
CALL
s quads in the code
of hm
.
mm
.
mm
.
null
.
IR.Assem
s,
given a code factory for CanonicalTreeCode
.
Generic.CodeGen
for the backend
associated with this
.
MIPS.CodeGen
.
StrongARM.CodeGen
.
HCodeFactory
.
HCode
that this factory produces.
HCode
that this factory produces.
HCode
s generated by this
CachingCodeFactory
.
hce
: a load node
(associated with a GET
quad), a return node (associated
with a CALL
) or an inside node (thread or not) associated
with a NEW
).
this
.
node
.
node
.
HClass
object representing the component type of the array; otherwise returns
null.
HField
, if
it is a constant field.
HConstructor
object that reflects the
specified declared constructor of the class or interface represented
by this HClass
object.
HConstructor
objects reflecting
all the constructors declared by the class represented by the
HClass
object.
InstrGroup
containing
this
, or null
if this is not
contained in any super group.
Data
for gathering statistics on write barriers.
HField
object that reflects the specified
declared field of the class or interface represented by this
HClass
object.
HField
objects reflecting all the
fields declared by the class or interface represented by this
HClass
object.
HMethod
object that reflects the specified
declared method of the class or interface represented by this
HClass
object.
HMethod
object that reflects the specified
declared method of the class or interface represented by this
HClass
object.
HMethod
objects reflecting all the
methods declared by the class or interface represented by this
HClass
object.
HClass
object representing the class or
interface that declares the method represented by this
HMethod
object.
HClass
object representing the class or
interface that declares the member or constructor represented by this
HMember
.
HClass
object representing the class or
interface that declares the field represented by this
HField
object.
node
.
node
.
Derivation
for analyses to use on the
register-allocated code.
Derivation
associated with
this
.
Derivation
object for this
LowQuad.Code
.
Derivation
for this codeview.
HField
object.
HClass
object.
Quad
s
making up this code view.
Tree
Objects
making up this code view.
this
basic block.
Iterator
over the instructions in this
codeview.
Quad
s making up
this code view.
Iterator
of the Tree
Objects
making up this code view.
Collection
(a List
) of
the component objects making up this data view.
Collection
(a List
) of
the component objects making up this code view.
Bytecode.Instr
s
making up this code view.
Instr
when the
instructions are being viewed as collected by
type
.
HClass
objects that represent the
types of the checked exceptions thrown by the underlying method
represented by this HMethod
object.
Instr
when the
instructions are being viewed as collected by
type
.
ESEQ
.
ParIntGraph
attached to
the method hm
i.e.
ODParIntGraph
attached to
the method hm
i.e.
InstrFactory
that generated this.
QuadFactory
that generated this
Quad
.
TreeFactory
that generated this
Tree
.
HField
object that reflects the specified
accessible member field of the class or interface represented by this
HClass
object.
HField
objects reflecting
all the accessible fields of the class or interface represented by this
HClass
object.
this
basic block.
this
basic block.
HCodeElement
s to be executed; that is,
the roots of the control-flow graph.
FOOTER
quad from hcode
.
Frame
which is associated with all
of the Instr
s generated by this factory.
Frame
to be used to resolve
machine-dependent issues for this TreeFactory
.
HClass
to which all
HDataElement
s generated by this factory belong.
GCInfo
for the backend
associated with this
.
Tree
interpreter support GCInfo
, so
getGCInfo
will always return null.
Temp
s for all the registers
that the register allocator can feel free to play with
Temp
s for all the registers
that the register allocator can feel free to play with
CFGrapher
not valid for non-canonical trees.
CFGrapher
that treats
InstrGroup
s of Type
t
as single atomic elements.
CFGrapher
that treats
InstrGroup
s of Type
t
as single atomic elements.
HClass
.
HClass
to which this HData
belongs.
HCode
that this
factory
produces FCFG basic blocks of.
HCode
that this
factory
produces basic blocks of.
HCode
that this
factory
produces basic blocks of.
HCode
.
Temp
representing the high order bits
of this
.
HMethod
that this
meta-method
is a specialization of.
this
SCComponent
.
Quad
.
Tree
.
o
in this
.
InstrBuilder
for this
Frame
.
InstrLABEL
associated with
l
in the InstrFactory
for
this
.
AGET
instructions from hcode
that access arrays of non primitive objects.
AGET
instructions from hcode
that access arrays of non primitive objects.
InterfaceList
ParIntGraph
attached to
the method hm
i.e.
ODParIntGraph
attached to
the method hm
i.e.
this
basic block.
this
basic block.
HCodeElement
s to be executed; that is,
the leaves of the control-flow graph.
LBBConverter
.
FCFGBasicBlock
s.
BasicBlock
s.
getLeaves
.
BasicBlockInterf
s.
getLeaves
.
source_file:line_number
.
Quad
is derived from.
Tree
is derived from.
Linker
object to use when compiling for this
Frame
.
HClass
object.
Linker
used to resolve class names
for all Quad
s.
Set
of Temp
s that are
live on exit from hce
.
Set
of Temp
s that are
live on on entry to hce
.
Set
of Temp
s
that are live-in at the HCodeElement
.
Set
of Temp
s
that are live-in at the HCodeElement
.
Temp
s.
Set
of variables that are
live on entry to b
.
Set
of variables that are
live on exit from b
.
Set
of Temp
s
that are live-out at the HCodeElement
.
Set
of Temp
s
that are live-out at the HCodeElement
.
Temp
s.
f
in the parameter list).
LocationFactory
for this
Frame
.
Temp
representing the low order bits
of this
.
this
PointerAnalysis
object.
this
PointerAnalysis
object.
HMethod
to which this HCode
belongs.
HMethod
which corresponds to
Instr
s generated by this factory.
HMethod
this codeview
belongs to.
HMethod
for which all Quad
s
correspond.
HMethod
this codeview
belongs to.
HMethod
this codeview
belongs to.
HMethod
to which all Exp
s and
Stm
s generated by this factory belong.
METHOD
quad from hcode
.
HMethod
object that reflects the specified
accessible method of the class or interface represented by this
HClass
object.
HMethod
object that reflects the specified
accessible method of the class or interface represented by this
HClass
object.
HMethod
object reflecting
all accessible member methods of the class or interface represented
by this HClass
object, including those declared by
the class or interface and those inherited from superclasses and
superinterfaces.
HMethod
object, as an integer.
HMember
, as an integer.
HField
object, as an integer.
HMethod
, or null
if the object is immutable.
HField
, or null
if the object is immutable.
HClass
, or null
if this object is immutable.
HMethod
object, as a String
.
HMember
.
HField
object.
HClass
object,
as a String
.
"bytecode"
.
NameMap
valid for this
Generic.Runtime
.
Instr
to output after
this
.
UndefinedPointer
.
StringPointer
.
ClazPointer
.
List
of
HMethod
s with the following properties:
- The declaring class of the HMethod
is
HClass
.
List
of HMethod
s
with the following properties:
- The declaring class of the HMethod
is
HClass
.
HClass
.
String
objects giving the declared
names of the formal parameters of the method.
HClass
objects that represent the
formal parameter types, in declaration order, of the method
represented by this HMethod
object.
count
th
formal parameter of mmethod
.
hm
.
hm
.
HCode
to which all Instr
s
generated by this factory belong.
HCode
to which all Quad
s
generated by this QuadFactory
belong.
HCode
to which all
HDataElement
s generated by this factory belong.
HCode
to which all Exp
s and
Stm
s generated by this factory belong.
q
in the body of meta-method
mm
.
q
in the body of meta-method
mm
.
q
in the body of meta-method
mm
.
q
in the body of meta-method
mm
.
GenType
s describing all
the possible types (ie HClass
es) this node can have.
<n2,n1>
such that there was an edge from n1
to n2
(through some field f
).
Instr
that is output prior to
this
.
Set
of HCodeElements
s
which represent a definition that reaches the point directly after
hce
.
Set
of HCodeElements
s
which represent a definition that reaches the point directly before
hce
.
t
.
Set
of register assignments
that can hold t
.
RegFileInfo
for this
Frame
.
getRegister(index)==getAllRegisters()[index]
val
will be stored into.
Temp
s that
val
maps to in i
.
t
.
InputStream
on a resource found somewhere
in the CLASSPATH.
HClass
object that represents the formal
return type of the method represented by this HMethod
object.
Typed
) of the
return type of the method.
FCFGBasicBlock
.
BasicBlock
.
this
node.
LightBasicBlock
.
getRoot
.
BasicBlockInterfs
.
getRoot
.
HCode
.
Generic.Runtime
for
this Frame
.
TempFactory
.
temp
on the stack.
Quad
is derived from.
Tree
is
derived from.
class_name
.
Object
, then the object that represents the superclass of
that class is returned.
this
can branch to.
Generic.TempBuilder
for the backend
associated with this
.
Temp
representing the "container"
class variable (a variable which will point to a static node)
for the static fields of the declaring class
CJUMP
.
mm
.
mm
.
mm_callee
.
TreeBuilder
object for this
Generic.Runtime
.
TreeDerivation
object for the
generated Tree
form.
TreeDerivation
object for the
generated Tree
form.
HClass
object that identifies the declared
type for the field represented by this HField
object.
HClass
type of this Operand
.
et.t
in the
quad et.q
.
i
-th parameter.
Instr
generated by this factory.
Quad
within
this QuadFactory
.
UseDefer
not valid for non-canonical trees.
UseDefer
that treats
InstrGroup
s of Type
t
as single atomic elements.
UseDefer
that treats
InstrGroup
s of Type
t
as single atomic elements.
Operand
.
StringPointer
.
InterfaceListPointer
and returns the
value it points to.
key
.
key
.
key
through this relation.
HClass
is a primitive type, return the
wrapper class for values of this type.
this
node.
Graph
is a pair (V, E), where V is a set
of nodes and E is collection of edges between those nodes.Graph
is a command-line graph generation tool.Graph
GraphColorer
is a class for describing a graph coloring
algorithm.GraphColorer
.
GraphColoringRegAlloc
uses graph coloring heuristics
to find a register assignment for a Code.GraphColoringRegAlloc
, assigning `gc'
as its graph coloring strategy and using a overly conservative
move coalescing strategy.
GraphColoringRegAlloc
, assigning `gc'
as its graph coloring strategy.
Grapher
is an abstract interface for specifying the
graph properties of data structures so that generic graph algorithms
may be applied.o
before src[n]
.
HANDLER
quad marks an entry to an exception handler.handler_pc
item indicates the
start of the exception handler.
Quad
s a particular
HANDLER
protects.HANDLER
.
Quad
.
HandlerSet
is a linked list of handlers, for purposes
of comparison.Instr
intermediate representation.IR.LowQuad
intermediate representation.IR.Quads
intermediate representation.IR.Tree
intermediate representation.Tree
codeviews.Runtime1
is the first implementation of a FLEX backend
runtime system.harpoon.Analysis.LowQuad.Transactions
package.HClass
has been
modified from its originally loaded state.
TYPESWITCH
has a default case.
true
if this TYPESWITCH
has a
default case.
node
has escaped in some hole, ie if
node
could be accessed by unanalyzed code.
node
escapes into a method hole or not.
node
escapes through a node or not.
this
object.
this
object.
this
object.
HMember
.
HandlerSet
.
TempFactory
.
BitString
.
HashEnvironment
is an Environment
using
a HashMap
as the backing store.HashEnvironment
.
HashEnvironment
with all the mappings in
the given map.
MapFactory
that generates HashMap
s.
SetFactory
that generates HashSet
s.
this.targets
is modifiable.
this
has multiple predecessors.
true
if the list iterator has more elements
in the forward direction.
true
if the iteration has more elements.
true
if the list iterator has more elements
in the reverse direction.
c
is a register (Helper
method).
HCode
for which this object contains analysis
results.
HCode
for which this object contains analysis
results.
sync
.
src
is tested for membership.
HClass
represent classes and
interfaces of a java program.TYPECAST
.
NEW
will create.
src
is tested for
membership.
ANEW
will create.
HClassMutator
allows you to change members and
properties of an HClass
.HClassUtil
contains various useful methods for dealing with
HClasses that do not seem to belong with the standard HClass methods.HCode
is an abstract class that all views of a particular
method's executable code should extend.HCode
s.HCode
.
HCodeAndMaps
is a strongly-typed tuple representing
all the derivation information for a cloned HCode
.HCodeEdge
connects two HCodeElement
s
in a graph structure.HCodeElement
is an interface that all views of a particular
method's executable instructions should implement.HCodeFactory
makes an HCode
from an
HMethod
.HConstructor
provides information about a single
constructor for a class.HData
is an interface that all views of a particular
class's static data should extend.HDataElement
is an interface that all views of
the data items in an HData
must implement.HEADER
nodes are used to anchor the top end of the
quad graph.HEADER
quad.
Heap
s support create, insert, minimum, extract-min,
union, decrease-key, and delete operations.HeapCheckAdder
adds checks to see if a NoHeapRealtimeThread is
touching the heap.HField
provides information about a single field of a class
or an interface.HFieldMutator
allows you to change properties of
an HField
.node
from graph.
node
from graph.
HInitializer
provides information about a class
initializer method.HMember
is an interface that reflects identifying information
about a single member (a field or a method) or a constructor.java.util.Comparator
for objects
implementing HMember
, for consistency among
implementations.HMethod
provides information about, and access to, a
single method on a class or interface.HMethodMutator
allows you to change properties of
an HMethod
.this
represents.
MetaMethod
s are equal or not.
ODParIntGraph
s are equal or not.
ParIntGraph
s are equal or not.
IdentifyNoHandler
IdentifyNoHandler
.
HCodeElement
.
test
is false
.
test
is true
.
IgnoreSpillUseDefer
defines a view of the code that
will skip over newly inserted spill instructions when deciding what
Temp
s instructions read and write.IgnoreSpillUDr
.
t
.
IllegalEdgeException
IllegalEdgeException
.
IllegalEdgeException
.
Indexer
implements
the getByID()
method.
n
inc
for all the
nodes from set
INClass
provides implementations of the native methods in
java.lang.Class
.INClass
provides implementations of the native methods in
java.lang.Class
.INClassLoader
provides implementations for (some of) the native
methods in java.lang.ClassLoader
and
java.lang.ClassLoader.NativeLibrary
.this
general type is included into the
set of types abstracted by the general type gt2
.
InclusionConstraints
is a simple solver for inclusion
constraints.Term
.increment
gives the temp with the loop invariant
value to increment the induction variable by.
InCti
is used for control-transfer instructions.InCti
from a chunk of bytecode starting
at offest pc
.
s
to PrintWriter pw
at
the given indentation level indent
.
sync
operation on n
are independent (temporarily speaking) or not.
Object
type, whose class is
compared against each class type in keys[]
.
keys
.
Temp
holding the index of the element to get.
Temp
holding the index of the element to get.
index
in its
method's local variables.
Temp
holding the index of the array element
to address.
Temp
holding the discriminant.
Temp
holding the discriminant.
Temp
with the index of the element to get.
Temp
holding the index of the element
to fetch.
Indexer
is an object for extracting unique indices
for a set of objects.harpoon.Util.Indexer
specifically for working
only with Temp
s generated by
this.tempFactory()
.
equals
method.
index
, and testing for equality using the
equals
method.
indFinal
gives the final value of the induction
variable.
indInitial
gives the initial value of the induction
variable.
Induction
induction
gives the temp with the induction variable
of the for loop.
INFile
provides implementations for (some of) the native
methods in java.io.File
.INFile
provides implementations for (some of) the native
methods in java.io.File
.INFileSystem
provides implementations for (some of) the native
methods in java.io.FileSystem
.INFloatDouble
provides implementations of the native methods
in java.lang.Float
and java.lang.Double
.INFloatDouble
provides implementations of the native methods
in java.lang.Float
and java.lang.Double
.InGen
is used for non-branching instructions.InGen
from a chunk of bytecode starting at
offset pc
.
HCodeElement
s
which do not define them.
InitializerOrdering
computes a topological sort of
the static initializer call graph designed to ensure that
classes are initialized in the correct order.InitializerOrdering
.
InitializerTransform
transforms class initializers so
that they are idempotent and so that they perform all needed
initializer ordering checks before accessing non-local data.InitializerTransform
with no information
about which native methods are 'safe'.
InitializerTransform
using the specified
named resource to specify the safe and dependent
native methods of this runtime.
InitializerTransform
using the given
information about safe and dependent methods.
InlineMap
maps an HField
to a boolean value
indicated whether the HField
can be inlined.INMath
provides implementations for (some of) the native
methods in java.lang.Math
.InMerge
is used to represent a node where
multiple control flows merge.InMerge
.
access_flags
.
CONSTANT_Class_info
pointer to class with encoded name.
CONSTANT_Utf8_info
pointer to the simple name of the
encoded inner class.
InnerClass
object describes one encoded inner
class name, its defining scope, its simple name, and a bitmask
of the originally declared, untransformed access flags.INObject
provides implementations of the native methods in
java.lang.Object
.INObject
provides implementations of the native methods in
java.lang.Object
.INResourceBundle
provides implementations for (some
of) the native methods in java.util.ResourceBundle
.InRet
is an InCti with an operand.InRet
.
INRuntime
provides implementations of the native methods in
java.lang.Runtime
.INRuntime
provides implementations of the native methods in
java.lang.Runtime
.Map.Entry
,
which is not currently in the Heap
, into the
Heap
.
item
into this, assigning it priority
priority
.
Heap
.
e2
through the mu
mapping into this
PAEscapeFunc
.
tau2
through the mu
mapping into this
object.
G2
points-to graph through
the mu
node mapping into this
object.
this
at edge
.
index
.
this
.
InsertWriteBarrier
instruments any writes to pointer
locations with a store check.this
node is an inside one.
INSTANCEOF
objects represent an 'instanceof' evaluation.INSTANCEOF
representing a type check.
Translation.Exp
which tests the
given expression for membership in the given class or
interface.
Instr
is the primary class for representing
assembly-level instructions used in the Backend.* packages.Bytecode.Instr
is the base type for the specific
bytecode instruction classes.Instr
consisting of the String assem.
Instr
consisting of the String assem
and the list of sources in src.
Instr
consisting of the
String
assem
and the lists of
destinations and sources in dst
and
src
.
Instr
consisting of the
String
assem
and the list of
destinations and sources in dst
and
src
.
InstrBuilder
defines an interface that general program
transformations can call to generate needed assembly code blocks for
arbitrary target architectures.MIPS.InstrBuilder
is an Generic.InstrBuilder
for the
MIPS architecture.Sparc.InstrBuilder
is another implementation of
Generic.InstrBuilder
- for the Sparc architecture.StrongARM.InstrBuilder
is an Generic.InstrBuilder
for the
StrongARM architecture.InstrBuilder
.
InstrCALL
InstrCALL
.
InstrDIRECTIVE
is used to represents assembler
directives.InstrEdge
is an object representing an edge between
two Instr
s.InstrEdge
representing
InstrFactory
for Instr
s currently
generated by CodeGen#emit
.
InstrFactory
is responsible for generating
generic Assem.Instr
s used in code generation.InstrGroup
collects a group of assembly instructions
together so that they can be viewed as a single atomic element of
the code.InstrGroup.Type
is associated with a collection
of InstrGroup
s for a given
Assem.Code
.InstrGroup
.
InstrGroup
contained in
contained
.
INString
provides implementations of the native methods in
java.lang.String
.INString
provides implementations of the native methods in
java.lang.String
.InstrJUMP
represents a shift in control flow to one
target Label
with no side-effects.InstrJUMP
.
InstrLABEL
is used to represents code labels in
assembly-level instruction representations.Instr
.
InstrMEM
is used to represent memory operations in
assembly-level instruction representations.InstrMEM
with default values for
canFallThrough
and targets
.
InstrMEM
.
InstrMOVE
represents a copying of a set of source
Temp
s to a set of destination Temp
s.InstrMOVE
.
InstrMOVEproxy
InstrMOVEproxy
.
InstrSolver
InstrumentAllocs
adds counters to each allocation site.InstrumentAllocs
.
InstrumentSyncOps
instruments synchronization operations for
statistics-gathering purposes.InstrVisitor
is an implementation of the Visitor
pattern coupled to the Instr intermediate representation.InstrVisitor
.
InSwitch
is used for the tableswitch
and
lookupswitch
java bytecode instructions.HClass
object representing the primitive type int.
InterfaceList
class is a linked list used to represent
a list of interfaces.InterfaceListPointer
is used to representing a pointer
to a list of interfaces.InterfaceMethodMap
provides a mapping from interface
methods to the offset that the method-pointers should have on the
object layout.InterfaceMethodMap
for interfaces in
the given ClassHierarchy
ch
.
InterfaceMethodMap
for interfaces in
hclasses
.
interfaces
array must be a valid
index into the constant_pool
table.
CONSTANT_Class_info
entry in the
constant_pool
corresponding to the value in
interfaces[i]
.
InterferenceGraph
is an abstract interface for
interference graphs.InterProc
InterProc
analyzer.
InterProcPA
is a "functional" class (i.e.InterThreadPA
groups together the functions related to the
inter-thread analysis.IntervalTree
is a mutable collection
of Interval
s.low
,high
] holding an object
obj
.IntervalTree
.
TypeInfo
is a simple type analysis tool for quad-ssi form.WorkSet
containing Quad
s that
are loop invariant.
InvariantsMap
is a mapping from Loops
to a
Set
of invariants.Set
of invariant loop elements.
this
.
this
.
this
.
this
.
Bop
.
InvertibleMap
is an extension of the
Map
interface to allow users to do reverse lookups on
the mappings maintained.InvertibleMultiMap
is an extension of the
MultiMap
interface to allow users to do reverse lookups on
the mappings maintained.INVOCATION
objects are statements which stand for
procedure calls.hm
.
HClass
object represents an array type,
returns true
, otherwise returns false
.
et.t
in instruction
et.q
points to an array of non-primitive type
components (ie non an int[]
.
HClass
object is either the same as, or is a superclass
or superinterface of, the class or interface represented by the
specified HClass
parameter.
Bop
operation
is associative.
this
is the bottom of some specialization
chain, i.e.
true
if the given exception HClass
is caught by this HANDLER
.
Bop
operation
is commutative.
Temp
t
has a constant value.
Temp
t
has a constant value.
HField
hf
has a constant value.
HField
represents a constant
field.
true
iff the given field hf
is always set to a constant value when the given constructor
is executed.
harpoon.Backend.MIPS.Frame.daNum
) is the
defining access.
DefiniteInitOracle
; returns true
iff every constructor for the declaring class of hf
*must* define the field before any reference to the field is made.
true
if the expression corresponds to a
64-bit value.
true
if the expression corresponds to a
64-bit value.
true
if the specified element should be
included in the filtered enumeration.
true
if the specified element should be
included in the filtered enumeration.
PersistentSet
has any members.
PersistentMap
has any mappings.
true
is this map contains no key-value mappings.
true
if this Heap
has no more
entries.
true
if this map contains no key-value mappings.
counter_name
.
true
if temporary t
defined at
definition point hce
contains an object of the
type returned by typeMap(hce, t)
and not
a subtype of that type.
Temp
t
defined at hce
is exact (or whether the runtime type
could be a subclass of the static type).
Temp
t
defined at hce
is exact (or whether the runtime type
could be a subclass of the static type).
true
if the class is never subclassed.
true
if the field is never modified after
declaration.
true
if the method is never overridden.
true
if the expression corresponds to a
floating-point value.
true
if the expression corresponds to a
floating-point value.
this
node is a genuine one.
true
iff the given field is 'subclass-final'
and there is at least one callable constructor where the field's
content can be predicted.
true
iff there is at least one field whose
value can be predicted when this constructor is called.
MethodHole
contains a
hole with the same content than the calling hole.
MethodHole
contains a
hole with the same content than the calling hole and, if this
is the case, return such a copy.
HClass
is an instance of the given
HClass
hc
.
HClass
object represents an
interface type.
HMethod
is an interface method.
HInitializer
is an interface
method.
CALL
is to an interface method.
lv_index
at
instruction where
.
this
strongly connected component
corresponds to a loop, ie it has at least one arc to
itself.
true
iff the given Temp
*must*
contain the value of some parameter.
stm
has no effect.
true
iff the given field hf
is always set to the same value as one of the constructor's
parameters whenever it is executed.
Temp
can possibly be
null
.
Temp
can possibly be
null
.
this
node is an unspecialized one
(a root node in the chain of specialization).
HClass
object represents a
primitive Java type.
true
if the given Quad
is
protected by this HANDLER
; false
otherwise.
Quad
is a
member of the protected set.
HField
is ever read.
true
if HMethod
hm
will ever read HField
hf
, either directly or via a method call.
t
is a register (Helper method).
t
is a element of the register file for
this architecture.
instr
cannot be safely deleted.
true
if this expression is a small type,
false
otherwise.
this
node is a specialization of some
other node.
Quads.METHOD
belong to a static method.
CALL
is to a static method.
HClass
is a superclass of a given
HClass
hc
.
HClass
is a superinterface of a given
HClass
hc
.
true
if HMethod
hm
will ever acquire/release a lock (either
directly, or via a method call).
sync
action is done on the node
node
.
HMethod
is synthetic,
in the sense of "associated with an inner-class; not programmer
declared".
HField
is synthetic.
true
if this method should return the same
value the callee returns or throw whatever exception the
callee throws (in which case we can get rid of our
stack and let the callee return directly to our caller).
true
if this method should return the
same value the callee returns or throw whatever
exception the callee throws (in which case we can get
rid of our stack and let the callee return directly to
our caller.
hm
is the method named
mthd
from the class named cls
.
harpoon.Backend.MIPS.Frame.daNum
) is a use.
Qop
value is valid.
Uop
value is valid.
Bop
value is valid.
MethodSplitter.Token
.
MethodSplitter.Token
.
MethodSplitter
subclass.
MethodSplitter.Token
.
true
if ptr
points to
the address of the method to invoke; or false
if
ptr
contains the direct address of the method to
invoke.
true
if the method is dispatched virtually,
or false
otherwise.
true
if HMethod
hm
will ever write HField
hf
, either directly or via a method call.
this
in no specific
order.
HANDLER
s in the given
HandlerSet
.
IteratorEnumerator
converts an Iterator
into an Enumeration
.IteratorEnumerator
.
Jasmin
converts from QuadWithTry to bytecode
formatted for the Jasmin assembler.Jasmin
object.
Jasmin
object.
JLSRuntimeInformation
contains the basic runtime information
required by the
Java
Language Specification.JDKRuntimeInformation
.
JMain
is the command-line interface to the compiler.ar2
to this
action repository.
join
is called in the control-flow join points.
MRAToken
representing
the join of this
with the
argument.
ODInformation
objects.
join
combines two ODParIntGraph
s in \
a control-flow join point.
join
combines two ParIntGraph
s in \
a control-flow join point.
join
combines two PAThreadMap
s in
a control-flow join poin
join
is called in the control-flow join points.
JUMP
objects are statements which stand for unconditional
computed branches.JumpOptimization
removes branches-to-branches
and redundant labels.ParIntGraph
containing only the
nodes that could be reached from the outside.
ODParIntGraph
containing only the
nodes that could be reached from the outside.
PointsToGraph
containing just the nodes
that are reachable from root node: the nodes that could be
reached from outside
code (e.g.
PAThreadMap
containing only the thread
nodes that appear in essential_nodes
.
remaining_nodes
.
Heap
.
keys
array.
keys
array.
keys
array.
keys
array.
Tree
.
Spec.ExpList
of children of this
Spec.Exp
.
Spec.ExpList
of children of this
Spec.Stm
.
KIND
of Loc this
is.
Quad
.
Tree
.
this
object.
Term.VAR
.
Term.ATOMSET
.
Label
represents a (symbolic) address in assembly language.LABEL
marks a basic-block entrance.LABEL
objects define the constant value of the given
label to be the current machine code address.Label
identifying the GC point
null
if
this label has no name.
HClass
to a Label
representing the
location of its class pointer
HClass
to a Label
representing the
class data structure associated with the given suffix.
HField
to a Label
.
HField
to a Label
representing the
field information structure associated with the given suffix.
HMethod
to a Label
.
HMethod
to a Label
representing the
method information structure associated with the given suffix.
LABEL
representing the entrance to a basic
block.
LABEL
to replace a PHI
.
String
constant to a Label
.
String
constant to a Label
representing the string data structure associated with the given
suffix.
java.util.List
instead.where
in the
bit string which is set, or -1 if there is no such index.
i
is last use of reg
in
the block of instructions listed in iter
.
this
in the instruction layout between
from
and to
.
LBBConverter
converts the body of a method
into LightBasicBlock
s.LBBConverter
.
this
.
code
array in the closed interval
[start_pc, start_pc + length]
.
BitString
: the
index of the highest set bit in the BitString
plus
one.
LightBasicBlock
is designed as a compact version of a
BasicBlock
.BasicBlock.Factory
into smaller, array based,
light basic blocks.LighBasicBlock.Factory
object.
LightMap
is a very lightweight implementation of
the java.util.Map
interface.LightMap
.
LightMap
with the same mappings as the
given map.
LightPAEdgeSet
LightPAEdgeSet
.
LightRelation
RelationLight
.
line_number
item must give the
corresponding line number in the original Java source file.
line_number_table
array indicates
that the line number in the original Java source file changes at
a given point in the code
array.
Stm
such that all SEQ
objects
contained within the Stm
object are on the top level.
LinearMap
is a simplistic light-weight
Map
designed for use when the number of entries is
small.LinearMap
.
LinearMap
with specified capacity.
LinearSet
is a simplistic light-weight
Set
designed for use when the number of entries is
small.LinearSet
.
LinearSet
with given capacity.
LinearSet
, using a
List
generated by lf
as the backing
store.
LinearSet
with a given capacity,
using a List
generated by lf
as the
backing store.
LinearSet
, using a
List
generated by lf
as the backing
store, and fills it with the elements of set
.
LinearSet
, filling it with the elements
of set
.
SetFactory
that generates
LinearSet
s backed by ArrayList
s.
code
array.LocPair
is a line number, character position pair
to denote a location in the input file.LocPair
.
ListFactory
that generates LinkedList
s.
Linker
to use for all non-primitive elements
of the returned Set
s.
Linker
object manages the association of symbolic names
to code/data/object descriptions.Lint
is a quick Java code-checker.ListCell
ListCell
.
ListComparator
compares two lists element-by-element.ListComparator
which compares
elements first-to-last.
ListComparator
.
ListFactory
is a List
generator.ListFactory
.
ListWrapper
ListWrapper
.
Set
of live,
non-derived pointers at this GC point as
WrappedMachineRegLoc
s
Liveness
defines an abstract class for live variable analysis.Liveness
is a local-variable liveness analysis on Bytecode
form.Liveness
.
Liveness
object from
provided HCode
.
Set
of registers live at a method's
exit.
Collection
of live local variables at the
given instruction where
.
Set
of live,
non-derived pointers at this GC point as
WrappedStackOffsetLoc
s
LiveTemps
is an extension of LiveVars
for
performing liveness analysis on Temp
s.SetFactory
for constructing sets of the
Temp
s in the analysis.
LiveTemps
for basicblocks
.
LiveVars
performs Liveness Analysis for the variables
in the HCode
s passed to it.LiveVars
for basicblocks
.
LiveVars
that allows the user to
pass in their own SetFactory
for constructing
sets of whatever variable types that are used in the analysis.
LiveVars
.
LiveVars
.
local_variable_table
array
indicates a range of code
offsets within which a
local variable has a value.
LocalCffRegAlloc
performs
Local Register Allocation for a given set of
Instr
s using a conservative-furthest-first algorithm.PreassignTemp
represents Temp
s
which have been pre-assigned to machine registers.LocalCffRegAlloc
.
LocalVariableNamer
LocalVariableNamer
.
code
array offsets
within which a local variable has a value.LocationFactory
interface provides a means for
the runtime system to get access to some global storage for its
use.Location
s returned by the
LocationFactory
allocation function
are opaque data structures that permit only the creation of
an accessor fragment in Tree form.Temp
specifying the object to be released.
Temp
specifying the object to be locked.
LockRemove
HClass
object representing the primitive type long.
LoopAnalysis
implements AllInductionsMap
,
BasicInductionsMap
, and InvariantsMap
.ForLoopInfo
encapsulated information on a for loop.LoopAnalysis
.
HCodeElement
s of this loop that aren't in a nested
loop.
loopExit
gives the CJMP
that is the
first exit of the loop.
Set
of all HCodeEdge
s
exiting the loop.
Set
of all HCodeElement
s
in the loop which have an edge exiting the loop.
LoopFinder
implements Dominator Tree Loop detection.Set
with all of the HCodeElement
s of the loop and
loops included entirely within this loop.
LoopInvariance
LoopInvariance
.
LoopMap
LoopMap
.
LoopOptimize
optimizes the code after LoopAnalysis
.LoopOptimize
.
LoopOptimize
constructor.
Loops
contains the interface to be implemented by objects
generating nested loops trees.LowQuad
interface identifies subclasses of
harpoon.IR.Quads.Quad
as being members of the
LowQuad
representation.LowQuadFactory
is a trivial subclass of
QuadFactory
which assigns unique numbers to the
Quad
s and LowQuad
s in LowQuad form.LowQuadKind
is an enumerated type for the various kinds of
LowQuad
s.LowQuadNoSSA
codeview exposes a lowquad-based
representation.LowQuadSSA
codeview exposes a lowquad based
representation in SSA form.LowQuadSSA
object from a
LowQuadSSI
object.
LowQuadSSI
codeview exposes a lowquad based
representation in SSI form.LowQuadSSI
object from a
LowQuadNoSSA
object.
LowQuadVisitor
is another design pattern.LowQuadVisitor
.
LQop
is an enumerated type for the various kinds of
OPER
opcodes in LowQuad
form.Main
is the command-line interface to the compiler.MAInfo
MAInfo
processing.MAInfo
.
class
file.
EqTempSets
.
Tree.Exp
which can be used to address
the contents of this Location
for a fetch or
set operation.
Collection
.
Collection
, using the
elements of c
as a template for its initial
contents.
Collection
, using
initialCapacity
as a hint to use for the capacity
for the produced Collection
.
from
to to
.
Set
, using the elements
of the universe for this
as its initial contents.
MakeGCThreadSafe
adds checks to see whether another thread
has caused a GC, and if so, halts the current thread by calling out to
the runtime.ReachingDefInfo
.
InstrGroup
of the type for
this
representing rep
.
InstrGroup
, contained in
container
of the type for this
representing rep
.
t
in the interference graph.
InstrLABEL
for generating new
arbitrary code blocks to branch to.
InstrLABEL
for generating new
arbitrary code blocks to branch to.
InstrLABEL
for generating new
arbitrary code blocks to branch to.
List
.
List
, using the elements
of c
as a template for its initial contents.
List
, using
initialCapacity
as a hint to use for the capacity
for the produced List
.
Instr
s for memory traffic
from RAM to multiple registers in the register file.
Instr
s for memory traffic
from RAM to one register in the register file.
HData
object that allocates static space
for any allocated locations which need it.
HData
which allocates static space for
any LocationFactory.Location
s that have been created.
HData
which allocates static space for
any LocationFactory.Location
s that have been created.
Map
.
Map
, using the entries of
map
as a template for its initial mappings.
Map
which is a
subset of the backing set of this
AggregateMapFactory
.
MultiMap
initialized with all
of the Map.Entry
s in map
Node
.
Interval
.
Node
n for this such that n.key == k.
Set
.
Set
, using the elements
of c
as a template for its initial contents.
Set
, using the elements
of c
as a template for its initial contents.
Set
which is a
subset of the backing set of this
AggregateSetFactory
.
Set
, using
initialCapacity
as a hint to use for the capacity
for the produced Set
.
Instr
s for memory traffic
from multiple registers in the register file to RAM.
Instr
s for memory traffic
from the register file to RAM.
Temp
for storing values with the same
type as t
.
LiveVarInfo
.
MallocAllocationStrategy
calls a C function with the
same prototype as malloc()
to do the allocation.MallocAllocationStrategy
.
TempMap
tm
to Temp
t
.
TempMap
to array of Temp
s.
TempMap
to 2-d array of Temp
s.
HClass from
to to
that share the same name and method signature.
- MapComparator - class harpoon.Util.MapComparator.
- A
MapComparator
compares two unsorted maps by first
sorting their keys and then comparing them entry-by-entry (treating
the map as a sorted pair list). - MapComparator(Comparator, Comparator) -
Constructor for class harpoon.Util.MapComparator
- Creates a
MapComparator
which compares
entries in the order defined by the keyComparator
and compares keys (using keyComparator
) before values
(using valueComparator
).
- MapFactory - class harpoon.Util.Collections.MapFactory.
MapFactory
is a Map
generator.- MapFactory() -
Constructor for class harpoon.Util.Collections.MapFactory
- Creates a
MapFactory
.
- MapSet - interface harpoon.Util.Collections.MapSet.
- A
MapSet
is a java.util.Set
of
Map.Entry
s which can also be accessed as a
java.util.Map
. - mapSetFactory(MapFactory) -
Static method in class harpoon.Util.Collections.Factories
- Returns a
SetFactory
that generates MapSet
views of maps generated by the given MapFactory
.
- mapups -
Variable in class harpoon.Analysis.PointerAnalysis.ODNodeStatus
-
- MapWrapper - class harpoon.Util.Collections.MapWrapper.
MapWrapper
is a class that acts as a proxy for
another backing map, to allow for easy extension of
Map
functionality while not restricting developers to
one particular Map
implementation.- MapWrapper(Map) -
Constructor for class harpoon.Util.Collections.MapWrapper
-
- markSupported() -
Method in class harpoon.Tools.Annotation.Lex.EscapedUnicodeReader
-
- MartinTheWildHacker -
Static variable in class harpoon.Analysis.PointerAnalysis.ODPointerAnalysis
-
- match(Exp) -
Method in class harpoon.Analysis.Tree.Simplification.Rule
- Returns true if
exp
matches this rule.
- match(Stm) -
Method in class harpoon.Analysis.Tree.Simplification.Rule
- Returns true if
stm
matches this rule.
- MAX_ANALYSIS_ABOVE_SPEC -
Static variable in class harpoon.Analysis.PointerAnalysis.ODPointerAnalysis
-
- MAX_ANALYSIS_DEPTH -
Static variable in class harpoon.Analysis.PointerAnalysis.ODPointerAnalysis
-
- MAX_CALLEES -
Static variable in class harpoon.Analysis.PointerAnalysis.InterProcPA
- Call sites with more than
MAX_CALLEES
callees are simply
considered to be holes.
- MAX_INLINABLE_METHOD_SIZE -
Variable in class harpoon.Analysis.PointerAnalysis.MAInfo.MAInfoOptions
- The maximal size of a method that can be inlined.
- MAX_INLINING_LEVEL -
Variable in class harpoon.Analysis.PointerAnalysis.MAInfo.MAInfoOptions
- The current implementation is able to inline call strings of
length bigger than one.
- MAX_INLINING_SIZE -
Static variable in class harpoon.Analysis.PointerAnalysis.ODMAInfo
- Only methods that have less than
MAX_INLINING_SIZE
instructions can be inlined.
- max_locals -
Variable in class harpoon.IR.RawClass.AttributeCode
- The value of the
max_locals
item gives the number
of local variables used by this method, including the parameters
passes to the method on invocation.
- MAX_METHOD_SIZE -
Variable in class harpoon.Analysis.PointerAnalysis.MAInfo.MAInfoOptions
- The maximal size to which we can inflate the size of a method
through inlining.
- MAX_SPEC_DEPTH -
Static variable in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
- The specialization limit.
- MAX_SPEC_DEPTH -
Static variable in class harpoon.Analysis.PointerAnalysis.ODPointerAnalysis
- The specialization limit.
- max_stack -
Variable in class harpoon.IR.RawClass.AttributeCode
- The value of the
max_stack
item gives the maximum
number of words on the operand stack at any point during
execution of this method.
- max() -
Static method in class harpoon.IR.LowQuad.LowQuadKind
-
- max() -
Static method in class harpoon.IR.Quads.QuadKind
-
- max() -
Static method in class harpoon.IR.Tree.TreeKind
-
- maxDepth() -
Method in class harpoon.Backend.Maps.DefaultClassDepthMap
-
- maxDepth() -
Method in class harpoon.Backend.Maps.ClassDepthMap
- Returns the maximum nesting depth of any class (dependent on a
given context).
- MaximalMunchCGG - class harpoon.Tools.PatMat.MaximalMunchCGG.
MaximalMunchCGG
finds an optimal tiling of
instructions on a Tree-IR.- MaximalMunchCGG(Spec, String) -
Constructor for class harpoon.Tools.PatMat.MaximalMunchCGG
- Creates a
MaximalMunchCGG
.
- maximum() -
Method in class harpoon.Util.Collections.BinaryTree
- Returns the maximum element of
this
.
- maximum(BinaryTree.Node) -
Method in class harpoon.Util.Collections.BinaryTree
- Finds the maximum Node n (in the subtree rooted at x).
- MaxMunchCG - class harpoon.Backend.Generic.MaxMunchCG.
MaxMunchCG
is a MaximalMunchCGG
specific
extension of CodeGen
.- MaxMunchCG(Frame) -
Constructor for class harpoon.Backend.Generic.MaxMunchCG
- Creates a
MaxMunchCG
.
- MaxPriorityQueue - interface harpoon.Util.MaxPriorityQueue.
MaxPriorityQueue
maintains a Collection
of
Object
s, each with an associated priority.- maxRegIndex() -
Method in class harpoon.Backend.Generic.RegFileInfo
- Defines the upper bound on possible indexes for
MachineRegLoc
s.
- maxRegIndex() -
Method in class harpoon.Backend.StrongARM.RegFileInfo
- maxRegIndex returns an upper bound on the indexes that will be
returned by the
MachineRegLoc
s for this backend.
- mayReadAt(Edge) -
Method in class harpoon.Analysis.Quads.MayReadOracle
- Returns the set of fields possibly-read before edge
e
is executed.
- MayReadOracle - class harpoon.Analysis.Quads.MayReadOracle.
- A
MayReadOracle
tells you which fields of a given
class 'may' be read on the given edge. - MayReadOracle(HCode, FieldSyncOracle, CallGraph, HClass, boolean) -
Constructor for class harpoon.Analysis.Quads.MayReadOracle
- Creates a
MayReadOracle
using the quad-ssi representation
hc
of some method and global information about read fields
provided by fso
.
- MEASURE_AS -
Static variable in class harpoon.Analysis.PointerAnalysis.ParIntGraph
- Display the gains due to AGGRESSIVE_SHRINKING.
- MEGA_DEBUG -
Static variable in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
- crazy, isn't it?
- MEM - class harpoon.IR.Tree.MEM.
MEM
objects are expressions which stand for the contents of
a value in memory starting at the address specified by the
subexpression.- MEM -
Static variable in class harpoon.IR.Tree.TreeKind
-
- MEM -
Static variable in class harpoon.Tools.PatMat.Sym
-
- MEM_OPTIMIZATION -
Static variable in class harpoon.Analysis.PointerAnalysis.ODMAInfo
-
- MEM(TreeFactory, HCodeElement, int, boolean, Exp) -
Constructor for class harpoon.IR.Tree.MEM
- Creates a MEM with a precisely defined type.
- MEM(TreeFactory, HCodeElement, int, Exp) -
Constructor for class harpoon.IR.Tree.MEM
- Constructor.
- memAccessNoTagCheck(HCodeElement) -
Method in class harpoon.Backend.MIPS.Frame
-
- memalloc_phase -
Variable in class harpoon.Analysis.PointerAnalysis.ODNodeStatus
-
- memAlloc(Exp) -
Method in class harpoon.Interpret.Tree.DefaultFrame
- Returns a
Tree.Exp
object which represents a pointer
to a newly allocated block of memory, of the specified size.
- memAlloc(TreeFactory, HCodeElement, DerivationGenerator, AllocationInformation.AllocationProperties, Exp) -
Method in class harpoon.Analysis.Realtime.RealtimeAllocationStrategy
- Produces the Tree code corresponding to a memory allocation.
- memAlloc(TreeFactory, HCodeElement, DerivationGenerator, AllocationInformation.AllocationProperties, Exp) -
Method in class harpoon.Backend.PreciseC.PGCNiftyAllocationStrategyWithStats
-
- memAlloc(TreeFactory, HCodeElement, DerivationGenerator, AllocationInformation.AllocationProperties, Exp) -
Method in class harpoon.Backend.PreciseC.PGCNiftyAllocationStrategy
-
- memAlloc(TreeFactory, HCodeElement, DerivationGenerator, AllocationInformation.AllocationProperties, Exp) -
Method in class harpoon.Backend.Runtime1.SPAllocationStrategy
-
- memAlloc(TreeFactory, HCodeElement, DerivationGenerator, AllocationInformation.AllocationProperties, Exp) -
Method in class harpoon.Backend.Runtime1.NullAllocationStrategy
-
- memAlloc(TreeFactory, HCodeElement, DerivationGenerator, AllocationInformation.AllocationProperties, Exp) -
Method in class harpoon.Backend.Runtime1.NiftyAllocationStrategy
-
- memAlloc(TreeFactory, HCodeElement, DerivationGenerator, AllocationInformation.AllocationProperties, Exp) -
Method in class harpoon.Backend.Runtime1.MallocAllocationStrategy
-
- memAlloc(TreeFactory, HCodeElement, DerivationGenerator, AllocationInformation.AllocationProperties, Exp) -
Method in class harpoon.Backend.Runtime1.BDWAllocationStrategy
-
- memAlloc(TreeFactory, HCodeElement, DerivationGenerator, AllocationInformation.AllocationProperties, Exp) -
Method in class harpoon.Backend.Runtime1.AppelAllocationStrategy
- Returns a
Stm
object which allocates a block of memory
of the specified size.
- memAlloc(TreeFactory, HCodeElement, DerivationGenerator, AllocationInformation.AllocationProperties, Exp) -
Method in class harpoon.Backend.Runtime1.AllocationStrategy
- Return a
Tree.Exp
created with the given
TreeFactory
that returns a pointer to a piece of
memory length
bytes long.
- memberComparator -
Static variable in interface harpoon.ClassFile.HMember
-
- MemHoisting - class harpoon.Analysis.Tree.MemHoisting.
MemHoisting
ensures that the ordering of MEM operations
is well-defined in the tree, by creating a temporary for and hoisting
all but one MEM in any given subexpression.- MemHoisting() -
Constructor for class harpoon.Analysis.Tree.MemHoisting
-
- MemoryOptimization - class harpoon.Analysis.Quads.MemoryOptimization.
MemoryOptimization
reduces the number of memory operations
by combining multiple loads/stores to the same field/array element.- MemoryOptimization(HCodeFactory, ClassHierarchy, CallGraph) -
Constructor for class harpoon.Analysis.Quads.MemoryOptimization
-
- memRef(TreeFactory, MEM, DerivationGenerator, Temp) -
Static method in class harpoon.Analysis.Realtime.HeapCheckAdder
- (t&(~3)), now *t
- merge(BasicBlockInterf, BasicBlockInterf) -
Method in class harpoon.Analysis.DataFlow.LiveVars.BBVisitor
- Merge (Confluence) operator.
- merge(BasicBlockInterf, BasicBlockInterf) -
Method in class harpoon.Analysis.DataFlow.DataFlowBasicBlockVisitor
- Merges operation on the from and to basic block.
- merge(BasicBlockInterf, BasicBlockInterf) -
Method in class harpoon.Analysis.Tree.TreeFolding
- Merges operation on the from and to basic block.
- merge(Quad, Quad) -
Method in class harpoon.Analysis.DataFlow.DataFlowQuadVisitor
- Merge operation on the from and to quad.
- message(String) -
Static method in class harpoon.Main.SAMain
-
- messageln(String) -
Static method in class harpoon.Main.SAMain
-
- MetaAllCallers - class harpoon.Analysis.MetaMethods.MetaAllCallers.
MetaAllCallers
is the dual of MetaCallGraph
.- MetaAllCallers(MetaCallGraph) -
Constructor for class harpoon.Analysis.MetaMethods.MetaAllCallers
- Creates a
MetaAllCallers
.
- MetaCallGraph - interface harpoon.Analysis.MetaMethods.MetaCallGraph.
MetaCallGraph
is for meta methods what callGraph
is for "normal" methods.- MetaCallGraphAbstr - class harpoon.Analysis.MetaMethods.MetaCallGraphAbstr.
MetaCallGraphAbstr
Abstract implementation of the
MetaCallGraph
interface.- MetaCallGraphAbstr() -
Constructor for class harpoon.Analysis.MetaMethods.MetaCallGraphAbstr
-
- MetaCallGraphImpl - class harpoon.Analysis.MetaMethods.MetaCallGraphImpl.
MetaCallGraphImpl
is a full-power implementation of the
MetaCallGraph
interface.- MetaCallGraphImpl(CachingCodeFactory, ClassHierarchy, Set) -
Constructor for class harpoon.Analysis.MetaMethods.MetaCallGraphImpl
- Creates a
MetaCallGraphImpl
.
- MetaMethod - class harpoon.Analysis.MetaMethods.MetaMethod.
MetaMethod
is a specialization of a method, function of the
types of its arguments.
For example, if we have a method foo
declared as having a single parameter of type Object
, if we
know that in a specific call site it is called with an argument of type
A
and in some other call site with an argument of type
B
, then we can
say that in the first case we call the meta-method consisting of method
<foo,A>
while in the second one we call the meta-method
<foo,B>
.
In languages that relies very heavily on
inheritance and dynamic dispatch (virtual methods) such as Java, this will
lead to a
sparser call graph, removing some unrealizable call chains.- MetaMethod(HMethod) -
Constructor for class harpoon.Analysis.MetaMethods.MetaMethod
- Creates a
MetaMethod
corresponding to the method
hm
and the types declared for it.
- MetaMethod(HMethod, boolean) -
Constructor for class harpoon.Analysis.MetaMethods.MetaMethod
- Creates a
MetaMethod
corresponding to the method
hm
and the types declared for it.
- MetaMethod(HMethod, GenType[]) -
Constructor for class harpoon.Analysis.MetaMethods.MetaMethod
- Creates a
MetaMethod
corresponding to the method
hm
and the types from the array "types".
- metaStuff(BMethod) -
Method in class harpoon.Analysis.EventDriven.ToAsync
-
- method -
Variable in class harpoon.IR.LowQuad.PMOFFSET
- The
HMethod
to address.
- method -
Variable in class harpoon.IR.LowQuad.PMCONST
- The
HMethod
to address.
- method -
Variable in class harpoon.IR.Quads.CALL
- The method to invoke.
- Method - class harpoon.Interpret.Quads.Method.
Method
interprets method code in quad form.- Method - class harpoon.Interpret.Tree.Method.
Method
converts HMethods
into tree code,
and interprets them.- METHOD - class harpoon.IR.Quads.METHOD.
Quads.METHOD
nodes encode method-specific information:
the mapping of method formals to temporary variables, and
links to the exception handlers for the method.- METHOD - class harpoon.IR.Tree.METHOD.
Tree.METHOD
objects encode method-specific information:
the mapping of method formals to temporary variables, and
links to the exception handlers for the method.- METHOD -
Static variable in class harpoon.IR.Quads.QuadKind
-
- METHOD -
Static variable in class harpoon.IR.Tree.TreeKind
-
- METHOD -
Static variable in class harpoon.Tools.PatMat.Sym
-
- method_epilogue_stms -
Variable in class harpoon.Tools.PatMat.Spec
- Java code statements to be inserted in the epilogue of the
code generator method body.
- method_prologue_stms -
Variable in class harpoon.Tools.PatMat.Spec
- Java code statements to be inserted in the prologue of the
code generator method body.
- method() -
Method in class harpoon.Analysis.PointerAnalysis.MethodHole
- Return the
HMethod
corresponding to the call site.
- method() -
Method in class harpoon.IR.LowQuad.PMOFFSET
- Returns the method whose offset is computed.
- method() -
Method in class harpoon.IR.LowQuad.PMCONST
- Returns the method whose offset is computed.
- method() -
Method in class harpoon.IR.Quads.HEADER
- Returns the
Quads.METHOD
following this HEADER
.
- method() -
Method in class harpoon.IR.Quads.CALL
- Returns the method invoked by this
CALL
.
- Method() -
Constructor for class harpoon.Interpret.Quads.Method
-
- Method() -
Constructor for class harpoon.Interpret.Tree.Method
-
- METHOD(QuadFactory, HCodeElement, Temp[], int) -
Constructor for class harpoon.IR.Quads.METHOD
- Creates a
Quads.METHOD
quad.
- METHOD(TreeFactory, HCodeElement, Label, int, TEMP[]) -
Constructor for class harpoon.IR.Tree.METHOD
- Creates a
Tree.METHOD
object.
- methodBase(TreeFactory, HCodeElement, DerivationGenerator, Translation.Exp) -
Method in class harpoon.Backend.Generic.Runtime.TreeBuilder
- Return a
Translation.Exp
representing the
method base of the object referenced by the given
objectref
expression.
- methodBase(TreeFactory, HCodeElement, DerivationGenerator, Translation.Exp) -
Method in class harpoon.Backend.Runtime1.TreeBuilder
-
- methodConst(TreeFactory, HCodeElement, DerivationGenerator, HMethod) -
Method in class harpoon.Backend.Generic.Runtime.TreeBuilder
- Return a
Translation.Exp
which represents a
reference to a java.lang.reflect.Method
constant.
- methodConst(TreeFactory, HCodeElement, DerivationGenerator, HMethod) -
Method in class harpoon.Backend.Runtime1.TreeBuilder
-
- MethodHole - class harpoon.Analysis.PointerAnalysis.MethodHole.
MetHolSet
contains the information corresponding to
method holes in a Parallel Interaction Graph.- MethodHole(CALL, Set, MetaMethod[], Set[], PANode, PANode, int, int) -
Constructor for class harpoon.Analysis.PointerAnalysis.MethodHole
- Creates a
MethodHole
.
- MethodHole(MethodHole, Map) -
Constructor for class harpoon.Analysis.PointerAnalysis.MethodHole
- Creates a
MethodHole
which is a copy of the one
given as argument, except that the parameters are mapped using
the second argument.
- MethodHole(MethodHole, Set[]) -
Constructor for class harpoon.Analysis.PointerAnalysis.MethodHole
- Creates a
MethodHole
which is a copy of the one
given as argument, except for the parameters.
- MethodHole(MethodHole, Set[], int, LinkedList) -
Constructor for class harpoon.Analysis.PointerAnalysis.MethodHole
- Creates a
MethodHole
which is a copy of the one
given as argument, except for the parameters.
- methodHolesSet(PANode) -
Method in class harpoon.Analysis.PointerAnalysis.PAEscapeFunc
- Returns the set of methods that
node
escapes into.
- MethodInfo - class harpoon.IR.RawClass.MethodInfo.
- Each method, and each instance initialization method <init>,
is described by a variable-length
method_info
structure. - MethodInfo(ClassFile, AccessFlags, int, int, Attribute[]) -
Constructor for class harpoon.IR.RawClass.MethodInfo
- Constructor.
- MethodInliningCodeFactory - class harpoon.Analysis.Quads.MethodInliningCodeFactory.
MethodInliningCodeFactory
makes an HCode
from an HMethod
, and inlines methods at call sites
registered with the inline(CALL)
function.- MethodInliningCodeFactory(HCodeFactory) -
Constructor for class harpoon.Analysis.Quads.MethodInliningCodeFactory
- Creates a
MethodInliningCodeFactory
, using
parentFactory
.
- MethodMap - class harpoon.Backend.Maps.MethodMap.
- A
MethodMap
assigns an ordering to the methods in a
class. - MethodMap() -
Constructor for class harpoon.Backend.Maps.MethodMap
-
- MethodMutator - class harpoon.Analysis.Transformation.MethodMutator.
MethodMutator
makes it easier to implement simple
method code mutations.- MethodMutator(HCodeFactory) -
Constructor for class harpoon.Analysis.Transformation.MethodMutator
- Creates a
MethodMutator
.
- methodOffset(TreeFactory, HCodeElement, DerivationGenerator, HMethod) -
Method in class harpoon.Backend.Generic.Runtime.TreeBuilder
- Return a
Translation.Exp
representing an
offset from the method base required to access the
given method
.
- methodOffset(TreeFactory, HCodeElement, DerivationGenerator, HMethod) -
Method in class harpoon.Backend.Runtime1.TreeBuilder
-
- methodOrder(HMethod) -
Method in class harpoon.Backend.Analysis.InterfaceMethodMap
- Returns an ordering of the given method.
- methodOrder(HMethod) -
Method in class harpoon.Backend.Analysis.ClassMethodMap
-
- methodOrder(HMethod) -
Method in class harpoon.Backend.Maps.MethodMap
- Return an ordering of the given method.
- methods -
Variable in class harpoon.Analysis.PointerAnalysis.ODNodeStatus
-
- methods -
Variable in class harpoon.IR.RawClass.ClassFile
- Each value in the
methods
table must be a
variable-length method_info
structure giving a
complete description of and Java Virtual Machine code for a
method in the class or interface.
- methods_count() -
Method in class harpoon.IR.RawClass.ClassFile
-
- methodsCallableFrom(HMethod) -
Method in class harpoon.Backend.Analysis.JLSRuntimeInformation
-
- methodsCallableFrom(HMethod) -
Method in class harpoon.Backend.Generic.RuntimeInformation
- Returns the set of methods called during the execution of the
specified method.
- methodsCallableFrom(HMethod) -
Method in class harpoon.Backend.Runtime1.RuntimeInformation
-
- MethodSplitter - class harpoon.Analysis.Transformation.MethodSplitter.
MethodSplitter
makes it easier to implement
transformations which specialize methods for one purpose or
another.- MethodSplitter.Token - class harpoon.Analysis.Transformation.MethodSplitter.Token.
- Subclasses of
MethodSplitter
refer to "versions"
of the underlying method which may be named by creating
static instances of this MethodSplitter.Token
class. - MethodSplitter.Token(String) -
Constructor for class harpoon.Analysis.Transformation.MethodSplitter.Token
- Create a token, specifying the suggested method suffix.
- MethodSplitter(HCodeFactory, ClassHierarchy, boolean) -
Constructor for class harpoon.Analysis.Transformation.MethodSplitter
- Creates a
MethodSplitter
, based on the method
representations in the parent
HCodeFactory
.
- MethodTraceFactory - class harpoon.Analysis.Quads.MethodTraceFactory.
MethodTraceFactory
adds DEBUG
quads
to the entry and exit points of every method.- MethodTraceFactory(HCodeFactory) -
Constructor for class harpoon.Analysis.Quads.MethodTraceFactory
- Creates a
MethodTraceFactory
.
- mh -
Variable in class harpoon.Analysis.PointerAnalysis.MyAP
-
- mh_number -
Static variable in class harpoon.Analysis.PointerAnalysis.ODPointerAnalysis
-
- min() -
Static method in class harpoon.IR.LowQuad.LowQuadKind
-
- min() -
Static method in class harpoon.IR.Quads.QuadKind
-
- min() -
Static method in class harpoon.IR.Tree.TreeKind
-
- minimum() -
Method in interface harpoon.Util.Collections.Heap
- Returns a mapping entry with minimal key.
- minimum() -
Method in class harpoon.Util.Collections.FibonacciHeap
-
- minimum() -
Method in class harpoon.Util.Collections.BinomialHeap
- Returns a mapping entry with minimal key.
- minimum() -
Method in class harpoon.Util.Collections.BinaryTree
- Returns the minimum element of
this
.
- minimum() -
Method in class harpoon.Util.Collections.BinaryHeap
-
- minimum() -
Method in class harpoon.Util.Collections.AbstractHeap
-
- minimum(BinaryTree.Node) -
Method in class harpoon.Util.Collections.BinaryTree
- Finds the minimum Node n (in the subtree rooted at x).
- minimum(SpillHeuristics.SpillHeuristic[]) -
Method in class harpoon.Analysis.Instr.AppelRegAlloc
- Finds the minimum cost heuristic in
h
.
- minor_version -
Variable in class harpoon.IR.RawClass.ClassFile
- The minor version number of the compiler that produced this
class
file.
- MINUS -
Static variable in class harpoon.Tools.Annotation.Sym
-
- minusCheck(Quad, Temp, QuadWithTry, UseDef) -
Static method in class harpoon.IR.Quads.Pattern
-
- MINUSEQ -
Static variable in class harpoon.Tools.Annotation.Sym
-
- MINUSMINUS -
Static variable in class harpoon.Tools.Annotation.Sym
-
- minusWidthMap(HCodeElement, Temp) -
Method in class harpoon.Analysis.Quads.SCC.SCCAnalysis
- Determine the negative bit width of
Temp
t
.
- minusWidthMap(HCodeElement, Temp) -
Method in class harpoon.Analysis.SizeOpt.BitWidthAnalysis
- Determine the negative bit width of
Temp
t
.
- minusWidthMap(HField) -
Method in class harpoon.Analysis.SizeOpt.BitWidthAnalysis
- Determine the negative bit width of
HField
hf
.
- MOD -
Static variable in class harpoon.Tools.Annotation.Sym
-
- MODEQ -
Static variable in class harpoon.Tools.Annotation.Sym
-
- Monitor - class harpoon.RunTime.Monitor.
-
- MONITOR -
Static variable in class harpoon.Analysis.GraphColoring.OptimisticGraphColorer
-
- MONITORENTER - class harpoon.IR.Quads.MONITORENTER.
MONITORENTER
acquires the monitor lock of a particular
object.- MONITORENTER -
Static variable in class harpoon.IR.Bytecode.Op
-
- MONITORENTER -
Static variable in class harpoon.IR.Quads.QuadKind
-
- MONITORENTER(QuadFactory, HCodeElement, Temp) -
Constructor for class harpoon.IR.Quads.MONITORENTER
- Creates a
MONITORENTER
.
- monitorEnter(TreeFactory, HCodeElement, DerivationGenerator, Translation.Exp) -
Method in class harpoon.Backend.Generic.Runtime.TreeBuilder
- Return a
Translation.Exp
which acquires
the monitor lock of the object specified by the given
expression.
- monitorEnter(TreeFactory, HCodeElement, DerivationGenerator, Translation.Exp) -
Method in class harpoon.Backend.Runtime1.TreeBuilder
-
- monitorEnter(TreeFactory, HCodeElement, DerivationGenerator, Translation.Exp) -
Method in class harpoon.Backend.Runtime2.TreeBuilder
-
- MONITOREXIT - class harpoon.IR.Quads.MONITOREXIT.
MONITOREXIT
releases the monitor lock of a particular
object.- MONITOREXIT -
Static variable in class harpoon.IR.Bytecode.Op
-
- MONITOREXIT -
Static variable in class harpoon.IR.Quads.QuadKind
-
- MONITOREXIT(QuadFactory, HCodeElement, Temp) -
Constructor for class harpoon.IR.Quads.MONITOREXIT
- Creates a
MONITOREXIT
.
- monitorExit(TreeFactory, HCodeElement, DerivationGenerator, Translation.Exp) -
Method in class harpoon.Backend.Generic.Runtime.TreeBuilder
- Return a
Translation.Exp
which releases
the monitor lock of the object specified by the given
expression.
- monitorExit(TreeFactory, HCodeElement, DerivationGenerator, Translation.Exp) -
Method in class harpoon.Backend.Runtime1.TreeBuilder
-
- monitorExit(TreeFactory, HCodeElement, DerivationGenerator, Translation.Exp) -
Method in class harpoon.Backend.Runtime2.TreeBuilder
-
- MONO -
Static variable in class harpoon.Analysis.MetaMethods.GenType
- Monomorphic type.
- MostlyZeroFinder - class harpoon.Analysis.SizeOpt.MostlyZeroFinder.
- The
MostlyZeroFinder
will add counters to find fields
which are mostly zero (or mostly 1, 2, etc). - MostlyZeroFinder(HCodeFactory, ClassHierarchy, Frame) -
Constructor for class harpoon.Analysis.SizeOpt.MostlyZeroFinder
- Creates a
MostlyZeroFinder
using the given
code factory, class hierarchy, and frame.
- MOVE - class harpoon.IR.Quads.MOVE.
MOVE
objects represent an assignment to a compiler temporary.- MOVE - class harpoon.IR.Tree.MOVE.
MOVE
statements assign a value to a location.- MOVE -
Static variable in class harpoon.IR.Quads.QuadKind
-
- MOVE -
Static variable in class harpoon.IR.Tree.TreeKind
-
- MOVE -
Static variable in class harpoon.Tools.PatMat.Sym
-
- move(HMember, HClass) -
Method in class harpoon.ClassFile.Relinker
- Move
HMember
hm
from its declaring
class to some other class, newDestination
.
- MOVE(QuadFactory, HCodeElement, Temp, Temp) -
Constructor for class harpoon.IR.Quads.MOVE
- Creates a
MOVE
from a source and destination
Temp
.
- MOVE(TreeFactory, HCodeElement, Exp, Exp) -
Constructor for class harpoon.IR.Tree.MOVE
- Constructor.
- MoveList - class harpoon.Backend.CSAHack.RegAlloc.MoveList.
-
- MoveList(Node, Node, MoveList) -
Constructor for class harpoon.Backend.CSAHack.RegAlloc.MoveList
-
- moveRelated(AppelRegAllocClasses.Node) -
Method in class harpoon.Analysis.Instr.AppelRegAlloc
-
- moves() -
Method in interface harpoon.Analysis.InterferenceGraph
-
- moves() -
Method in class harpoon.Analysis.Quads.QuadInterferenceGraph
- unimplemented.
- moves() -
Method in class harpoon.Backend.CSAHack.RegAlloc.Liveness
-
- moves() -
Method in class harpoon.Backend.CSAHack.RegAlloc.InterferenceGraph
-
- MRA - class harpoon.Analysis.PreciseGC.MRA.
MRA
is answers the question "which
Temps contain the address of the most
recently allocated object at this program point?"- mra_before(Quad) -
Method in class harpoon.Analysis.PreciseGC.MRA
- Returns a
Tuple
.
- MRA.MRAToken - class harpoon.Analysis.PreciseGC.MRA.MRAToken.
- The
MRAToken
class represents the nodes
on the lattice for the MRA
analysis. - MRA() -
Constructor for class harpoon.Analysis.PreciseGC.MRA
-
- mra(Code) -
Method in class harpoon.Analysis.PreciseGC.MRAFactory
- Returns an
MRA
.
- MRAFactory - class harpoon.Analysis.PreciseGC.MRAFactory.
MRAFactory
generates MRA
s.- MRAFactory(ClassHierarchy, HCodeFactory, Linker, String, int) -
Constructor for class harpoon.Analysis.PreciseGC.MRAFactory
- Creates an
MRAFactory
.
- mrl -
Variable in class harpoon.Backend.Generic.GCInfo.WrappedMachineRegLoc
-
- MUL -
Static variable in class harpoon.IR.Tree.Bop
- Multiplication.
- MUL -
Static variable in class harpoon.Tools.PatMat.Sym
-
- mul2shift(Exp, CONST) -
Static method in class harpoon.Analysis.Tree.AlgebraicSimplification
- Converts an arbitrary multiplication by a positive constant into a
series of shifts, additions, and multiplies.
- MULT -
Static variable in class harpoon.Tools.Annotation.Sym
-
- MULTEQ -
Static variable in class harpoon.Tools.Annotation.Sym
-
- MULTI_CIRCLE -
Static variable in class harpoon.Analysis.Partition.PartitionGraphViewer
-
- MULTIANEWARRAY -
Static variable in class harpoon.IR.Bytecode.Op
-
- MULTIANEWARRAY_QUICK -
Static variable in class harpoon.IR.Bytecode.Op
-
- MultiMap - interface harpoon.Util.Collections.MultiMap.
MultiMap
maps a key to a collection of values.- MultiMap.Factory - class harpoon.Util.Collections.MultiMap.Factory.
MultiMap.Factory
is a MultiMap
generator.- MultiMap.Factory() -
Constructor for class harpoon.Util.Collections.MultiMap.Factory
-
- MultiMapSet - interface harpoon.Util.Collections.MultiMapSet.
- A
MultiMapSet
is a java.util.Set
of
Map.Entry
s which can also be accessed as a
MultiMap
. - multiMapSetFactory(MultiMap.Factory) -
Static method in class harpoon.Util.Collections.Factories
- Returns a
SetFactory
that generates
MultiMapSet
views of MultiMap
s
generated by the given MultiMapFactory
.
- multiply() -
Method in class harpoon.Analysis.LowQuad.Loop.Induction.IntMultAdd
-
- multiply(boolean) -
Method in class harpoon.Analysis.LowQuad.Loop.Induction.IntMultAdd
-
- multiply(int) -
Method in class harpoon.Analysis.LowQuad.Loop.Induction
-
- multiply(int) -
Method in class harpoon.Analysis.LowQuad.Loop.Induction.IntMultAdd
-
- multiply(Temp) -
Method in class harpoon.Analysis.LowQuad.Loop.Induction
-
- MustParamOracle - class harpoon.Analysis.Quads.MustParamOracle.
- A
MustParamOracle
tells you what method variables
*must* contain the values passed in as parameters to the method. - MustParamOracle(HCode) -
Constructor for class harpoon.Analysis.Quads.MustParamOracle
- Creates a
MustParamOracle
which gives you information
on variables in HCode
hc
(which should
be in SSI or SSA form, for best results).
- mutateCodeName(String) -
Method in class harpoon.Analysis.Quads.MemoryOptimization
-
- mutateCodeName(String) -
Method in class harpoon.Analysis.Quads.DispatchTreeTransformation
-
- mutateCodeName(String) -
Method in class harpoon.Analysis.Quads.CoalescingToNoSSA
-
- mutateCodeName(String) -
Method in class harpoon.Analysis.Transactions.SyncTransformer
-
- mutateCodeName(String) -
Method in class harpoon.Analysis.Transformation.MethodSplitter
- Override this method to change the codename which this
MethodMutator
's codefactory reports.
- mutateCodeName(String) -
Method in class harpoon.Analysis.Transformation.MethodMutator
- Override this method to change the codename which this
MethodMutator
's codefactory reports.
- mutateDescriptor(HMethod, MethodSplitter.Token) -
Method in class harpoon.Analysis.PreciseGC.RCTransformer
- Mutated constructors have signatures differing from the
original.
- mutateDescriptor(HMethod, MethodSplitter.Token) -
Method in class harpoon.Analysis.PreciseGC.AllocationHoisting
- Adds parameter to descriptors of mutated methods.
- mutateDescriptor(HMethod, MethodSplitter.Token) -
Method in class harpoon.Analysis.Transactions.SyncTransformer
-
- mutateDescriptor(HMethod, MethodSplitter.Token) -
Method in class harpoon.Analysis.Transformation.MethodSplitter
- Override this method if you want to create mutated methods
with descriptors differing from that of the original method.
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Counters.RuntimeMethodCloner
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.PointerAnalysis.InstrumentAllocs
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.PreciseGC.WriteBarrierQuadPass
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.PreciseGC.WriteBarrierPrePass
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Quads.TypeSwitchRemover
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Quads.Nonvirtualize
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Quads.NewMover
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Quads.MethodTraceFactory
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Quads.MemoryOptimization
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Quads.DispatchTreeTransformation
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Quads.ComponentOfReducer
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Quads.CoalescingToNoSSA
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Quads.ArrayUnroller
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Quads.ArrayInitRemover
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Realtime.QuantaChecker
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Realtime.ClassReplacer
- Make the actual changes to the HCode.
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.RoleInference.RoleInference
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.SizeOpt.SizeCounters
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.SizeOpt.MostlyZeroFinder
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.SizeOpt.FieldReducer
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Transformation.MethodMutator
- Override this method to effect transformations on split
methods.
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Tree.ConstantPropagation
-
- mutateHCode(HCodeAndMaps, MethodSplitter.Token) -
Method in class harpoon.Analysis.PreciseGC.RCTransformer
- Modifies two classes of methods:
- mutates recursive constructors into "creators", methods
that build objects in a bottom-up fashion
- modifies callers of these constructors to call the new
creator methods
- mutateHCode(HCodeAndMaps, MethodSplitter.Token) -
Method in class harpoon.Analysis.PreciseGC.AllocationHoisting
- Hoists allocation out of the split method.
- mutateHCode(HCodeAndMaps, MethodSplitter.Token) -
Method in class harpoon.Analysis.Quads.InitializerTransform
- Mutate a given
HCode
to produce the version
specified by which
.
- mutateHCode(HCodeAndMaps, MethodSplitter.Token) -
Method in class harpoon.Analysis.Transactions.SyncTransformer
-
- mutateHCode(HCodeAndMaps, MethodSplitter.Token) -
Method in class harpoon.Analysis.Transformation.MethodSplitter
- Override this method to effect transformations on split
methods.
- MyAP - class harpoon.Analysis.PointerAnalysis.MyAP.
MyAP
is my own implementation for the
AllocationProperties
.- MyAP(HClass) -
Constructor for class harpoon.Analysis.PointerAnalysis.MyAP
- Creates a
MyAP
.
- MyLowQuadNoSSA - class harpoon.Analysis.LowQuad.Loop.MyLowQuadNoSSA.
MyLowQuadNoSSA
- MyLowQuadSSI - class harpoon.Analysis.LowQuad.Loop.MyLowQuadSSI.
MyLowQuadSSI
- myPrint(PrintWriter, boolean) -
Method in class harpoon.IR.Assem.Code
- Simple wrapper around myPrint passing a nop PrintCallback.
- myPrint(PrintWriter, boolean, boolean, HCode.PrintCallback) -
Method in class harpoon.IR.Assem.Code
- Deprecated. Use Code#myPrint(PrintWriter,boolean,PrintCallback)
- myPrint(PrintWriter, boolean, HCode.PrintCallback) -
Method in class harpoon.IR.Assem.Code
- Displays the assembly instructions of this codeview.
- mySetFactory -
Variable in class harpoon.Analysis.DataFlow.LiveTemps
-
- MZFCompressor - class harpoon.Analysis.SizeOpt.MZFCompressor.
- The
MZFCompressor
class implements a class transformation
aimed at eliminating "mostly-zero" (or "mostly (any constant)")
fields from classes (thus reducing memory consumption). - MZFCompressor(Frame, HCodeFactory, ClassHierarchy, String) -
Constructor for class harpoon.Analysis.SizeOpt.MZFCompressor
- Creates a
MZFCompressor
, using the field profiling
information found in the resource at resourcePath
.
- MZFExternalMap - class harpoon.Runtime.MZFExternalMap.
- The
MZFExternalMap
defines the interface which the
MZFExternalize
code factory (part of
MZFCompressor
) uses to interface to an external
hashmap. - MZFExternalMap() -
Constructor for class harpoon.Runtime.MZFExternalMap
-
sync
is performed on.
this
.
this
.
value
is measuring.
NAME
objects are expressions which stand for symbolic
constants.name_and_type_index
item must be a
valid index into the constant_pool
table of the
parent
.
name_and_type_index
item must be a
valid index into the constant_pool
table of the
parent
.
name_and_type_index
item must be a
valid index into the constant_pool
table of the
parent
.
name_index
item must be a valid
index into the constant_pool
table.
name_index
item must be a valid
index into the constant_pool
table.
name_index
item must be a valid
index into the constant_pool
table.
name_index
must be a valid index
into the constant_pool
table.
name_index
item must be a valid
index into the constant_pool
table of
parent
.
Temp
; scope information
not included.
NameMap
gives a translation from methods, classes,
and fields to unique string labels legal in assembly code.NATIVECALL
objects are statements which stand for
function calls using standard C calling convention.Navigator
interface allows graph algorithms to
detect (and use) the arcs from and to a certain node.this
metamethod.
-
).
Set
containing Loops
that are
nested.
Set
of loops that are nested inside of this loop.
NEW
represents an object creation operation.NEW
object.
NewMover
class moves NEW
operations
as close as possible to the CALL
to their initializers.NewMover
that uses the given
HCodeFactory
hcf
.
null
if there are no more base pointers associated with this derived
pointer.
Instr
to output after
this
.
CFGraphable
if one remains.
Instr
s that may
succeed this one.
Instr
.
i
th successor of this quad.
i
th successor.
node
.
i
th outgoing edge for this quad.
next()
.
this
.
SCComponent
according to the decreasing
topological order
NiftyAllocationStrategy
implements stack- and
thread-clustered-allocation strategies.NiftyAllocationStrategy
.
color
.
Node
is an abstract representation of a node for use
with the Graph object.Node
.
node
.
NodeAlreadyColoredException
NodeAlreadyColoredException
.
NodeAlreadyColoredException
.
node
escapes through.
NodeNotColoredException
NodeNotColoredException
.
NodeNotColoredException
.
NodeNotPresentInGraphException
NodeNotPresentInGraphException
.
NodeNotPresentInGraphException
.
NodeNotRemovedException
NodeNotRemovedException
.
NodeNotRemovedException
.
NodeRepository
NodeRepository
.
this
strongly connected component;
array version - good for iterating over the elements of the SCC.
this
.
this
.
this
strongly connected component
(set version).
w
.
NoFactorySetException
NoFactorySetException
.
NoFactorySetException
.
NoHeapRealtimeThread
is
touching the heap.
NoHeapCheckRemoval
is an interface that all classes that
analyze harpoon.IR.Quads.SET
, harpoon.IR.Quads.ASET
harpoon.IR.Quads.GET
, harpoon.IR.Quads.AGET
for possible removal of checks for heap access in a NoHeapRealtimeThread
should implement.Nonvirtualize
uses a FinalMap
to
change virtual method invocations to non-virtual invocations,
where this is safe.Nonvirtualize
using the given
FinalMap
.
Nonvirtualize
using the given
FinalMap
; the given ClassHierarchy
is used to avoid devirtualizing calls to uncallable methods
(which artificially inflates the class hierarchy size).
NOP
nodes do nothing.NOP
.
NoSuchClassException
is thrown to indicate an
attempt to remove a class from a list which does not contain it,
or a failed attempt to look up a class by name or descriptor.NoSuchClassException
with the
supplied detail message.
NoSuchMemberException
is thrown to indicate an
attempt to remove a member from a class which does not contain it.NoSuchMemberException
with the
supplied detail message.
~
).
sync
.
NullAllocationStrategy
just returns a null pointer
when asked for memory.NullAllocationStrategy
.
NullEnumerator
.
Iterator
over the empty set.
harpoon.Backend.MIPS.Frame.daNum
).
ObjectBuilder
is an implementation of
harpoon.Backend.Generic.Runtime.ObjectBuilder
for the
Runtime1
runtime.RootOracle
allows a transformation to add
fields to java.lang.Object
(or any other
class, really) and provide the initial values for that
field in the various runtime constant objects without
having to directly extend every ObjectInfo
used in this Generic.Runtime
implementation.ObjectBuilder
with a RootOracle
which supplies null
values to any field of
java.lang.Object
(which there usually aren't any of).
ObjectBuilder
.
Translation.Exp
which will create a
object of the given type, with length specified by the
given expression.
ObjectNotModifiableException
ObjectNotModifiableException
.
ObjectNotModifiableException
.
Temp
holding the object reference to
convert.
Temp
to type cast.
Temp
containing the object reference
to convert into a POINTER
.
Temp
type cast by this TYPECAST
.
null
if the SET
is on a static
field, or the Temp
containing the field to set
otherwise.
null
if the field is static.
Temp
with the array reference.
Temp
referencing the array to be
initialized.
Temp
holding the array reference to query.
Temp
.
objectsize
HClass
saves the array type.
t
's assigned
register sequence occupies in the register file.
ODInformation
contains the pieces of information
relative to an on-demand analysis.ODInformation
object.
ODInformation
object, whose precision
is set by its boolean argument.
ODMAInfo
ODMAInfo
.
ODPAMain
is a simple Pointer Analysis top-level class.ODParIntGraph
models a Parallel Interaction Graph data
structure.ODParIntGraph
.
ODPointerAnalysis
is the main class of the Pointer Analysis
package.ODPointerAnalysis
.
Op
class contains constants and tables that we are
likely to find useful when grokking a java bytecode stream.OpClass
represents a class reference operand of a
java bytecode instruction.OpClass
from the CONSTANT_CLASS
at the given index in the constant pool.
Qop
class.
this
.
this
.
Qop
class.
OpConstant
represents a constant operand of a java bytecode
instruction.OpConstant
from a
constant_pool
entry.
OpConstant
with the specified value and type.
OPER
objects represent arithmetic/logical operations,
including mathematical operators such as add and subtract,
conversion operators such as double-to-int, and comparison
operators such as greater than and equals.OPER
objects are expressions which stand for the result
of applying some operator to subexpressions.OPER
.
Operand
represents the operands of a java bytecode
instruction.Temp
s which are the operands
of the operation.
operands
array.
operands
array.
OperVisitor
is a visitor pattern for opcodes of the OPER
quad.OpField
represents a field reference operand of a
java bytecode instruction.OpField
from the CONSTANT_Fieldref
at the given index in the constant pool.
OpLocalVariable
represents an operand of a java bytecode
instruction which indicates a local variable index.OpLocalVariable
given the index of the
local variable referenced.
OpMethod
represents a method reference operand of a
java bytecode instruction.OpMethod
from the CONSTANT_Methodref
or CONSTANT_InterfaceMethodref
at the given index in
the constant pool.
OptimisticGraphColorer
uses a strategy similar to that
of SimpleGraphColorer
, except after removing
all nodes with degree < K (where K is the number of colors
provided), it begins optimistically removing nodes in the hopes
that they will not actually need to be spilled.OptimisticGraphColorer
with the default
second stage selection strategy.
OptimisticGraphColorer
with
selector
as its second stage selection
strategy.
optimize
takes in a HCode
and performs loop optimizations on it.
HCode
.
OptimizedTreeCode
codeview is an optimized,
canonical representation of Tree form.Options
contains the values of the current runtime
environment.ORIGINAL
token represents the original pre-split
version of a method.
CONSTANT_Class_info
pointer to the defining scope for
the inner class.
PrintStream
'out' and dumps
Jasmin formatted assembly code to it.
out
.
out
.
out
.
hm
, declared
in classes which are instances of hc
, which override
hm
.
PACheckRemoval
is a pointer analysis based
implementation of the CheckRemoval
interface.PACheckRemoval
.
PackedClassFieldMap
is a FieldMap
for
non-static fields of a class which attempts to maximally fill holes
in the data structure (even if this means commingling a subclass'
fields with those of its superclass) in order to minimize the
space required by objects.PackedClassFieldMap
.
POINTER
values.
PAEdge
PAEdge
.
PAEdgeSet
PAEscapeFunc
models the escape information.EscapeFunc
.
PairMapEntry
is the easiest implementation of a
Map.Entry
ever: a pair! Basically saves coders the
drugery of writing an inner class at the expense of an import
statement.PairMapEntry
.
PAMain
is a simple Pointer Analysis top-level class.PANode
class models a node for the Pointer Analysis
algorithm.null
value for
node_class
.
PANode
of type type
.
PANodeVisitor
is a wrapper for a function that is
called on a PANode
.PAOFFSET
computes the POINTER
offset
needed to access a given array element.PAOFFSET
representing the POINTER
offset needed to access a given array element.
nt
thread.
hf
will be set to whenever
the given constructor is executed.
Tree.METHOD
.
params
array which associates
Temp
s with formal parameters of a method.
params
array.
params
array.
params
array.
params
array.
params
array.
params
array.
null
for top-level
region).
Loops
that contains this loop.
HClass
.
ParIntGraph
models a Parallel Interaction Graph data
structure.ParIntGraph
.
PARRAY
converts an array object reference into a
POINTER
value that can be used to access array elements.PARRAY
representing a conversion
from an array object reference into a POINTER
that
can be used to reference array elements.
ParseUtil
implements simple parsers for common string
data types.ParseUtil
to indicate an unparsable line in an input file.PASync
models a sync
action.PASync
.
PAThreadMap
implements the parallel thread map
(i.e.PAThreadMap
.
Pattern
PAWorkList
PAWorkList
.
PAWorkset
class tries to formalize the concept
of a workset used in many dataflow analysis.PAWorkStack
PAWorkStack
.
PCALL
objects represent a method pointer dereference and
invocation.PCALL
representing a method pointer dereference
and method invocation.
PCALL
with an empty dst
array
of the proper size and arity.
true
if the two POINTER
values are equal.
true
if the first POINTER
value is greater than the second POINTER
value.
PCONST
is an abstract superclass of the LowQuad
s
that encode symbolic offsets or constants for array elements, fields, and
methods.PCONST
.
WorkSet
(treating it as a Stack
) without removing it
from the set/stack.
Object
in this
with the
highest priority.
PersistentEnvironment
is an Environment
built on a PersistentMap
.PersistentEnvironment
with no mappings.
PersistentEnvironment
with the same
mappings as the given Map
.
PersistentMap
implements a persistent map, based on a
binary search tree.PersistentMap
whose
key objects will all implement java.lang.Comparable
.
PersistentMap
whose
key objects are ordered by the given Comparator
.
PersistentSet
implements a persistent set, based on a
binary search tree.PersistentSet
whose member objects
will all implement java.lang.Comparable
.
PersistentSet
whose member objects
are ordered by the given Comparator
.
PFCONST
computes the POINTER
constant
needed to access a given static field.PFCONST
representing the POINTER
constant needed to access a given static field.
PFIELD
converts an object reference into a
POINTER
value that can be used to access
non-static object fields.PFIELD
representing a conversion
from an object reference into a POINTER
that
can be used to reference non-static object fields.
PFOFFSET
computes the POINTER
offset
needed to access a given non-static field.PFOFFSET
representing the POINTER
offset needed to access a given non-static field.
PGCNiftyAllocationStrategy
uses alloca()
instead of NSTK_alloc
to do stack allocation.PGCNiftyAllocationStrategy
.
PGCNiftyAllocationStrategyWithStats
adds a callback
to properly update statistics after stack allocation.PGCNiftyAllocationStrategyWithStats
.
PGET
represents a POINTER
dereference to
get a field or array element.PGET
representing a pointer dereference and
fetch.
PHI
objects represent blocks of phi functions.PHI
object with the specified arity.
PHI
object representing a block of
phi functions.
Place
determines the proper locations for phi/sigma
functions.Place
.
Temp
t
.
Temp
t
.
HField
hf
.
PMCONST
computes the POINTER
constant
needed to invoke a given non-virtual method.PMCONST
representing the POINTER
constant needed to invoke a given non-virtual method.
PMETHOD
converts an object reference into a
POINTER
value that can be used to invoke
object methods.PMETHOD
representing a conversion from
an object reference into a POINTER
that
can be used to invoke virtual methods.
PMOFFSET
computes the POINTER
offset
needed to invoke a given virtual method.PMOFFSET
representing the POINTER
offset needed to invoke a given virtual method.
POINTER
value (used to compute differences).
t
at the point right before executing instruction q
from the body of meta-method mm
.
t
at the point right before executing instruction q
from the body of meta-method mm
.
PointerAnalysis
is the main class of the Pointer Analysis
package.PointerAnalysis
.
pointerindex
boolean
describes whether
the Temp induction variable is a pointer [true] or an
integer [false].
ArrayList
saves pointer Temp
s
that are added in.
false
if pointers can be represented in
32 bits, or true
otherwise.
Pointer
within the Tree interpreter is changed.PointsToGraph
models the memory, as specified by the
abstraction of the object creation sites.PointsToGraph
.
WorkSet
(treating it as a Stack
) and returns that object
as the value of this function.
POPER
is an extended version of
harpoon.IR.Quads.OPER
, with new opcodes defined in
LQop
.POPER
.
Iterator
that traverses over all
of the blocks generated by this
BasicBlock.Factory
in Postorder (subtrees
first, then root).
PPTR
is an abstract superclass of the LowQuad
s
that convert object references into POINTER
types.PPTR
.
PreciselyTyped
interface allows access to type
information for expressions which have a type which cannot be expressed
by the standard types in the Typed
interface.this
.
CFGraphable
.
HCodeElement
.
this
.
Collection
of all the edges to
this HCodeElement
.
Collection
of all the edges to
this HCodeElement
.
Collection
of all the
HCodeElement
s preceeding hc
.
PredicateWrapper
wraps a predicate on an Object
.Iterator
that traverses over all
of the blocks generated by this
BasicBlock.Factory
in Preorder (root first,
then subtrees).
b
inflicts
upon a
if the two Temp
s interfere.
Instr
that is output prior to
this
.
Instr
s that can precede
this one.
Instr
.
i
th predecessor of this quad.
i
th predecessor.
node
.
i
th incoming edge of this quad.
previous()
.
this
.
SCComponent
according to the
decreasing topological order
Print
pretty-prints Trees.print_collection
.
print_collection
.
this
to
System.out.
String
representing the elements of
collection
in a human readable format.
this
to
pw
.
HCodeElement
is output.
hm
, as constructed by the
code factory hcf
.
hm
, as constructed by the
LBBConverter
hcf
.
HCodeElement
is output.
PrintFactory
allows you to print the code as it's being converted
for debugging purposes only.PrintFactory
that will label the code produced
by parent
with comment
.
CodeGen
.
Tuple
.
this
sync
action
projected through the relation mu
.
Enumeration
of the Quad
s
protected by this HANDLER
.
Quad
s protected by this HANDLER
.
Set
of the Quads
s
protected by this HANDLER
.
MultiMap
backed by mmap
.
PSET
represents a POINTER
dereference to
set a field or array element.PSET
representing a pointer dereference and
store.
Temp
holding the POINTER
value to
dereference and store to.
Temp
holding the POINTER
value to
dereference and fetch.
Pointer
whose type is changed.
Temp
holding the POINTER
value
to dereference.
Temp
holding the POINTER
value
to dereference and fetch.
POINTER
which is to be dereferenced by this
PCALL
.
ptrsign
saves the relative sign.
WorkSet
(treating
it as a Stack
), if it is not already there.
m
to this
CachingCodeFactory
.
PersistantMap
identical to
this one, except it contains a mapping from key
to
value.
- put(Object, Object) -
Method in class harpoon.Util.Collections.PersistentEnvironment
- Associates the specified value with the specified key in this map.
- put(Object, Object) -
Method in interface harpoon.Util.Collections.MultiMap
- Associates the specified value with the specified key in this
map, after removing all old values associated with the key.
- put(Object, Object) -
Method in class harpoon.Util.Collections.MapWrapper
-
- put(Object, Object) -
Method in class harpoon.Util.Collections.LinearMap
-
- put(Object, Object) -
Method in class harpoon.Util.Collections.HashEnvironment
- Associates the specified value with the specified key in this map.
- put(Object, Object) -
Method in class harpoon.Util.Collections.GenericMultiMap
- Associates the specified value with the specified key in this
map.
- put(Object, Object) -
Method in class harpoon.Util.Collections.GenericInvertibleMultiMap
-
- put(Object, Object) -
Method in class harpoon.Util.Collections.GenericInvertibleMap
-
- put(Object, Object) -
Method in class harpoon.Util.DataStructs.LightMap
- Associates the specified value with the specified key in this map.
- putAll(Map) -
Method in class harpoon.Util.Collections.UnmodifiableMultiMap
- Throws UnsupportedOperationException.
- putAll(Map) -
Method in interface harpoon.Util.Collections.MultiMap
- Copies the mappings from the specified map to this
map, after removing all old values associated with the key.
- putAll(Map) -
Method in class harpoon.Util.Collections.MapWrapper
-
- putAll(Map) -
Method in class harpoon.Util.Collections.GenericMultiMap
- Copies the mappings from the specified map to this
map.
- putAll(Map) -
Method in class harpoon.Util.Collections.GenericInvertibleMultiMap
-
- putAll(Map) -
Method in class harpoon.Util.Collections.GenericInvertibleMap
-
- putAll(Map) -
Method in class harpoon.Util.DataStructs.LightMap
- Copies all of the mappings from the specified map to this map.
- putDerivation(Exp, Derivation.DList) -
Method in class harpoon.IR.Tree.DerivationGenerator
- Add a mapping from the given
Tree.Exp
exp
to the given Derivation.DList
derivation
.
- putDerivation(HCodeElement, Temp, Derivation.DList) -
Method in class harpoon.IR.LowQuad.DerivationMap
- Add a mapping from the given
Temp
t
defined at the given HCodeElement
hce
to the given Derivation.DList
derivation
to this DerivationMap
.
- PUTFIELD -
Static variable in class harpoon.IR.Bytecode.Op
-
- PUTFIELD_QUICK -
Static variable in class harpoon.IR.Bytecode.Op
-
- PUTFIELD_QUICK_W -
Static variable in class harpoon.IR.Bytecode.Op
-
- PUTFIELD2_QUICK -
Static variable in class harpoon.IR.Bytecode.Op
-
- PUTSTATIC -
Static variable in class harpoon.IR.Bytecode.Op
-
- PUTSTATIC_QUICK -
Static variable in class harpoon.IR.Bytecode.Op
-
- PUTSTATIC2_QUICK -
Static variable in class harpoon.IR.Bytecode.Op
-
- putType(Exp, HClass) -
Method in class harpoon.IR.Tree.DerivationGenerator
- Add a mapping from the given
Tree.Exp
exp
to the given HClass
type
to this
DerivationGenerator
.
- putType(HCodeElement, Temp, HClass) -
Method in class harpoon.IR.LowQuad.DerivationMap
- Add a mapping from the given
Temp
t
defined at the given HCodeElement
hce
to the given HClass
type
to this
DerivationMap
.
- putTypeAndTemp(Exp, HClass, Temp) -
Method in class harpoon.IR.Tree.DerivationGenerator
- Add a mapping from the given
Tree.Exp
exp
to the given HClass
type
to the
DerivationGenerator
, indicating that this value lives
in Temp
temp
.
Qop
is an enumerated type for the various kinds of
OPER
opcodes.Quad
is the base class for the quadruple representation.prev_arity
input edges and
next_arity
output edges.
QuadClassHierarchy
computes a ClassHierarchy
of classes possibly usable starting from some root method using
quad form.ClassHierarchy
of all classes
reachable/usable from HMethod
s in the roots
Collection
.
QuadCounter
is an harpoon.ClassFile.HCodeFactory
which counts the number of quads that have been convert
ed
thus far.QuadCounter
with hcf
as its
parent.
QuadFactory
is responsible for assigning unique numbers
to the Quad
s in a method, and for maintaining some
method-wide information (such as a pointer to the parent
HCode
).QuadInterferenceGraph
constructs a variable-liveness
interference graph from a Quad.Code
.QuadInterferenceGraph
.
QuadKind
is an enumerated type for the various kinds of
Quad
s.QuadLiveness
performs live variable analysis for a given
HCode
.QuadLiveness
.
QuadNoSSA
is a code view with explicit exception handling.Quads.QuadRSSx
is a code view in relaxed SSI form.Quads.QuadSSA
is a code view in SSA form.Code
object from a bytecode object.
Quads.QuadSSI
is a code view in SSI form.Code
object from a bytecode object.
QuadVisitor
is a Design Pattern, courtesy of Martin.QuadWithTry
is a code view with explicit try-block
handlers.AllocationProperties
object for the given
allocation site.
AllocationProperties
for the given
allocationSite
.
allocationSite
.
allocationSite
.
rank
.
Raw
prints out the raw data structures from the
class file corresponding to the class name given on the
command-line.RCTransformer
transforms recursive constructors
that build their data structures in a top-down fashion into
methods that build their data structures in a bottom-up fashion.RCTransformer
.
Reachability
roots
through paths that use inside and outside edges.
ReachingDefs
defines an abstract class for
analyzing reaching definitions.ReachingDefs
is a ForwardDataFlowBasicBlockVisitor
for performing reaching definitions analysis on any IR that implements
HCodeElement
, CFGraphable
, and
UseDefable
.ReachingDefs
object for the provided
HCode
.
HCodeElement
s providing definitions
of Temp
t
which reach
HCodeElement
hce
.
HCodeElement
s providing definitions
of Temp
t
which reach
HCodeElement
hce
.
HCodeElement
s providing definitions
of Temp
t
which reach
HCodeElement
hce
.
HCodeElement
s providing definitions
of Temp
t
which reach
HCodeElement
hce
.
ReachingDefsAltImpl
ReachingDefsImpl
object for the
provided HCode
using CFGrapher.DEFAULT
and
UseDefer.DEFAULT
.
ReachingDefsImpl
object for the
provided HCode
for an IR implementing
UseDefable
using the provided CFGrapher
.
ReachingDefsImpl
object for the
provided HCode
using the provided
CFGrapher
and UseDefer
.
ReachingDefsCachingImpl
is an extension of
ReachingDefsImpl
that keeps a BasicBlock local cache
mapping Temp:t -> HCodeElement:h -> Set:s where s is the result of
calling reachingDefs(h, t).ReachingDefsCachingImpl
.
ReachingDefsCachingImpl
.
ReachingDefsCachingImpl
.
ReachingDefsImpl
defines an implementation
for analyzing reaching definitions.ReachingDefsImpl
object for the
provided HCode
using CFGrapher.DEFAULT
.
ReachingDefsImpl
object for the
provided HCode
for an IR implementing
UseDefable
using the provided CFGrapher
.
ReachingDefsImpl
object for the
provided HCode
using the provided
CFGrapher
and UseDefer
.
ReachingHCodeElements
is an extension of
ReachingDefs
for performing reaching definitions analysis on
HCodeElements
s.ReachingHCodeElements
for
the basic blocks in the supplied BasicBlock.Factory
.
ReachingHCodeElements
for
the basic blocks in the supplied BasicBlock.Factory
.
Token
s
are still singletons after deserialization.
StringParser
on any other lines.
DataInputStream
superclass.
Realtime
is the top-level access point for the rest of the
Harpoon compiler to provide support for the Realtime Java MemoryArea
extensions described in the
Realtime Java Specification and there's also a
JavaDoc version.RealtimeAllocationStrategy
makes all memory allocations to go through
RTJ_malloc
.RealtimeAllocationStrategy
.
RealtimeRuntime
is a trivial extension of
harpoon.Backend.Runtime2.Runtime
that allows constants
to be tagged with an ImmortalMemory and emits extra const char* data
for debugging purposes when Realtime.DEBUG_REF is turned on.RedBlackTree
is a BinaryTree
that uses
red-black properties to maintain a balanced form.RBNode
is an element of this tree.Translation.Exp
representing an
comparison between expressions evaluating to two references,
refLeft
and refRight
.
ReferenceUnique
is a property indicating that, for
all instances of a class, (a==b)==(a.equals(b))
.RegAlloc
performs Register Allocation for a set of
Instr
s in a Backend.Generic.Code
.IntermediateCode
is a code which has been
register allocated but the architecture-specific spill
instructions and method prologue/epilogue have not been
inserted yet.IntermediateCode
s.RegAlloc
usage in loading registers.RegAlloc
usage in spilling registers.RegAlloc
.
RegAllocOpts
encapsulates a set of modifications to
how register allocation will be performed on a particular set of
methods.RegAllocOpts
.
Map
of live derived
pointers in WrappedMachineRegLoc
s to the
derivation information in the form of DLoc
s
for that GC point
RegFileInfo
defines an interface that general program
analyses can call to find out architecture specific information
about the target machine's register file.RegFileInfo
encapsulates information about the
MIPS register set.RegFileInfo
contains architecture specific information
about the registers for the Sparc architecture.RegFileInfo
encapsulates information about the
StrongARM register set.StackOffsetLoc
and
MachineRegLoc
.Temp
s.Temp
s are appropriate for spilling in order to
allocate space for another Temp
.Temp
s.Temp
x DefPoint) ->
Set
of CommonLoc
.RegFileInfo
.
RegFileInfo
.
RegFileInfo
.
this
in the register file.
MachineRegLoc
in the register file.
pseudoReg
has been assigned to some
registers in i
.
Registration
takes care of registering 'well-known'
intermediate representations.RegUseDefer
performs a Temp -> Register mapping on
Backend Codes.RegUseDefer
.
Relation
is a mathematical relation, accepting one to many
and many to one mappings.RelationEntryVisitor
is a wrapper for a function that is
called on a relation entry of the form <key,value>
.RelationImpl
is a heavy-weight implementation of the
Relation
interface: it is basically a Hashtable from keys
to HashSet's of values.Relation
.
oldClass
with
references to newClass
, which may or may not have
the same name.
Relinker
object is a Linker
where one
can globally replace references to a certain class with references
to another, different, class.Relinker
.
this
from its current place in the
instruction layout.
UnsupportedOperationException
.
UnsupportedOperationException
.
Tree.Exp
.
Temp
defined at the given HCodeElement
.
FOOTER
by replacing
the footer.
hole
from all the sets of
callees that may contain it.
PersistentSet
identical to this one,
except that it does not contain element
.
PersistentMap
identical to this one,
except that it does not contain a mapping for key
.
key
.
key
and
value
.
PANode
s that appear in set
from this
points-to graph.
nodes
from this
graph.
PANode
s that appear in set
from this
thread map.
PANode
s that appear in set
from this
object.
nodes
from this
graph.
Stm
from the tree in which it
resides.
key
to any value in values
.
key
to any value in values
.
key
and
any element from values
.
edges
.
ld
actions
using the edges from edges
.
this
parallel interaction graph by removing the
loads that don't escape anywhere (and hence, don't represent any
object).
this
parallel interaction graph by removing the
loads that don't escape anywhere (and hence, don't represent any
object).
key
.
predicate.check()
.
addMethodHole
good_holes
are unharmful
to the specific application that uses the pointer analysis.
m
from the field.
addNodeHole
esc(n) = esc(n) - {n_hole}
for all n
.
nodes
.
nodes
.
predicate.check()
.
predicate.check()
.
DList
with the Temp
s
renamed by the supplied mapping
Instr
identical to the receiver, but
with all Temp
s renamed according to the given
mappings.
Quad
identical to the receiver, but
with all Temp
s renamed according to a mapping.
Instr
identical to the receiver, but
with all Temp
s renamed according to the given
mappings.
Instr
identical to the receiver, but
with all Temp
s renamed according to the given
mappings.
Quad
identical to the receiver, but
with all Temp
s renamed according to a mapping.
this
with a new tree.
oldi
in the Instruction Stream with
newis
.
System.err
, using reflection
to discover all fields starting with "COUNTER_".
MethodHoles
given in argument.
FOOTER
by replacing it.
this
into appropriate offsets
from the Stack Pointer in the Memory.
this
matches.
OPER
.
OPER
.
key
to any value not in values
.
key
to any value not in values
.
Temp
which will get any exception thrown
by the called method, or null
if exceptions are
not caught.
Temp
which will get any exception thrown
by the called method, or null
if exceptions are
not caught.
RETURN
objects indicate a method return, with an
optional return value.RETURN
objects are used to represent a return from
a method body.RETURN
representing a method return.
null
for void
methods.
null
for void
methods.
Temp
which will hold the return value of
the method, or the value null
if the method returns
no value.
Temp
which holds the method return value,
or returns null
if the method returns no value.
Temp
which will hold the return value of
the method, or the value null
if the method returns
no value.
ReverseEnumerator
of Enumeration
e
.
ReverseIterator
iterates through an Iterator
in reverse order.ReverseIterator
of Iterator
it
.
this
relation and store the result into
the relation result
.
this
.
RoleInference
RSSxToNoSSA
converts "relaxed-ssx" form into quads without
phi or sigma functions.RSSxToNoSSA
.
Run
invokes the interpreter.Generic.Runtime
provides runtime-specific
information to the backend.Runtime1.Runtime
is a no-frills implementation of the runtime
abstract class.Runtime2.Runtime
is a no-frills implementation of the runtime
abstract class.ObjectBuilder
constructs data tables in the
IR.Tree
form to represent static objects which may
be needed by the runtime---primarily string constant objects.TreeBuilder
constructs bits of code in the
IR.Tree
form to handle various runtime-dependent
tasks---primarily method and field access.Runtime1.Runtime
.
Runtime1.Runtime
.
Set
of HMethod
s
and HClass
es which are referenced /
callable by code in the runtime implementation (and should
therefore be included in every class hierarchy).
RuntimeInformation
is an abstract encapsulation of
analysis information about native methods as executed by
a particular runtime system.RuntimeInformation
RuntimeInformation
.
RuntimeMethodCloner
creates 'shadow' copies of all
non-virtual methods called in harpoon.Runtime.Counters
and places them in the Counters
class.RuntimeMethodCloner
.
SAMain
is a program to compile java classes to some
approximation of StrongARM assembly.SCCAnalysis
implements Sparse Conditional Constant Propagation,
with extensions to allow type and bitwidth analysis.SCC
, and uses UseDef
for the
UseDefMap
.
SCC
.
SCCBBFactory
converts the code of a method into the
topollogically sorted component graph of BasicBlock
s.SCCBBFactory
.
SCCLBBFactory
computes the topologically sorted component
graph of the light basic blocks containing the code of a method.SCCLBBFactory
.
SCComponent
models a Strongly connected component \
of a graph.harpoon.Util.Graphs.Navigator
.SCCOptimize
optimizes the code after SCCAnalysis
.SCCOptimize
.
SCCTopSortedGraph
represents a
graph of strongly connected components topologically sorted in decreasing
order.Interval
in this
which
overlaps the bounds defined by the argument interval
i
, or null
if no such interval
exists.
SEGMENT
class is used to mark the beginning of a new
section of memory.SEGMENT
precedes.
selected_keys
.
which
.
PAEscapeFunc
containing escape information
only about the nodes from the set remaining_nodes
.
SEQ
evaluates the left statement followed by the right
statement.SerializableCodeFactory
is an HCodeFactory
that implements java.io.Serializable
.SESE
computes nested single-entry single-exit regions
from a cycle-equivalency set.SESE.Region
represents a single-entry single-exit
(SESE) Region, as computed by the SESE
object.SESE
using a CycleEq
.
SET
represents field assignment-to operations.a-b
.
this
contains
type
.
UnsupportedOperationException
.
callees
to the precedence relation of the
edge from head
to tail
via the field
f
.
SET
representing a field assignment
operation.
this
contains all five basic
Types, { INT, LONG, FLOAT, DOUBLE, POINTER }.
AllocationInformation
for this codeview.
CallGraph
to use for this
Generic.Runtime
.
CallGraph
to use for this
Generic.Frame
.
ClassHierarchy
to use for this
Generic.Runtime
.
ClassHierarchy
to use for this
Generic.Frame
.
n
.
n
.
co
.
Derivation
for
this LowQuad.Code
.
index
of this vector
to be the specified object.
ESEQ
.
SetFactory
is a Set
generator.SetFactory
.
this
.
SetHClass
represents concrete type.Map.Entry
to the given newkey
.
m
.
this
contains
a signed, specific precise type value
CJUMP
.
n
.
type
.
i
-th argument of this
meta-method.
SetTypeMap
is a mapping from temporaries to their concrete types,
i.e. the sets of all exact classes whose
instances the temporary may hold during execution.this
contains
an unsigned, specific precise type value
harpoon.ClassFile.HCodeFactory
.
java.lang.Object
.
SetWrapper
is analogous to
CollectionWrapper
, specialized for Set
s.SetWrapper
backed by set
.
HClass
object representing the primitive type short.
ar2
to this
:
newly added stuff and removed stuff.
es_old
to
es_new
.
SIGMA
functions are added where control flow splits.SIGMA
representing a block of sigma
functions.
SIGMA
object with the specified arity.
SimpleCheckRemoval
is the simplest implementation of
the interface CheckRemoval
: it just keeps all the
checks!SimpleCheckRemoval
.
SimpleConstMap
is a very simple implementation of
ConstMap
that reports whether a given
Temp
is defined by a CONST
quad.SimpleConstMap
which provides information
about HCode
hc
.
SimpleGraphColorer
uses the simple but effective graph
coloring strategy of progressively removing nodes with degree less
than K, (where K is the number of colors provided).Simplification
is a general-purpose simplification engine
for trees.root
, using the
specified set of simplification rules.
DefaultAllocationInformation
object.
List
of one element.
SingletonEnumerator
which enumerates the
single value o
.
Iterator
over a singleton set.
BitString
to represent bit values.
PersistentSet
.
PersistentMap
.
Heap
.
this
strongly connected
component.
SizeCounters
code factory adds counters for
various allocation properties, to aid in determining the
effectiveness of the various size optimizations in this
package.SizeCounters
.
Sizer
computes the sizes of all the methods used in
a given program.Region
.
SmallMethodInliner
will inline small methods until
the code is bloated by the specified amount.SmallMethodInliner
.
SmartCallGraph
SmartCallGraph
.
this
system of inclusion constraints.
Solver
contains static methods to find the fixed point
of a set of data-flow equations.SortedClassFieldMap
is an extension of
ClassFieldMap
which sorts object fields to
minimize "holes" between fields.SortedClassFieldMap
.
set
.
SortedMapComparator
compares two sorted maps
entry-by-entry (treating the map as a sorted pair list).SortedMapComparator
which compares
entries in the order defined by the SortedMap
and
compares keys before values.
SortedMapComparator
which compares
entries in the order defined by the SortedMap
and compares keys (using keyComparator
) before values
(using valueComparator
).
sourcefile_index
item must be a
valid index into the constant_pool
table.
SpaceHeavyLiveTemps
is an extension of
LiveTemps
that keeps ALL of the results of the queries
that it has calculated alive.SpaceHeavyLiveTemps
.
SPAllocationStrategy
implements a "semi-precise"
allocation strategy by providing the BDW collector with more
precise information about pointer locations.SPAllocationStrategy
.
SparseGraph
is an implementation of a
ColorableGraph
object.SparseGraph
.
SparseNode
is an extension of a ColorableNode for
use with the SparseGraph object.SparseNode
.
this
will target.
Spec
represents the parsed specification of a set of
Instruction Patterns for a target backend .Rule
.Spec.Detail
that requests an extra
temporary register for the use of the action clause.Spec.Detail
s in this Spec
.Spec.Detail
that stores a
predicate_string
which is a piece of Java code
that decides if a particular Spec.Rule
can be
applied.Spec.DetailPredicate
.
Spec.Detail
s
and performing some action depending on the type of
Spec.Detail
visited.Spec.Detail
that stores a
(name,weight) pair.Spec.DetailWeight
.
Spec.Exp
that represents a Binary
Operation in the code.Spec.ExpBinop
that operates on
expressions of types
.
Spec.Exp
that represents a Constant
value in the code.Spec.ExpConst
.
Spec.Exp
that represents an
Identifier in the code.Spec.ExpId
around
id
.
Spec.Exp
s in a given Spec.Exp
or
Spec.Stm
.Spec.Exp
that represents a Memory
Access in the code (could be either Load or Store;
Context-Sensitive).Spec.ExpMem
.
Spec.Exp
that represents a symbolic
constant.Spec.ExpName
representing
name
.
Spec.Exp
that represents a Temporary
value in the code.Spec.ExpTemp
.
Spec.Exp
that represents a Unary
operation.Spec.Exp
s
and performing some action depending on the type of
Spec.Exp
visited.String
s in this Spec
.Spec.Leaf
which represents an
Identifier.Spec.LeafId
.
Spec.Leaf
representing a null constant.Spec.LeafNull
.
Spec.Leaf
which represents a
explicit number in the specification.Spec.LeafNumber
.
Spec.Leaf
representing an opcode
for Uop
and/or Bop
.Spec.LeafOp
.
Spec.Leaf
which represents a
segment type in the specification.Spec.LeafSegType
.
Spec.Leaf
objects
and performing some action depending on the type of
Spec.Leaf
visited.Spec.Rule
.
Spec.Rule
that also contains a
Spec.Exp
to match Tree
expressions
and the identifier for the result that this
produces.Spec.RuleExp
.
Spec.Rule
s in this Spec
.Spec.Rule
that also contains a
Spec.Stm
to match Tree
statements.Spec.RuleStm
.
Spec.Rule
s
and performing some action depending on the type of
Spec.Rule
visited.Spec.Stm
representing an alignment
request.Spec.StmSegment
.
Spec.Stm
that represents a call to a
procedure.Spec.StmCall
.
Spec.Stm
representing a conditional
branch.Spec.StmCjump
.
Spec.Stm
representing a raw datum in
memory.Spec.StmData
.
Spec.Stm
representing an expression
which is evaluated for its side effects (i.e.Spec.StmExp
.
Spec.Stm
representing an
unconditional branch.Spec.StmJump
.
Spec.Stm
representing a label which
is the target of a branch or call.Spec.StmLabel
.
Spec.Stm
representing a method header.Spec.StmMethod
.
Spec.Stm
representing an expression
which moves a value from one place to another.Spec.StmMove
.
Spec.Stm
representing an expression
which is evaluated for its side effects (i.e.Spec.StmNativeCall
.
Spec.Stm
representing an expression
which is evaluated for its side effects (i.e.Spec.StmReturn
.
Spec.Stm
representing a change of
output segment.Spec.StmSegment
.
Spec.Stm
representing a sequence of
statements to be executed in order.Spec.StmSeq
.
Spec.Stm
representing a operation to
throw an exception.Spec.StmThrow
.
Spec.Stm
s
and performing some action depending on the type of
Spec.Stm
visited.Spec.TypeSet
.
Spec.TypeSet
with type t
.
Spec.TypeSet
with the same
contents as the supplied Spec.TypeSet
.
Spec
.
value
on the given edge.
Temp
Tvalue
on the given edge.
Temp
containing the desired new value of the
field or element.
Temp
containing the desired new value of the field.
Temp
.
Temp
to evaluate.
Temp
holding the desired new value for
the dereference field or element.
Temp
containing the desired new value
of the field.
Temp
.
Temp
to test.
Temp
holding the new value for the array
element.
nSigma
'th sigma function in
the block.
nPhi
'th
phi function in the block.
nParam
'th argument of the
nPhi
'th phi function in the block.
SSIRename
is a new, improved, fast SSI-renaming
algorithm.SSIStats
is a class to provide counts of uses, definitions
and variables in plain, SSA, and SSI forms.SSIStats
.
SSIToSSA
renames variables to eliminate sigma functions
in an SSI-form codeview, yielding an SSA codeview.nqf
.
SSIToSSAMap
allows you to look at an SSI
representation "with glasses on" so that it appears as SSA.SSIToSSAMap
for the HCode
hc
.
SSxReachingDefsImpl
is a ReachingDefs
implementation that works on codeviews in SSA or SSI form.SSxReachingDefs
using the default
UseDefer
.
SSxReachingDefs
for hc
using the specified UseDefer
.
STACK_ALLOCATE_ALWAYS
.
STACK_ALLOCATE_NOT_IN_LOOPS
.
Map
of live derived
pointers in StackOffsetLoc
s to the
derivation information in the form of DLoc
s
for that GC point
StackOffsetLoc
.
code
array in the closed interval
[start_pc, start_pc + length]
.
start_pc
item must indicate the
index into the code
array at which the code for a
new line in the original Java source file begins.
start_pc
and
end_pc
indicate the ranges in the code
array at which the exception handler is active.
List
for the
HCodeElement
s within this
.
this
.
Stm
objects are statements which perform side effects and
control flow.StmList
s for singly-linked lists of Stm
s.string_index
item must be a valid
index into the constant_pool
table.
Translation.Exp
which represents
a reference to a string constant.
StringPointer
class represents a pointer to an
string constant.StubCode
is used to generate non-canonical tree code
stubs for native methods.StubCode
.
group
.
this
.
CFGraphable
.
HCodeElement
.
this
.
Collection
of all the edges from
this HCodeElement
.
Collection
of all the edges from
this HCodeElement
.
Collection
of all the
HCodeElement
succeeding hc
.
regfile
to find free registers that
t
can be assigned to.
super_class
item
either must be zero or must be a valid index into the
constant_pool
table.
CONSTANT_Class_info
entry in the
constant_pool
corresponding to the value of
super_class
, or null
if
super_class
== 0.
HMethod
and returns an HMethod
that is to be called following the first method is called.
a
and b
within this
.
HMethod
and returns an HMethod
that is to be called following the first method is called.
SWITCH
represents a switch construct.SWITCH
operation.
SyncElimination
implements synchronization elimination
based on the results of pointer analysis.CollectionFactory
that generates
synchronized (thread-safe) Collection
s.
ListFactory
that generates synchronized
(thread-safe) List
s.
MapFactory
that generates synchronized
(thread-safe) Map
s.
SetFactory
that generates synchronized
(thread-safe) Set
s.
SyncTransformer
transforms synchronized code to
atomic transactions.SyncTransformer
with no safe methods.
SyncTransformer
with the specified safe
method set.
SyncTransformer
with a safe method set loaded
from the specified resource name.
Temp
which this TEMP
refers to.
Temp
class represents a temporary
variable.TEMP
objects are expressions which stand for a
value in a virtual register.TempBuilder
defines an interface that general program
transformations can call to generate data structures to represent
Temp
s.TempBuilder
for MIPS.TempBuilder
for creating Temps for the Sparc architecture,
and providing an interface for querying whether these Temps require
two words of storage or use floating point registers.TempBuilder
for StrongARM.TempBuilder
.
TempBuilder
.
TempBuilder
.
TempChain
needs to be documented.TempChain
.
TempFactory
assigns unique identifiers to
Temp
s within a given scope.TempFactory
to use for creating
Temp
s which are used as arguments to Instr
s
generated by this factory.
TempFactory
to use for Temp
arguments to Quad
s generated by this factory.
TempFactory
to use for Temp
arguments to Exp
s and Stm
s generated by
this factory.
TempFactory
with the given scope.
TempInfo
TempInstrPair
is an immutable data structure that
associates an Instr
with a Temp
.TempMap
maps one Temp
to another
Temp
.Temp
s to
newly-cloned Temp
s.
Temp
.
Temp
from the new_tf
TempFactory
that corresponds to the specified
Temp
t
from the old_tf
TempFactory
, creating it if necessary.
TempVisitor
is an extension of
TempVisitor
for handling extensions of
Temp
local to the MIPS backend.TempVisitor
is an extension of
TempVisitor
for handling extensions of
Temp
local to the StrongARM backend.Temp
tested by this CJMP
.
TestMemOpt
is a simple tester for the classes from
harpoon.Analysis.MemOpt
.testOPER
gives the OPER
containing the
for loop test condition.
Run
invokes the interpreter.testtype
tells the type of test used.
this_class
item must be a valid
index into the constant_pool
table.
CONSTANT_Class_info
entry in the
constant_pool
corresponding to the value of
this_class
.
ThreadInliner
hm
.
hm
.
THROW
represents a throw
statement.THROW
objects are used to represent a thrown exception.THROW
representing a exception
throw statement.
Temp
containing the exception object to
throw.
Timer
keeps track of how much time accumulates between
successive calls to start and stop.HCodeEdge
.
HCodeEdge
.
instr
can be safely eliminated from output.
instr
.
ToAsync
ToAsync
.
ToCanonicalTree
class translates tree code to
canonical tree code (no ESEQ).HCodeEdge
.
LabelList
to a java.util.List
.
ToNoSSA
class implements the translation between SSA
and No-SSA form.Region
tree.
root
in decreasing topological order.
SCComponent
s from roots
in decreasing
topological order.
list
.
this
FCFGBasicBlock
.
toString
returns a string representation of the
for loop.
DList
.
String
representation
of the Token
.
QuadCounter
.
HMethod
.
HField
.
HCode
.
InstrFactory
.
Instr
.
Quad
.
QuadFactory
.
Quad
.
Quad
.
Quad
.
Quad
.
DEBUG
quad.
TreeFactory
.
Tree
.
UndefinedPointer
.
InterfaceListPointer
.
TempFactory
Tuple
.
Heap
.
this
variable:
\quot;Vid" where id is a unique integer
id.
this
set of atoms:
simply the string representation of the underlying
string.
Qop
value to a descriptive
string.
Uop
value to
a human-readable string.
Bop
value to a human-readable
string.
MetaMethod
s.
PreciselyTyped
expression.
TransactionAbortException
is thrown to indicate
the forced-suicide of a transaction.TransactionAbortException
that will
abort all parent subtransactions up to that specified by
abortUpTo
.
Derivation
to another, using
an appropriate TempMap
.
TempMap
and old
AllocationInformation
.
Translation
is an empty class wrapper for various
special context-sensitive Tree.Exp
wrappers.Translation.Cx
abstract class specifies how to
evaluate a conditional as an expression or as a side-effects-only
statement.Translation.Ex
class is a Translation.Exp
representing a value expression.Translation.Exp
class represents an expression
that might be used in several different ways: as a value,
as a branch condition, or as code to be executed for side-effects
only.Translation.Nx
class is a Translation.Exp
representing a statement.Tree
is the base class for the tree representation.Runtime1.TreeBuilder
is an implementation of
Generic.Runtime.TreeBuilder
which creates
accessor expressions for the Runtime1
runtime.Runtime2.TreeBuilder
is an implementation of
Generic.Runtime.TreeBuilder
which creates
accessor expressions for the Runtime1
runtime.HCodeFactory
that will clean up the
tree form of the transformed code by performing some optimizations
which can't be represented in quad form.
HCodeFactory
that will clean up the
tree form of the transformed code by performing some optimizations
which can't be represented in quad form.
HCodeFactory
that will clean up the
tree form of the transformed code by performing some optimizations
which can't be represented in quad form.
TreeDerivation
provides a means to access type and
derivation information for any Tree.Exp
in a code
representation.TreeFactory
is responsible for assigning unique numbers
to the Tree
Exp
s and Stm
s in
a method, and for maintaining method-wide information (a pointer to
the parent HCode
, a pointer to a
harpoon.Backend.Generic.Frame
, etc.).TreeFolding
class performs tree folding on a
tree code in canonical form.TreeFolding
object for the
code
.
TreeKind
is an enumerated type for the various kinds of
Tree
s.SetFactory
that generates TreeSet
s.
QuadSolver
class, used to
solve data flow equations (baby).TreeToC
converts Tree form to C code (used as a
"portable assembly language").TreeToC
.
TreeUseDefer
implements the Properties.UseDefer
interface for non-SEQ
Stm
s of a tree.UseDefer
.
TreeVerifyingVisitor
is a generic Tree Visitor for
verifying particular properties about the Tree Intermediate
Representation for a given Tree.TreeVerifyingVisitor
.
TreeVisitor
is a Design Pattern, courtesy of Martin.this
action.
this
node for the
thread body (ie the run()
method) run
.
Tuple
is an ordered list of objects that works
properly in Hashtables & etc.Tuple
.
Comparable
Tuple
which will use
the specified Comparator
to do object comparisons.
TwoWordTemp
TwoWordTemp
.
Temp
expression.
CONST
expression.
Type
enumerates the possible Tree expression types.int
identifying the TYPE that this
unary operation returns.
TYPECAST
performs a typecast on a given variable.TYPECAST
representing a type cast.
Typed
interface allows access to type information for
Exp
s (including
TEMP
, MEM
, CONST
,
OPER
, and UNOP
) and the Stm
s
THROW
, RETURN
, and MOVE
.TypeInference
is a very simple type inference module.TypeInference
.
TypeInfo
is a simple type analysis tool for quad-ssi form.TypeInfo
analyzer for the specified
HCode
, which must be in quad-ssi form.
TypeInfo
analyzer for the specified
HCode
, which must be in quad-ssi form.
TypeInfo
analyzer for the specified
HCode
, which must be in quad-ssi form.
TypeMap
is a mapping from temporaries to their types.TypeNotKnownException
is thrown to indicate that
the TypeMap
does not have type information for the
specified Temp
in the given HCodeElement
.exp
.
t
, as defined
at the definition point hce
.
Temp
t
in
HMethod
m
.
Temp
t
in
HMethod
m
.
Temp
t
in
HMethod
m
.
TypeMapProxy
implements a TypeMap
for
a cloned HCode
given the HCodeAndMaps
which
specifies its relationship to an HCode
for which a
TypeMap
is known.TypeMapProxy
.
this
operates on.
value
may take.
addr
may be.
this
may take.
this
operates on.
src
and dst
may be (they will always be the same type).
retval
may be.
PrintTypes
TYPESWITCH
represents a multiple-way branch dependent on
the class type of the argument.TYPESWITCH
operation.
TypeSwitchRemover
converts TYPESWITCH
quads
into chains of INSTANCEOF
and CJMP
quads.TypeSwitchRemover
.
UComp
is an universal comparator, which compares any two
objecs by simply compraing their string representation.UnableToColorGraph
is a control-flow construct for
indicating the provided Graph Coloring algorithm failed to color a
given graph.UncolorableGraphException
.
UncolorableGraphException
.
UnboundedGraphColorer
uses the graph coloring strategy
provided by another GraphColorer
to search for a near
minimum number of colors required.UnboundedGraphColorer
.
UndefinedPointer
class represents a pointer to a
value for which the type is not known.UndefinedRef
is a reference of an unknown typeUnfeasible
is an exception that is thrown when a
system of inclusion constraints is unfeasible.Unfeasible
.
Heap
into this Heap
.
o1
and
o2
, say S1 and S2, into a new set that is the
union of these two sets.
this
PAEscapeFunc
with e2
.
this
relation with a new one.
t1
and t2
.
UniqueName
contains methods to create unique class,
field, or method names.UniqueStack
class represents a last-in-first-out
stack of unique objects.UniqueStack
.
UniqueStack
containing the elements of
the specified Collection
, in the order they are returned
by the collection's iterator in LIFO order.
Collection
, in the order they are returned by the
collection's iterator.
TempMapUnmodifiableIterator - class harpoon.Util.UnmodifiableIterator.UnmodifiableIterator
is an abstract superclass to save
you the trouble of implementing the remove()
method
over and over again for those iterators which don't implement it.- UnmodifiableIterator() -
Constructor for class harpoon.Util.UnmodifiableIterator
-
- unmodifiableIterator(Iterator) -
Static method in class harpoon.Util.Default
- An unmodifiable version of the given iterator.
- UnmodifiableListIterator - class harpoon.Util.UnmodifiableListIterator.
UnmodifiableListIterator
is an abstract superclass to
save you the trouble of implementing the remove()
,
add()
and set()
methods over and over again
for those list iterators which don't implement them.- UnmodifiableListIterator() -
Constructor for class harpoon.Util.UnmodifiableListIterator
-
- UnmodifiableMultiMap - class harpoon.Util.Collections.UnmodifiableMultiMap.
UnmodifiableMultiMap
is an abstract superclass to
save developers the trouble of implementing the various mutator
methds of the MultiMap
interface.- UnmodifiableMultiMap() -
Constructor for class harpoon.Util.Collections.UnmodifiableMultiMap
-
- unNx(TreeFactory) -
Method in class harpoon.IR.Tree.Translation.Exp
-
- unNxImpl(TreeFactory) -
Method in class harpoon.IR.Tree.Translation.Exp
-
- unNxImpl(TreeFactory) -
Method in class harpoon.IR.Tree.Translation.Ex
-
- unNxImpl(TreeFactory) -
Method in class harpoon.IR.Tree.Translation.Nx
-
- unNxImpl(TreeFactory) -
Method in class harpoon.IR.Tree.Translation.Cx
-
- UNOP - class harpoon.IR.Tree.UNOP.
UNOP
objects are expressions which stand for result of
applying some unary operator o to a subexpression.- UNOP -
Static variable in class harpoon.IR.Tree.TreeKind
-
- UNOP -
Static variable in class harpoon.Tools.PatMat.Sym
-
- UNOP(TreeFactory, HCodeElement, int, int, Exp) -
Constructor for class harpoon.IR.Tree.UNOP
- Constructor.
- Unreachable - class harpoon.Analysis.Quads.Unreachable.
Unreachable
gets rid of unreachable code.- Unreachable() -
Constructor for class harpoon.Analysis.Quads.Unreachable
-
- unsetColor(Object) -
Method in class harpoon.Analysis.GraphColoring.SparseGraph
-
- unsetColor(Object) -
Method in interface harpoon.Analysis.GraphColoring.ColorableGraph
- Removes
n
from the Node -> Color mapping.
- uoh -
Variable in class harpoon.Analysis.PointerAnalysis.MyAP
-
- Uop - class harpoon.IR.Tree.Uop.
Uop
is an enumerated type for UNOP
s.- Uop() -
Constructor for class harpoon.IR.Tree.Uop
-
- update_and_add(EdgesNCallees, EdgesNCallees, MethodHole[], MethodHole, Set) -
Static method in class harpoon.Analysis.PointerAnalysis.ODInformation
-
- update_and_addbis(EdgesNCallees, EdgesNCallees, MethodHole[], MethodHole, Set) -
Static method in class harpoon.Analysis.PointerAnalysis.ODInformation
-
- update_locks(ODInformation, ODInformation, ODInformation, Relation, Relation, MethodHole[], MethodHole, Set) -
Static method in class harpoon.Analysis.PointerAnalysis.ODInformation
-
- update_skippedCSHistory(Relation, MethodHole[], int, MethodHole, Set, ODInformation, Relation) -
Method in class harpoon.Analysis.PointerAnalysis.ODInformation
-
- update_skippedCSHistorybis(Relation, MethodHole[], int, MethodHole, Set, ODInformation, Relation) -
Method in class harpoon.Analysis.PointerAnalysis.ODInformation
-
- UPDATE(DerivationGenerator, Exp, Exp) -
Static method in class harpoon.Analysis.Realtime.HeapCheckAdder
-
- update(EdgesNCallees, EdgesNCallees, MethodHole[], int, Set, MethodHole, Set) -
Method in class harpoon.Analysis.PointerAnalysis.ODInformation
-
- update(Exp, Exp) -
Method in class harpoon.IR.Tree.DerivationGenerator
- Transfer typing from one exp to another.
- update(HCodeElement, Temp, HCodeElement, Temp) -
Method in class harpoon.IR.LowQuad.DerivationMap
- Transfer typing from one place to another.
- update(ODInformation, ODParIntGraph, ODParIntGraph, Relation, Relation, MethodHole, ODInformation, ODInformation, Set) -
Method in class harpoon.Analysis.PointerAnalysis.ODInformation
-
- updatebis(EdgesNCallees, EdgesNCallees, MethodHole[], int, Set, MethodHole, Set) -
Method in class harpoon.Analysis.PointerAnalysis.ODInformation
-
- updateKey(Map.Entry, Object) -
Method in interface harpoon.Util.Collections.Heap
- Replace the key in the specified map entry with the specified key,
which may be either larger or smaller than its current key.
- updateKey(Map.Entry, Object) -
Method in class harpoon.Util.Collections.BinaryHeap
-
- updateKey(Map.Entry, Object) -
Method in class harpoon.Util.Collections.AbstractHeap
-
- updateNode2Code(PANode, HCodeElement) -
Method in class harpoon.Analysis.PointerAnalysis.NodeRepository
- Modify the node2code mapping such that now node is associated
with hce.
- updateValue(Object) -
Method in class harpoon.Interpret.Tree.StringPointer
- Throws an error, as
StringPointer
s are constant.
- updateValue(Object) -
Method in class harpoon.Interpret.Tree.InterfaceListPointer
- Throws an error, as the program is not supposed to
modify static class data
- URSHIFT -
Static variable in class harpoon.Tools.Annotation.Sym
-
- URSHIFTEQ -
Static variable in class harpoon.Tools.Annotation.Sym
-
- usage(String) -
Static method in class harpoon.Main.Lint
-
- use -
Variable in class harpoon.Analysis.DataFlow.LiveVars.BBVisitor.LiveVarInfo
-
- USE_ANANIAN_HEURISTIC -
Static variable in class harpoon.Analysis.Instr.SpillHeuristics
-
- USE_CHAITIN_HEURISTIC -
Static variable in class harpoon.Analysis.Instr.SpillHeuristics
-
- USE_INTER_THREAD -
Variable in class harpoon.Analysis.PointerAnalysis.MAInfo.MAInfoOptions
- Use the interthread analysis inside
MAInfo
.
- USE_LOW_BIT -
Static variable in class harpoon.Analysis.Realtime.HeapCheckAdder
- Should I use the low bit or the high bit?
- USE_OLD_INLINING -
Variable in class harpoon.Analysis.PointerAnalysis.MAInfo.MAInfoOptions
- Use the old, 1-level inlining.
- USE_PINTER_HEURISTICS -
Static variable in class harpoon.Analysis.Instr.SpillHeuristics
-
- use() -
Method in class harpoon.IR.Assem.Instr
- Returns the
Temp
s used by this Instr
.
- use() -
Method in class harpoon.IR.LowQuad.PSET
-
- use() -
Method in class harpoon.IR.LowQuad.PPTR
-
- use() -
Method in class harpoon.IR.LowQuad.PGET
-
- use() -
Method in class harpoon.IR.LowQuad.PCALL
-
- use() -
Method in class harpoon.IR.LowQuad.PAOFFSET
-
- use() -
Method in interface harpoon.IR.Properties.UseDefable
- Return all the
Temp
s used by this
HCodeElement
.
- use() -
Method in class harpoon.IR.Quads.TYPESWITCH
- Returns the
Temp
used by this quad.
- use() -
Method in class harpoon.IR.Quads.TYPECAST
- Returns the
Temp
s used by this quad.
- use() -
Method in class harpoon.IR.Quads.THROW
- Returns all the Temps used by this Quad.
- use() -
Method in class harpoon.IR.Quads.SWITCH
- Returns the
Temp
used by this quad.
- use() -
Method in class harpoon.IR.Quads.SIGMA
-
- use() -
Method in class harpoon.IR.Quads.SET
- Returns the Temps used by this Quad.
- use() -
Method in class harpoon.IR.Quads.RETURN
- Returns all the Temps used by this Quad.
- use() -
Method in class harpoon.IR.Quads.Quad
- Return all the Temps used by this Quad.
- use() -
Method in class harpoon.IR.Quads.PHI
- Returns all the
Temp
s used by this Quad
.
- use() -
Method in class harpoon.IR.Quads.OPER
- Returns the Temps used by this OPER.
- use() -
Method in class harpoon.IR.Quads.MOVE
- Returns the
Temp
s used by this Quad
.
- use() -
Method in class harpoon.IR.Quads.MONITOREXIT
- Returns the Temp used by this Quad.
- use() -
Method in class harpoon.IR.Quads.MONITORENTER
- Returns the Temp used by this Quad.
- use() -
Method in class harpoon.IR.Quads.INSTANCEOF
- Returns the
Temp
s used by this quad.
- use() -
Method in class harpoon.IR.Quads.GET
- Returns the Temp used by this Quad.
- use() -
Method in class harpoon.IR.Quads.COMPONENTOF
- Returns the
Temp
s used by this quad.
- use() -
Method in class harpoon.IR.Quads.CJMP
- Returns all the
Temp
s used by this Quad.
- use() -
Method in class harpoon.IR.Quads.CALL
- Returns all the Temps used by this Quad.
- use() -
Method in class harpoon.IR.Quads.ASET
- Returns all the Temps used by this quad.
- use() -
Method in class harpoon.IR.Quads.ARRAYINIT
- Returns the
Temp
used by this Quad
.
- use() -
Method in class harpoon.IR.Quads.ANEW
- Returns the Temps used by this Quad.
- use() -
Method in class harpoon.IR.Quads.ALENGTH
- Returns the
Temp
used by this Quad.
- use() -
Method in class harpoon.IR.Quads.AGET
- Returns all the
Temp
s used by this quad.
- use(HCodeElement) -
Method in class harpoon.IR.Properties.UseDefer
- Return all the
Temp
s used by hce
.
- use(Node) -
Method in class harpoon.Backend.CSAHack.FlowGraph.FlowGraph
- The set of temporaries used by this instruction or block
- use(Node) -
Method in class harpoon.Backend.CSAHack.FlowGraph.AssemFlowGraph
-
- useC() -
Method in class harpoon.IR.Assem.Instr
-
- useC() -
Method in interface harpoon.IR.Properties.UseDefable
- Returns a
Collection
of all the
Temp
s read in this HCodeElement
.
- useC() -
Method in class harpoon.IR.Quads.Quad
-
- useC(HCodeElement) -
Method in class harpoon.Analysis.Instr.IgnoreSpillUseDefer
-
- useC(HCodeElement) -
Method in class harpoon.Analysis.Instr.BasePointerPreservingUseDefer
-
- useC(HCodeElement) -
Method in class harpoon.Backend.Generic.RegUseDefer
-
- useC(HCodeElement) -
Method in class harpoon.IR.Properties.UseDefer
- Returns a
Collection
of all the
Temp
s that may be read by hce
.
- useC(HCodeElement) -
Method in class harpoon.IR.Tree.TreeUseDefer
- Returns a collection of
Temp
s which are used by the
statement/expression subtree rooted at hce
.
- useCN(Instr) -
Method in class harpoon.Analysis.Instr.AppelRegAlloc
-
- useCT(Instr) -
Method in class harpoon.Analysis.Instr.AppelRegAlloc
-
- UseDef - class harpoon.Analysis.UseDef.
UseDef
objects map Temp
s to the
HCodeElement
s which use or define
them.- UseDef() -
Constructor for class harpoon.Analysis.UseDef
- Creates a new, empty
UseDef
.
- usedef(Instr) -
Method in class harpoon.Analysis.Instr.AppelRegAlloc
-
- UseDefable - interface harpoon.IR.Properties.UseDefable.
UseDefable
defines an interface for intermediate
representations that keep use/def information.- UseDefChecker - class harpoon.Analysis.UseDefChecker.
UseDefChecker
verifies that all variables are defined
before they are used.- UseDefChecker.ReachingDefsFactory - class harpoon.Analysis.UseDefChecker.ReachingDefsFactory.
- The
UseDefChecker
constructor takes a
ReachingDefsFactory
argument to specify which
ReachingDefs
implementation it should use. - UseDefChecker.ReachingDefsFactory() -
Constructor for class harpoon.Analysis.UseDefChecker.ReachingDefsFactory
-
- UseDefChecker(HCodeFactory, String) -
Constructor for class harpoon.Analysis.UseDefChecker
- Creates a
UseDefChecker
using the named class
as the ReachingDefs
implementation.
- UseDefChecker(HCodeFactory, UseDefChecker.ReachingDefsFactory) -
Constructor for class harpoon.Analysis.UseDefChecker
- Creates a
UseDefChecker
from a
ReachingDefsFactory
.
- UseDefer - class harpoon.IR.Properties.UseDefer.
UseDefer
provides a means to externally associate use and
def information with elements of an intermediate representation.- USEDEFER -
Static variable in class harpoon.Analysis.Instr.IgnoreSpillUseDefer
-
- UseDefer() -
Constructor for class harpoon.IR.Properties.UseDefer
-
- UseDefMap - interface harpoon.Analysis.Maps.UseDefMap.
- A
UseDefMap
is a mapping from temporaries to the
HCodeElements
that define them. - usedRegisterTemps() -
Method in interface harpoon.Analysis.Instr.RegAlloc.IntermediateCode
-
- useMap(HCode, Temp) -
Method in class harpoon.Analysis.UseDef
- Return the HCodeElements which use a given Temp.
- useMap(HCode, Temp) -
Method in interface harpoon.Analysis.Maps.UseDefMap
- Return an array of
HCodeElement
s that use
Temp t
.
- useMapE(HCode, Temp) -
Method in class harpoon.Analysis.UseDef
- Enumerate the HCodeElements which use a given Temp.
- useMapE(HCode, Temp) -
Method in interface harpoon.Analysis.Maps.UseDefMap
- Return an Enumeration of
HCodeElement
s that use
Temp t
.
- user_info -
Variable in class harpoon.Util.LightBasicBlocks.LightBasicBlock
- Deprecated.
- uses -
Variable in class harpoon.Analysis.Quads.SSIStats
- How many variable definitions are in this code.
- USHR -
Static variable in class harpoon.IR.Tree.Bop
- Right unsigned bit-wise shift; long/integer only.
- USHR -
Static variable in class harpoon.Tools.PatMat.Sym
-
- Util - class harpoon.Util.Util.
- Miscellaneous static utility functions.
- Util() -
Constructor for class harpoon.Util.Util
-
long
constant.
int
constant.
float
constant.
double
constant.
CONST
expression.
this
.
name
.
java.lang.String
.
java.lang.Long
.
java.lang.Integer
.
java.lang.Float
.
java.lang.Double
.
CONST
expression.
variable
Temp
stores the basic
induction variable.
AGET
is disallowed in LowQuad
form.
ASET
is disallowed in LowQuad
form.
CALL
is disallowed in LowQuad
form.
GET
is disallowed in LowQuad
form.
HANDLER
is disallowed in LowQuad
form.
Instr
i.
<key,value>
entry of a relation.
OPER
is disallowed in LowQuad
form.
PANode
.
SET
is disallowed in LowQuad
form.
l
.
l
.
HClass
object representing the primitive type void.
ei
could have been
created before the outside edge eo
is read.
to
.
from
.
Temp
*must*
contain the value of.
node
will escape because
it is returned or because it is reachable from a returned node.
Worklist
is a unique set.BasicBlock
s.
BasicBlock
s.
BasicBlock
s.
WorkSet
is a Set
offering constant-time
access to the first/last element inserted, and an iterator whose speed
is not dependent on the total capacity of the underlying hashtable.WorkSet
with a default capacity
and load factor.
WorkSet
with the contents of the
specified Collection
.
WorkSet
with the specified
initial capacity and default load factor.
WorkSet
with the specified
initial capacity and the specified load factor.
WritableTempMap
is a mutable instance of a
TempMap
.WriteBarrier
is an abstract class that provides
a dummy write-barrier for generational garbage collection.WriteBarrierConstElim
eliminates write barriers
on MOVEs that are assigned from constants.WriteBarrierData
generates the static data needed
to gather dynamic statistics about write barriers.WriteBarrierPostPass
performs some low-level
transformations to the output of WriteBarrierPrePass
which cannot be done in the quad form on which
WriteBarrierPrePass
operates.WriteBarrierPrePass
takes code in LowQuad form and
inserts a fake call to a write barrier that is later replaced with
a real implementation in WriteBarrierPostPass
.WriteBarrierPrePass
.
WriteBarrierQuadPass
takes code in Quad form and
inserts a fake call to a write barrier that is later replaced with
a real implementation in WriteBarrierTreePass
.WriteBarrierQuadPass
.
WriteBarrierStats
emits data needed for gathering
write barrier statistics.WriteBarrierStats
, and
performs conversion on all callable methods.
WriteBarrierTreePass
performs some low-level
transformations to the output of WriteBarrierQuadPass
which cannot be done in the quad form on which
WriteBarrierQuadPass
operates.WrongNodeTypeException
WrongNodeTypeException
.
WrongNodeTypeException
.
this
action is the thread specialization of another
action, this is the run method of the thread which does this action.
this
node.PointerAnalysis.WEAKLY_THREAD_SENSITIVE
is on.
|
||||||||||
PREV NEXT | FRAMES NO FRAMES |