|
|||||||||
PREV NEXT | FRAMES NO FRAMES |
AbstractClassFixupRelinker
is an extension of Relinker
which fixes up abstract classes so that they implement all the methods
of their interfaces (even if this implementation is via an abstract
method declaration).AbstractClassFixupRelinker
.
AbstractGraph
is a skeletal implementation of the
Graph
interface, to minimize the effort required to
implement this interface.AbstractGraph
.
AbstractGraph
provides a basic implementation
of the Graph
interface.AbstractGraph.Edge
provides a basic implementation of
the Graph.Edge
interface.AbstractGraph.Node
provides a basic implementation of
the Graph.Node
interface.IntermediateCodeFactory
which can be
used to extract Derivation information about code it
generates.
AbstrPAEdgeSet
AbstrRelation
AbstrRelationMapBased
visit
method from
visitor
.
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. this
pattern is chosen as part of the optimal set).
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. tau(nT) > 0 in the algorithm)
nT
that have assigned
a non-zero count (i.e. tau(nT) > 0 in the algorithm)
t1
and
t2
to this
.
<node1,f,node2>
(forall node1
in nodes1
) are created after
all the inside edges from I
.
delta
to the value attached to a node.
<key, value>
to the relation.
ClazPointer
's
offset
StringPointer
s are constant.
UndefinedPointer
and returns the resulting pointer.
ld
action.
sync
action.
sync
actions in parallel with all the threads from the set
active_threads
.
Collection
key
to each element of the set
values
.
TypeSet
ts
to this
.
harpoon.ClassFile.HCodeFactory
.
name
to the underlying
class.
HClass
.
HClass
.
name
to the underlying
HClass
.
f
to t
.
m
and n
(optional operation).
hf
-labelled edge between n1
to n2
.
from
to to
and return
the new edge.
hf
-labelled edge between n1
and each node from n2s
.
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.
node
escaped into a method hole.
node
escaped into a set of
method holes.
m
to the field.
node
(optional operation).
node
(optional operation).
super.addNode(n)
.
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 predecessors, readding BasicBlock
s to
W
where necessary.
q
and
its successors, 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.
COMPRESS_LOST_NODES
, but done at the end
of the analysis of each method.
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
.
AlignmentAnalysis
computes the alignment
(some offset modulo some number from some base) of every
typed pointer in a Tree.AlignmentAnalysis
.
AllCallers
calculates the transitive closure of the dual
of the call graph for methods that fulfill a certain condition.AllCallers
object using the specified
ClassHierarchy
.
AllCallers
object that is the dual of
the callgraph cg
(of type
harpoon.Analysis.Quads.CallGraoh
).
MethodSet
defines the interface whose method
select
is used in getCallers
as a
predicate.AllCheckRemoval
is an overly aggressive (and often wrong!)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.
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.AllocationInformationMap
.
AllocationProperties
.AllocationInstrCompStage
AllocationInstrCompStage
.
AllocationNumbering
object assigns unique numbers
to each allocations site from a program and (possibly) to each call
sites.AllocationNumbering
object.
AllocationNumberingInterf
provide unique integer IDs for all allocation sites from a program.AllocationNumberingStub
is a very simple
implementation of AllocationNumberingInterf
designed
to avoid serialization (serialization is buggy in many, if not all,
JVMs).AllocationNumberingStub
by parsing a
text file.
AllocationStatistics
reads the output produced by the
allocation instrumentation and offers support for gathering and
displaying statistics about the number of times each allocation
site from an instrumented program was executed.AllocationStatistics
object.
AllocationStatistics
.
AllocationStrategy
is a particular implementation
of a memory allocation routine.AllocationStrategyFactory
alloc
.
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.
AllocSyncOptCompStage
AltArrayTransformer
substitutes an alternative implementation
of arrays.AnalysisPolicy
groups together different pointer
analysis options.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.
Quad
is a
NEW
or ANEW
for which write *
barriers have been removed.
FOOTER
.
Quads.METHOD
.
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
.
ArrayCopyInliner
will inline array copy.HClass[]
.
HConstructor[]
.
HField[]
.
HInitializer[]
.
HMember[]
.
HMethod[]
.
Instr
s.
Instr[]
s.
Operand[]
.
Edge[]
.
Quad[]
s
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.ArrayIterator
that iterates over the
contents of oa
.
Translation.Exp
giving the length of the
array pointed to by the given expression.
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
.
ASET
represents an array element assignment.ASET
object representing an array element
assignment.
ASFlags
Context
as a tuple,
as represented by an unmodifiable List
.
Tuple
.
Temp
mapping, as a java.util.Map
.
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
type.
Attribute
type.
Attribute
type.
Attribute
type.
Attribute
type.
Attribute
type.
Attribute
type.
Attribute
type.
Attribute
type.
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
.
instr
to back
in
to the BackedInstrs.
Backend
is a convenient, top-level class for our many
backends.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.h
as its first
element.
HCode
.BasicBlock.Factory
using the
implicit control flow provided by code
.
BasicBlock.Factory
and generates
BasicBlock
s for a given HCode
.
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
.
BinaryRelation
represents a predicate on a 2-tuple.BinHeapPriorityQueue
is an implementation of the
PriorityQueue
interface.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
.
BitFieldTuple
by bfLoc
or arrayBitField
.
BitWidthAnalysis
implements Sparse Conditional Constant
Propagation, with extensions to allow type and bitwidth analysis.BitWidthAnalysis
.
BasicBlock
s constructed by
this
.
BasicBlock
s constructed by
the factory.
FCFGBasicBlock
s constructed by
this
factory.
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.Exp
of this type from the given list of
subexpressions.
Stm
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.
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
.
CachingSCCLBBFactory
adds some caching to
SCCLBBFactory
.CachingSCCLBBFactory
.
CALL
objects represent method invocations.CALL
quad representing a method invocation
with explicit exception handling.
CALL
with an empty dst
array
of the proper size.
CALL
objects are statements which stand for
java method invocations, using our runtime's calling convention.CALL
object.
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
.
q
.
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
.
Stm
object is valid for Data
patterns.
this.next
.
DList
.
Canonicalize
is an application of Simplification
to do pattern-driven tree canonicalization.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.
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
.
ChainedAllocationProperties
allows us to change
several properties of an already existing
AllocationProperties
.ChainedAllocationProperties
object
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.harpoon.class.path
contains a supported
implementation of the standard library.
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 callable 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
.
HClass
.
Code
c
from this factory.
m
from all caches
in this factory and its parents.
HMethod
m
from the cache.
m
from this
CachingCodeFactory
and its parent
.
m
from all caches
in this factory and its parents.
hm
.
hm
.
DList
.
this
object.
clone
does a deep copy of this
object.
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.PointsToGraph
- Deep copy of a
PointsToGraph
.
- clone() -
Method in interface harpoon.Analysis.PointerAnalysis.Relation
- Clones this relation.
- clone() -
Method in class harpoon.Analysis.PointerAnalysis.RelationImpl
- Creates a new, independent relation (the operations on
the new relation won't affect the old one).
- clone(HMethod) -
Method in class harpoon.ClassFile.HCode
- Clone this
HCode
, possibly moving it to a different method.
- clone() -
Method in class harpoon.ClassFile.HCode
- Clone this
HCode
and all associated
HCodeElement
s.
- clone(HClass) -
Method in class harpoon.ClassFile.HData
- Clone this
HData
, possibly moving it to a different
HClass
.
- clone() -
Method in class harpoon.Interpret.Tree.UndefinedRef
-
- clone(HMethod) -
Method in class harpoon.IR.Bytecode.Code
- Clone this code representation.
- clone(HMethod) -
Method in class harpoon.IR.LowQuad.LowQuadNoSSA
- 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.LowQuadSSI
- Clone this code representation.
- clone(HMethod) -
Method in class harpoon.IR.Quads.Code
- Clone this code representation.
- clone() -
Method in class harpoon.IR.Quads.Quad
-
- 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(HMethod) -
Method in class harpoon.IR.Quads.QuadNoSSA
- 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.QuadSSA
- 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.QuadWithTry
- Clone this code representation.
- clone(HMethod) -
Method in class harpoon.IR.Quads.ResilientNoSSA
- Clone this code representation.
- clone(HMethod, Frame) -
Method in class harpoon.IR.Tree.CanonicalTreeCode
- Clone this code representation.
- clone(HMethod, Frame) -
Method in class harpoon.IR.Tree.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.OptimizedTreeCode
- Clone this code representation.
- clone(TreeFactory, Tree, Tree.CloneCallback) -
Static method in class harpoon.IR.Tree.Tree
- Returns a clone of
root
.
- clone() -
Method in class harpoon.IR.Tree.Tree
- Clone a subtree.
- clone(HMethod, Frame) -
Method in class harpoon.IR.Tree.TreeCode
- Clone this code representation.
- clone(TempFactory) -
Method in class harpoon.Temp.Temp
- Clones a
Temp
into a different TempFactory
.
- 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
-
- CloneableIterator - Class in harpoon.Util
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.
- 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.CoalescingToNoSSA
-
- cloneHCode(HCode, HMethod) -
Method in class harpoon.Analysis.Quads.DispatchTreeTransformation
-
- cloneHCode(HCode<Quad>, HMethod) -
Method in class harpoon.Analysis.Quads.MemoryOptimization
-
- cloneHCode(HCode, HMethod) -
Method in class harpoon.Analysis.Transactions.SyncTransformer
-
- cloneHCode(HCode<HCE>, 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.
- 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.
- cloneHelper(Code, Code) -
Method in class harpoon.IR.LowQuad.Code
-
- cloneHelper(Code) -
Method in class harpoon.IR.Quads.Code
- Helper for clone
- 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 in harpoon.Analysis.Transactions
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(String) -
Method in class harpoon.IR.Assem.Instr
- Clones this, mutating the assembly string.
- cloneMutateAssem(InstrFactory, String) -
Method in class harpoon.IR.Assem.Instr
- Clones this, mutating the assembly string.
- cloneMutateAssem(InstrFactory, String) -
Method in class harpoon.IR.Assem.InstrCALL
-
- cloneMutateAssem(InstrFactory, String) -
Method in class harpoon.IR.Assem.InstrDIRECTIVE
-
- cloneMutateAssem(InstrFactory, String) -
Method in class harpoon.IR.Assem.InstrJUMP
-
- cloneMutateAssem(InstrFactory, String) -
Method in class harpoon.IR.Assem.InstrLABEL
-
- cloneMutateAssem(InstrFactory, String) -
Method in class harpoon.IR.Assem.InstrMEM
-
- cloneMutateAssem(InstrFactory, String) -
Method in class harpoon.IR.Assem.InstrMOVE
-
- CloningTempMap - Class in harpoon.Temp
- 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 in harpoon.Analysis.EventDriven
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
-
- cn -
Variable in class harpoon.Backend.RuntimeTiny.Runtime
-
- coalesce() -
Method in class harpoon.Analysis.Instr.AppelRegAlloc
-
- coalesce(AppelRegAllocClasses.Move, AppelRegAllocClasses.Node, AppelRegAllocClasses.Node) -
Method in class harpoon.Analysis.Instr.AppelRegAlloc
-
- CoalescingToNoSSA - Class in harpoon.Analysis.Quads
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.Analysis.PreciseGC.PointsToQuadVisitor
-
- Code - Class in harpoon.Backend.CSAHack.RegAlloc
Code
- Code(HMethod, Instr, Derivation, Frame) -
Constructor for class harpoon.Backend.CSAHack.RegAlloc.Code
- Creates a
Code
.
- Code - Class in harpoon.Backend.Generic
Generic.Code
is an abstract superclass of codeviews
which use Instr
s.- 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(Code) -
Constructor for class harpoon.Backend.Generic.Code
-
- Code - Class in harpoon.IR.Assem
IR.Assem.Code
is an abstract superclass of codeviews
which use Instr
s.- Code(HMethod, Frame, String) -
Constructor for class harpoon.IR.Assem.Code
- constructor.
- Code(HMethod, Frame) -
Constructor for class harpoon.IR.Assem.Code
- constructor.
- Code - Class in harpoon.IR.Bytecode
Bytecode.Code
is a code view that exposes the
raw java classfile bytecodes.- Code(HMethod, MethodInfo) -
Constructor for class harpoon.IR.Bytecode.Code
- Constructor.
- Code - Class in harpoon.IR.LowQuad
LowQuad.Code
is an abstract superclass of codeviews
using the components in IR.LowQuad
.- Code(HMethod, Quad) -
Constructor for class harpoon.IR.LowQuad.Code
-
- Code - Class in harpoon.IR.Quads
Quads.Code
is an abstract superclass of codeviews
using the components in IR.Quads
.- Code(HMethod, Quad) -
Constructor for class harpoon.IR.Quads.Code
- constructor.
- 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 in harpoon.IR.Tree
Tree.Code
is an abstract superclass of codeviews
using the components in IR.Tree
.- Code(HMethod, Tree, Frame) -
Constructor for class harpoon.IR.Tree.Code
- constructor.
- CODE -
Static variable in class harpoon.IR.Tree.SEGMENT
- Read-only instruction memory
- Code.ExceptionEntry - Class in harpoon.IR.Bytecode
- Represents exception handlers in this code view.
- Code.TreeFactory - Class in harpoon.IR.Tree
- Create a proper TreeFactory.
- code2str(HCodeElement) -
Static method in class harpoon.Util.Util
- Returns the string representation of the code instruction q
in the formay:
source_file:line_number instruction
.
- code_length() -
Method in class harpoon.IR.RawClass.AttributeCode
-
- 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, Frame, RegAlloc.Factory) -
Static method in class harpoon.Analysis.Instr.RegAlloc
-
- codeFactory(HCodeFactory, Frame) -
Static method in class harpoon.Analysis.Instr.RegAlloc
- Creates a register-allocating
HCodeFactory
for
"instr" form.
- 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, InstrumentSyncOps) -
Static method in class harpoon.Analysis.PointerAnalysis.InstrumentSyncOps
- Returns a
HCodeFactory
that uses InstrumentSyncOps
.
- codeFactory(HCodeFactory, Frame, Linker) -
Static method in class harpoon.Analysis.PreciseGC.DynamicWBTreePass
- Code factory for applying
DynamicWBTreePass
to a
canonical tree.
- codeFactory(Frame, HCodeFactory, Linker) -
Static method in class harpoon.Analysis.PreciseGC.WriteBarrierConstElim
- Code factory for applying
WriteBarrierConstElim/code>
to a canonical tree.
- codeFactory(HCodeFactory) -
Method in class harpoon.Analysis.PreciseGC.WriteBarrierPostPass
- Code factory for applying the post pass to the given tree
form.
- codeFactory() -
Method in class harpoon.Analysis.PreciseGC.WriteBarrierStats
-
- codeFactory(HCodeFactory, Frame, ClassHierarchy, Linker) -
Static method in class harpoon.Analysis.PreciseGC.WriteBarrierTreePass
- Code factory for applying
WriteBarrierTreePass
to a canonical tree.
- codeFactory() -
Method in class harpoon.Analysis.Quads.InitializerTransform
-
- codeFactory(HCodeFactory) -
Static method in class harpoon.Analysis.Quads.SCC.SCCOptimize
- Returns a code factory that uses SCCOptimize.
- codeFactory(HCodeFactory) -
Static method in class harpoon.Analysis.Quads.SSIStats
-
- codeFactory(HCodeFactory) -
Method in class harpoon.Analysis.Realtime.HeapCheckAdder
- Code factory for adding heap checks to the given tree form.
- codeFactory() -
Method in class harpoon.Analysis.SizeOpt.Field2Method
-
- codeFactory() -
Method in class harpoon.Analysis.SizeOpt.FieldReducer
-
- codeFactory() -
Method in class harpoon.Analysis.SizeOpt.MZFCompressor
-
- codeFactory() -
Method in class harpoon.Analysis.Transactions.SyncTransformer
-
- 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.Transformation.MethodSplitter
- Returns a
HCodeFactory
containing representations for
the methods split by the MethodSplitter
.
- 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.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.DeadCodeElimination
- Code factory for applying DeadCodeElimination 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() -
Method in class harpoon.Analysis.Tree.DominatingMemoryAccess
- Standard interface to run this analysis
- 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.MemHoisting
- Code factory for applying MemHoisting to a
canonical tree.
- codeFactory(HCodeFactory, List<Simplification.Rule>) -
Static method in class harpoon.Analysis.Tree.Simplification
- Code factory for applying a set of simplification rules to
tree form.
- 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(HCodeFactory) -
Method in class harpoon.Backend.Analysis.GCTraceStore
-
- codeFactory(HCodeFactory) -
Static method in class harpoon.Backend.Analysis.InsertWriteBarrier
- Code factory for inserting write barriers to a tree.
- codeFactory(HCodeFactory, Frame) -
Static method in class harpoon.Backend.Analysis.MakeGCThreadSafe
- Code factory for adding GC polling calls to a
canonical tree.
- codeFactory(RegAlloc.IntermediateCodeFactory, Frame) -
Method in class harpoon.Backend.Generic.GCInfo
- Creates an
IntermediateCodeFactory
that
prepares the code for garbage collection.
- codeFactory() -
Static method in class harpoon.IR.Bytecode.Code
- Return an HCodeFactory for Bytecode form.
- codeFactory(HCodeFactory) -
Static method in class harpoon.IR.LowQuad.LowQuadNoSSA
- Return a code factory for
LowQuadNoSSA
, given a
code factory for either LowQuadSSI
.
- codeFactory() -
Static method in class harpoon.IR.LowQuad.LowQuadNoSSA
- Return a code factory for
LowQuadNoSSA
, using the default
code factory for LowQuadSSI
- codeFactory(HCodeFactory) -
Static method in class harpoon.IR.LowQuad.LowQuadSSA
- Return a code factory for
LowQuadSSA
, given a
code factory for LowQuadSSI
.
- codeFactory() -
Static method in class harpoon.IR.LowQuad.LowQuadSSA
- Return a code factory for
LowQuadSSA
, using the default
code factory for LowQuadSSI
- codeFactory(HCodeFactory) -
Static method in class harpoon.IR.LowQuad.LowQuadSSI
- Return a code factory for
LowQuadSSI
, given a
code factory for QuadSSI
.
- 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(HCodeFactory) -
Static method in class harpoon.IR.Quads.QuadNoSSA
- Return a code factory for
QuadNoSSA
, given a code
factory for QuadWithTry
or QuadSSI
.
- codeFactory() -
Static method in class harpoon.IR.Quads.QuadNoSSA
- Return a code factory for QuadNoSSA, using the default code
factory for QuadWithTry.
- 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.QuadSSA
- Return a code factory for
QuadSSA
, given a 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(HCodeFactory) -
Static method in class harpoon.IR.Quads.QuadSSI
- Return a code factory for
QuadSSI
, given a code
factory for QuadNoSSA
.
- codeFactory() -
Static method in class harpoon.IR.Quads.QuadSSI
- Return a code factory for QuadSSI, using the default code factory
for QuadNoSSA.
- 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() -
Static method in class harpoon.IR.Quads.QuadWithTry
- Return a code factory for QuadWithTry, using the default
code factory for Bytecode.
- codeFactory(HCodeFactory, ClassHierarchy) -
Static method in class harpoon.IR.Quads.ResilientNoSSA
- Return a code factory for
ResilientNoSSA
, given a
code factory for QuadWithTry
.
- codeFactory(HCodeFactory, Set, Set) -
Static method in class harpoon.IR.Quads.ThreadInliner
- Returns a
HCodeFactory
that uses LoopOptimize
.
- codeFactory(HCodeFactory, Frame) -
Static method in class harpoon.IR.Tree.CanonicalTreeCode
- Return a code factory for
CanonicalTreeCode
, given a
code factory for TreeCode
.
- 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, Frame) -
Static method in class harpoon.IR.Tree.OptimizedTreeCode
- Return a code factory for
OptimizedTreeCode
, given a
code factory for CanonicalTreeCode
.
- 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(Frame) -
Static method in class harpoon.IR.Tree.OptimizedTreeCode
- Return a code factory for
LowQuadNoSSA
, using the default
code factory for LowQuadNoSSA
- 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(Frame) -
Static method in class harpoon.IR.Tree.TreeCode
- Return a code factory for
TreeCode
, using the default
code factory for LowQuadSSI
- codeFactoryWithTypes(HCodeFactory) -
Static method in class harpoon.IR.Quads.QuadNoSSA
- Return a code factory for
QuadNoSSA
, given a code
factory for QuadSSI
.
- CodeGen - Class in harpoon.Backend.Generic
Generic.CodeGen
is a general class for specific Backends to
extend.- CodeGen(Frame) -
Constructor for class harpoon.Backend.Generic.CodeGen
- Creates a
Generic.CodeGen
.
- CodeGen - Class in harpoon.Backend.MIPS
MIPS.CodeGen
is a code-generator for the MIPS II architecture.- CodeGen(Frame, boolean) -
Constructor for class harpoon.Backend.MIPS.CodeGen
-
- CodeGen - Class in harpoon.Backend.Sparc
Sparc.CodeGen
is a code-generator for the Sparc architecture.- CodeGen(Frame) -
Constructor for class harpoon.Backend.Sparc.CodeGen
-
- CodeGen - Class in harpoon.Backend.StrongARM
StrongARM.CodeGen
is a code-generator for the ARM architecture.- CodeGen(Frame, boolean) -
Constructor for class harpoon.Backend.StrongARM.CodeGen
-
- CodeGen.InstrCC - Class in harpoon.Backend.Sparc
- 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<Label>) -
Constructor for class harpoon.Backend.Sparc.CodeGen.InstrCC
-
- CodeGen.InstrDELAYSLOT - Class in harpoon.Backend.Sparc
- Sub-class to represent delay-slots.
- CodeGen.InstrDELAYSLOT(InstrFactory, HCodeElement) -
Constructor for class harpoon.Backend.Sparc.CodeGen.InstrDELAYSLOT
-
- CodeGenerator - Class in harpoon.Main
CodeGenerator
- CodeGenerator() -
Constructor for class harpoon.Main.CodeGenerator
-
- CodeGeneratorGenerator - Class in harpoon.Tools.PatMat
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.MyLowQuadNoSSA
-
- codename -
Static variable in class harpoon.Analysis.LowQuad.Loop.MyLowQuadSSI
-
- codename -
Static variable in class harpoon.IR.Bytecode.Code
- 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.LowQuad.LowQuadSSA
- 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.Quads.QuadNoSSA
- 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.QuadSSA
- 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.QuadWithTry
- The name of this code view.
- codename -
Static variable in class harpoon.IR.Quads.ResilientNoSSA
- The name of this code view.
- codename -
Static variable in class harpoon.IR.Tree.CanonicalTreeCode
- The
getName()
method return codename
,
which is "canonical-tree" for this Code
.
- codename -
Static variable in class harpoon.IR.Tree.OptimizedTreeCode
-
- codename -
Static variable in class harpoon.IR.Tree.TreeCode
- The
getName()
method return codename
,
which is "tree" for this Code
.
- COLL_HACK -
Static variable in class harpoon.Analysis.MetaMethods.MetaCallGraphImpl
-
- COLLECT_RUNTIME_STATS -
Static variable in class harpoon.Analysis.Realtime.Realtime
- Add code to the executable to enable gathering of runtime statistics.
- CollectSyncStats - Class in harpoon.Analysis.Quads
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 - Class in harpoon.Analysis.GraphColoring
Color
is a placeholder for specific graph colorers.- Color() -
Constructor for class harpoon.Analysis.GraphColoring.Color
- Creates a
Color
.
- color -
Variable in class harpoon.Analysis.GraphColoring.ColorableGraph.IllegalColor
- Color intended for assignment.
- color -
Variable in class harpoon.Analysis.GraphColoring.ColorableNode
-
- color(ColorableGraph, List) -
Method in class harpoon.Analysis.GraphColoring.GraphColorer
- Attempts to color
graph
.
- color(ColorableGraph, List) -
Method in class harpoon.Analysis.GraphColoring.OptimisticGraphColorer
-
- color(ColorableGraph, List) -
Method in class harpoon.Analysis.GraphColoring.SimpleGraphColorer
- Colors
graph
.
- color(ColorableGraph, List) -
Method in class harpoon.Analysis.GraphColoring.UnboundedGraphColorer
-
- ColorableGraph - Interface in harpoon.Analysis.GraphColoring
ColorableGraph
extends
GraphColoring.Graph
with methods
that are useful for a graph-coloring system.- ColorableGraph.AlreadyColoredException - Exception in harpoon.Analysis.GraphColoring
- 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 exception harpoon.Analysis.GraphColoring.ColorableGraph.AlreadyColoredException
-
- ColorableGraph.AlreadyColoredException(String, Object) -
Constructor for exception harpoon.Analysis.GraphColoring.ColorableGraph.AlreadyColoredException
-
- ColorableGraph.AlreadyHiddenException - Exception in harpoon.Analysis.GraphColoring
- 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 exception harpoon.Analysis.GraphColoring.ColorableGraph.AlreadyHiddenException
-
- ColorableGraph.AlreadyHiddenException(String) -
Constructor for exception harpoon.Analysis.GraphColoring.ColorableGraph.AlreadyHiddenException
-
- ColorableGraph.IllegalColor - Class in harpoon.Analysis.GraphColoring
- 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 in harpoon.Analysis.GraphColoring
ColorableNode
- ColorableNode() -
Constructor for class harpoon.Analysis.GraphColoring.ColorableNode
-
- ColorFactory - Class in harpoon.Analysis.GraphColoring
ColorFactory
- ColorFactory() -
Constructor for class harpoon.Analysis.GraphColoring.ColorFactory
- Creates a
ColorFactory
.
- colorGraph(Collection, MultiMap) -
Static method in class harpoon.Analysis.MemOpt.MyGraphColorer
-
- colorToReg() -
Method in class harpoon.Analysis.Instr.AppelRegAlloc
-
- 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 in harpoon.Runtime.Transactions
- 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 supplied 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 in harpoon.Tools.PatMat
- 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 -
Static variable in class harpoon.Tools.Annotation.Sym
-
- comp2impl(HClass) -
Method in class harpoon.Analysis.Transactions.AltArrayTransformer
-
- compare(HMember, HMember) -
Method in class harpoon.ClassFile.HMember.MemberComparator
-
- compare(List<T>, List<T>) -
Method in class harpoon.Util.ListComparator
-
- compare(Map<K, V>, Map<K, V>) -
Method in class harpoon.Util.MapComparator
-
- compare(SortedMap<K, V>, SortedMap<K, V>) -
Method in class harpoon.Util.SortedMapComparator
-
- compare(Object, Object) -
Method in class harpoon.Util.UComp
- Compares its two arguments for order.
- compareTo(HClass) -
Method in class harpoon.ClassFile.HClass
- Compares two
HClass
es by lexicographic order of their
descriptors.
- compareTo(HMember) -
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.IR.Bytecode.Code.ExceptionEntry
-
- compareTo(Instr) -
Method in class harpoon.IR.Bytecode.Instr
- Natural ordering on
Instr
s.
- compareTo(Quad) -
Method in class harpoon.IR.Quads.Quad
-
- compareTo(Temp) -
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.
- compArgs -
Variable in class harpoon.Util.Options.Option
-
- compatible(PANode, HClass) -
Static method in class harpoon.Analysis.PA2.TypeFilter
-
- CompilerStage - Class in harpoon.Main
CompilerStage
- CompilerStage(String) -
Constructor for class harpoon.Main.CompilerStage
-
- CompilerStageEZ - Class in harpoon.Main
CompilerStageEZ
- CompilerStageEZ(String) -
Constructor for class harpoon.Main.CompilerStageEZ
- Creates a
CompilerStageEZ
.
- CompilerState - Class in harpoon.Main
CompilerState
is an immutable tuple that encapsulates
the date required while compiling a program.- CompleteClazNumbering - Class in harpoon.Backend.RuntimeTiny
CompleteClazNumbering
extends PreOrderClazNumbering
to create a numbering valid for all classes in the given classhierarchy.- CompleteClazNumbering(ClassHierarchy, PreOrderClazNumbering) -
Constructor for class harpoon.Backend.RuntimeTiny.CompleteClazNumbering
- Creates a
CompleteClazNumbering
.
- CompleteClazNumbering(ClassHierarchy) -
Constructor for class harpoon.Backend.RuntimeTiny.CompleteClazNumbering
-
- componentCheck(Quad, Temp, Temp, QuadWithTry, UseDef) -
Static method in class harpoon.IR.Quads.Pattern
-
- 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
-
- COMPONENTOF - Class in harpoon.IR.Quads
COMPONENTOF
objects implement the test needed to determine
if an ASET
needs to throw an exception.- COMPONENTOF(QuadFactory, HCodeElement, Temp, Temp, Temp) -
Constructor for class harpoon.IR.Quads.COMPONENTOF
- Creates a
COMPONENTOF
representing a typecheck test.
- COMPONENTOF -
Static variable in class harpoon.IR.Quads.QuadKind
-
- ComponentOfReducer - Class in harpoon.Analysis.Quads
- The
ComponentOfReducer
pass attempts to transform
COMPONENTOF
operations into (more efficient)
INSTANCEOF
operations, when this is safe to do. - ComponentOfReducer(HCodeFactory, ExactTypeMap<Quad>, FinalMap) -
Constructor for class harpoon.Analysis.Quads.ComponentOfReducer
- Creates a
ComponentOfReducer
.
- ComponentOfReducer(HCodeFactory, TypeMap<Quad>, FinalMap) -
Constructor for class harpoon.Analysis.Quads.ComponentOfReducer
-
- ComponentOfReducer(HCodeFactory, ClassHierarchy) -
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
- COMPRESS_LOST_NODES -
Static variable in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
- If
true
, compress all load nodes that escape into
an unanalyzed method and/or a static field into the single
summar node NodeRepository.LOST_SUMMARY
(currently,
this is done only at the end of a method, when producing the
external version of the ParIntGraph
).
- compressLostNodes(Set) -
Method in class harpoon.Analysis.PointerAnalysis.ParIntGraph
-
- CompStagePipeline - Class in harpoon.Main
CompStagePipeline
is a special
CompilerStage
that is the sequential composition of a
list of CompilerStage
s.- CompStagePipeline(List<CompilerStage>, String) -
Constructor for class harpoon.Main.CompStagePipeline
- Creates a
CompStagePipeline
.
- CompStagePipeline(List<CompilerStage>) -
Constructor for class harpoon.Main.CompStagePipeline
-
- CompStagePipeline(CompilerStage, CompilerStage, String) -
Constructor for class harpoon.Main.CompStagePipeline
-
- CompStagePipeline(CompilerStage, CompilerStage) -
Constructor for class harpoon.Main.CompStagePipeline
-
- compute(Graph<N, E>) -
Method in class harpoon.Analysis.Companions.DataFlowSolver
- Compute all dataflow facts on the given
Graph
.
- compute(Graph<N, E>) -
Method in class harpoon.Analysis.Companions.DataFlowSolver.Forward
-
- 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
-
- computeInterProcMu(CALL, ParIntGraph, ParIntGraph, PANode[], PointerAnalysis) -
Static method in class harpoon.Analysis.PointerAnalysis.ComputeInterProcMuClosure
- Compute the node mappings for the inter-procedural analysis,
according to the method outlined in Alex Salcianu's SM thesis
(Figure 2-8, page 39).
- ComputeInterProcMuClosure - Class in harpoon.Analysis.PointerAnalysis
ComputeMuClosure
is a [functional-programming style]
closure for the computeInterProcMu method
.- computeSCCLBB(HMethod) -
Method in class harpoon.Util.LightBasicBlocks.CachingSCCLBBFactory
- Computes the topologically sorted graph of all the light basic blocks
of 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.
- concreteSpillFactory(RegAlloc.IntermediateCodeFactory, Frame) -
Static method in class harpoon.Analysis.Instr.RegAlloc
- Produces an
HCodeFactory
which will transform the
abstract spills into concrete spills.
- concreteTypes() -
Method in interface harpoon.Analysis.PointsToAnalysis.Node
-
- CONDENSED_ESCAPE_INFO -
Static variable in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
- If
false
, do not keep track of all un-analyzed
methods where a node escapes.
- conditionallySingular(HMethod, StaticValue<Quad>) -
Method in class harpoon.Analysis.Companions.SingularFinder
-
- conditionallySingular(HMethod, StaticValue<HCE>) -
Method in interface harpoon.Analysis.Companions.SingularOracle
- Returns a set of parameters the given static value is
conditionally singular dependent on, or
null
if there is no such set (the static value is not singular).
- 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.AppelRegAlloc
- conservative coalescing heuristic due to Preston Briggs.
- conservative(AppelRegAllocClasses.Node, AppelRegAllocClasses.Node) -
Method in class harpoon.Analysis.Instr.AppelRegAllocFsk
-
- conservative(AppelRegAllocClasses.Node, AppelRegAllocClasses.Node) -
Method in class harpoon.Analysis.Instr.AppelRegAllocStd
-
- CONSIDER_TYPES -
Static variable in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
- If
true
, then we do not introduce edges about
which we can infer that they violate the type declarations:
e.g., an edge on the field "foo" from an inside node
for new Integer
.
- CONST -
Static variable in class harpoon.Analysis.PointerAnalysis.PANode
- Possible type: constant objects (e.g., Strings)
- CONST - Class in harpoon.IR.Quads
CONST
objects represent an assignment of a constant value
to a compiler temporary.- 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 -
Static variable in class harpoon.IR.Quads.QuadKind
-
- CONST - Class in harpoon.IR.Tree
CONST
objects are expressions which stand for a constant
value.- CONST(TreeFactory, HCodeElement, int) -
Constructor for class harpoon.IR.Tree.CONST
-
- CONST(TreeFactory, HCodeElement, long) -
Constructor for class harpoon.IR.Tree.CONST
-
- CONST(TreeFactory, HCodeElement, float) -
Constructor for class harpoon.IR.Tree.CONST
-
- CONST(TreeFactory, HCodeElement, double) -
Constructor for class harpoon.IR.Tree.CONST
-
- CONST(TreeFactory, HCodeElement) -
Constructor for class harpoon.IR.Tree.CONST
- Creates a
CONST
representing the constant
null
.
- CONST(TreeFactory, HCodeElement, int, boolean, int) -
Constructor for class harpoon.IR.Tree.CONST
- Creates a CONST with a precisely defined type.
- 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
-
- constant() -
Method in class harpoon.Analysis.LowQuad.Loop.Induction
-
- constant() -
Method in class harpoon.Analysis.LowQuad.Loop.Induction.IntMultAdd
-
- constant(int) -
Method in class harpoon.IR.RawClass.AttributeCode
- Lookup a
Constant
in the constant_pool
.
- Constant - Class in harpoon.IR.RawClass
- The
Constant
class represents a single item in
the constant pool of a class file. - Constant(ClassFile) -
Constructor for class harpoon.IR.RawClass.Constant
-
- 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
-
- ConstantClass - Class in harpoon.IR.RawClass
- 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 in harpoon.IR.RawClass
- 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 in harpoon.IR.RawClass
- The
CONSTANT_Fieldref
structure represents a field. - ConstantFieldref(ClassFile, int, int) -
Constructor for class harpoon.IR.RawClass.ConstantFieldref
- Constructor.
- ConstantFloat - Class in harpoon.IR.RawClass
- 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 in harpoon.IR.RawClass
- The
CONSTANT_Integer_info
structure represents
four-byte integer numeric constants. - ConstantInteger(ClassFile, int) -
Constructor for class harpoon.IR.RawClass.ConstantInteger
- Constructor.
- ConstantInterfaceMethodref - Class in harpoon.IR.RawClass
- The
CONSTANT_InterfaceMethodref
structure represents
an interface method. - ConstantInterfaceMethodref(ClassFile, int, int) -
Constructor for class harpoon.IR.RawClass.ConstantInterfaceMethodref
- Constructor.
- ConstantLong - Class in harpoon.IR.RawClass
- The
CONSTANT_Long_info
structure represents eight-byte
integer numeric constants. - ConstantLong(ClassFile, long) -
Constructor for class harpoon.IR.RawClass.ConstantLong
- Constructor.
- ConstantMethodref - Class in harpoon.IR.RawClass
- The
CONSTANT_Methodref
structure represents a method. - ConstantMethodref(ClassFile, int, int) -
Constructor for class harpoon.IR.RawClass.ConstantMethodref
- Constructor.
- ConstantNameAndType - Class in harpoon.IR.RawClass
- 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 in harpoon.Analysis.Tree
ConstantPropagation
performs constant
propagation on canonical tree form.- ConstantPropagation(HCodeFactory) -
Constructor for class harpoon.Analysis.Tree.ConstantPropagation
- Creates a
ConstantPropagation
.
- ConstantString - Class in harpoon.IR.RawClass
- 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 in harpoon.IR.RawClass
- The
CONSTANT_Utf8_info
structure is used to represent
constant string values. - ConstantUtf8(ClassFile, String) -
Constructor for class harpoon.IR.RawClass.ConstantUtf8
- Constructor.
- 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.
- ConstantValue - Class in harpoon.IR.RawClass
- The
ConstantValue
interface provides a standard
way for constants to return a wrapped version of their values. - ConstantValue(ClassFile) -
Constructor for class harpoon.IR.RawClass.ConstantValue
-
- 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
-
- ConstMap<HCE extends HCodeElement> - Interface in harpoon.Analysis.Maps
ConstMap
is a mapping from temporaries to their constant
values.- constMap(HCE, Temp) -
Method in interface harpoon.Analysis.Maps.ConstMap
- Determine the constant value of a given temporary in the
context of a specific definition.
- constMap(HCE, Temp) -
Method in class harpoon.Analysis.Maps.ConstMapProxy
-
- constMap(HCE, Temp) -
Method in class harpoon.Analysis.Maps.DefaultMap
-
- 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.Quads.SimpleConstMap
-
- 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<HCE extends HCodeElement> - Class in harpoon.Analysis.Maps
- 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<HCE>, ConstMap<HCE>) -
Constructor for class harpoon.Analysis.Maps.ConstMapProxy
- Creates a
ConstMapProxy
.
- constructMRoots(Set, ClassHierarchy) -
Static method in class harpoon.Analysis.MetaMethods.SmartCallGraph
- Constructs the set of method roots for the compiled program.
- ConstructorClassifier - Class in harpoon.Analysis.SizeOpt
- 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(WGNode) -
Method in class harpoon.Analysis.Partition.WeightedGraph
-
- contains(Object, Object) -
Method in class harpoon.Analysis.PointerAnalysis.AbstrRelation
-
- contains(Object) -
Method in class harpoon.Analysis.PointerAnalysis.PAWorkList
-
- contains(Object) -
Method in class harpoon.Analysis.PointerAnalysis.PAWorkSet
-
- contains(Object) -
Method in class harpoon.Analysis.PointerAnalysis.PAWorkStack
-
- contains(Object, Object) -
Method in interface harpoon.Analysis.PointerAnalysis.Relation
- Checks the existence of the relation
<key,value>
.
- contains(Object, Object) -
Method in class harpoon.Analysis.PointerAnalysis.RelationImpl
-
- 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(HandlerSet, HANDLER) -
Static method in class harpoon.IR.Quads.HandlerSet
- Determines if a given
HandlerSet
contains a given
HANDLER
.
- contains(int) -
Method in class harpoon.Tools.PatMat.Spec.TypeSet
- Checks if
this
contains type
.
- contains(A, B) -
Method in interface harpoon.Util.BinaryRelation
- Checks if this relation holds for a given pair.
- contains(Object) -
Method in class harpoon.Util.BinHeapPriorityQueue
-
- contains(Object) -
Method in interface harpoon.Util.Worklist
- Determines if the Worklist contains an item.
- 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.Analysis.PointerAnalysis.AbstrRelation
-
- containsKey(Object) -
Method in class harpoon.Analysis.PointerAnalysis.LightMap
-
- containsKey(Object) -
Method in interface harpoon.Analysis.PointerAnalysis.Relation
- Checks the existence of the
key
key in this relation.
- containsKey(Object) -
Method in class harpoon.Analysis.PointerAnalysis.RelationImpl
-
- 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.Analysis.PointerAnalysis.LightMap
- Unsupported yet.
- ContBuilder - Class in harpoon.Analysis.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 in harpoon.Analysis.EventDriven
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 in harpoon.Analysis.EventDriven
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 in harpoon.Analysis.EventDriven
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<E> - Class in harpoon.Analysis
- 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() -
Constructor for class harpoon.Analysis.Context
-
- 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
-
- CONTINUE -
Static variable in class harpoon.Tools.Annotation.Sym
-
- convert(MetaCallGraph) -
Method in class harpoon.Analysis.EventDriven.EventDriven
- Returns the converted main
- 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(Map, Relation) -
Method in class harpoon.Analysis.PointerAnalysis.AbstrRelation
-
- convert(Map, Relation) -
Method in interface harpoon.Analysis.PointerAnalysis.Relation
- Convert
this
relation through the mapping
map
.
- convert(Map, Relation) -
Method in class harpoon.Analysis.PointerAnalysis.RelationImpl
-
- convert(HMethod) -
Method in class harpoon.Analysis.Quads.MethodInliningCodeFactory
- Make an
HCode
from an HMethod
.
- 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.Realtime.PrintFactory
-
- convert(HMethod) -
Method in class harpoon.Analysis.Transactions.ArrayCopyImplementer
-
- convert(HMethod) -
Method in class harpoon.Analysis.Transactions.CloneImplementer
-
- convert(HMethod) -
Method in class harpoon.Analysis.UseDefChecker
-
- convert(HMethod) -
Method in class harpoon.ClassFile.CachingCodeFactory
- Convert a method to an
HCode
, caching the result.
- convert(HMethod) -
Method in interface harpoon.ClassFile.HCodeFactory
- Make an
HCode
from an HMethod
.
- convert(Object, Map) -
Static method in class harpoon.Util.Util
- Converts an objects using the reflexive closure of a map.
- convert2bb(HMethod) -
Method in class harpoon.Util.BasicBlocks.BBConverter
- Converts the code of the method
hm
to basic
blocks.
- 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.
- convert2lbb(HMethod) -
Method in class harpoon.Util.LightBasicBlocks.CachingLBBConverter
- Returns a
LighBasicBlock.Factory
for the body of
a method.
- convert2lbb(HMethod) -
Method in class harpoon.Util.LightBasicBlocks.LBBConverter
- Returns a
LightBasicBlock.Factory
for the body of
a method.
- copied -
Variable in class harpoon.Analysis.LowQuad.Loop.Induction
-
- copy() -
Method in class harpoon.Analysis.DataFlow.ReversePostOrderEnumerator
-
- copy() -
Method in class harpoon.Analysis.DataFlow.ReversePostOrderIterator
-
- copy(Object) -
Method in class harpoon.Analysis.PA2.EdgeSetVar
-
- copy(Object) -
Method in class harpoon.Analysis.PA2.NodeSetVar
-
- copy(Object) -
Method in class harpoon.Analysis.PA2.WVar
-
- copy(ArrayFactory<T>, T[]) -
Static method in class harpoon.Util.Util
- Deprecated. The
clone()
method on arrays works
much better, and should be used instead of this method.
- copyEdges(PANode, PAEdgeSet) -
Method in class harpoon.Analysis.PointerAnalysis.LightPAEdgeSet
-
- copyEdges(PANode, PAEdgeSet) -
Method in interface harpoon.Analysis.PointerAnalysis.PAEdgeSet
-
- 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 in harpoon.Analysis.Counters
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 in harpoon.Runtime
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 in harpoon.Runtime
CounterSupport
provides support for simple instrumentation.- CounterSupport() -
Constructor for class harpoon.Runtime.CounterSupport
-
- countSA(Code) -
Static method in class harpoon.Analysis.PA2.AllocSync.Debug
-
- create() -
Method in class harpoon.Analysis.PA2.MapRelEdgeSetFactory
-
- create(PAEdgeSet) -
Method in class harpoon.Analysis.PA2.MapRelEdgeSetFactory
-
- 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.
- 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.
- CREATOR -
Static variable in class harpoon.Analysis.PreciseGC.RCTransformer
- The
CREATOR
token represents the transformed
version of the method.
- cs -
Variable in class harpoon.Analysis.PA2.IntraProc
-
- csSpecialize(Map, CALL) -
Method in class harpoon.Analysis.PointerAnalysis.ActionRepository
-
- 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.
- CycleEq - Class in harpoon.Analysis
CycleEq
computes cycle equivalence classes for edges in
a control flow graph, in O(E) time.- CycleEq(HCode) -
Constructor for class harpoon.Analysis.CycleEq
-
Data
is an abstract superclass with handy useful methods
for the harpoon.IR.Tree.Data
subclasses in
Runtime1
.Data
.
Data
is an abstract implementation of HData
for IR.Tree
form.IR.Tree.CONST
or IR.Tree.NAME
specifying the value with which to initialize this location.
DataClaz
lays out the claz tables, including the
interface and class method dispatch tables.ClassData
.
DataClazTable
outputs an indirection table listing
all the claz structures used in the program.DataClazTable
.
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
.DataFlowSolver
class provides a parameterized framework
for building simple data flow analyses for various IRs.DataFlowSolver.Forward
is a dataflow solver for
forward dataflow analyses.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
DEBUG
prints a debugging string to standard error.DEBUG
object.
n
DeepInliner
contains the code responsible with
inlining a set of InlineChain
s.Temp
s defined by this Instr
.
Temp
s defined by this
HCodeElement
.
Temp
s defined by
hce
.
Temp
defined by this quad.
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
.
CFGrapher
for HCodeElement
s
which implement CFGraphable
.
UseDefer
for HCodeElement
s
which implement UseDefable
.
DefaultAllocationInformation
returns a simple
no-analysis AllocationInformation
structure which
works for allocation sites in quad form.DefaultAllocationInformationMap
is a combination of
AllocationInformationMap
and
DefaultAllocationInformation
.DefaultAllocationInformationMap
.
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
.
Object
in
this
with the highest priority.
DemandDrivenRegAlloc
performs
Demand-Driven Register Allocation for a set of
Instr
s in a Code
.DemandDrivenRegAlloc
.
sync
took place in the current method.
Derivation
provides a means to access the derivation
of a particular derived pointer.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.
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
.
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
.
DerivationMap
is a simple map-based implementation of
common Derivation
functionality.DerivationMap
.
descriptor_index
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
item must be a
valid index into the constant_pool
table.
this
node for debug
purposes.
this
(speed-cost, size-cost, predicates, etc.).
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.DispatchTreeTransformation
replaces dynamic dispatch
call sites with TYPESWITCHes leading to static dispatch calls.DispatchTreeTransformation
.
Temp
s
to Induction
objects containing information
on their derivation.
hm
(transitively)
executes any input/output operation.
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.
DSFactories
Temp
in which to store the offset or constant.
Temp
in which to store the offset or
constant.
Temp
in which to store the fetched field or array
element.
Temp
in which to store the fetched field or
array element.
Temp
in which to store the computed
POINTER
value.
Temp
in which to store the computed
POINTER
value.
Temp
in which to store the fetched element.
Temp
.
Temp
in which to store the array length.
Temp
.
Temp
in which to store the new array reference.
Temp
.
Temp
in which to store the result of the test.
Temp
in which to store the result of the
type check test.
Temp
.
Temp
which will contain the specified
constant value.
Temp
in which to store the fetched field contents.
Temp
in which to store the fetched field.
Temp
in which to store the result of the test.
Temp
in which to store the result of the
instanceof
test.
Temp
.
Temp
.
Temp
in which to store the new object.
Temp
in which to store the new object.
Temp
in which to store the result of the operation.
Temp
in which to store the result of the
operation.
nPhi
'th phi
function assignment in the block.
nTuple
'th element of the tuple returned
by the nSigma
'th sigma function in the block.
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.
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.
DynamicSyncImpl
is a helper class to implement
dynamic synchronization removal.DynamicSyncRemoval
DynamicWBInserter
inserts instructions where needed to
set and clear the per-object bit for dynamic write barriers.DynamicWBInserter
.
DynamicWBAnalysis
identifies NEW
and ANEW
Quad
s for which
corresponding write barriers are removed.DynamicWBQuadPass
inserts dynamic write barriers, where
possible and identifies SET
s and ASET
s for which
static write barriers are unnecessary.DynamicWBQuadPass
.
DynamicWBTreePass
performs some low-level transformations to
the output of DynamicWBQuadPass
which cannot be done in the
quad form on which DynamicWBQuadPass
operates.Edge
objects connect Quad
nodes in the
control-flow graph.this
.
List
of all the edges to and from
this HCodeElement
.
List
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.EdgeOrdering
object.
this
.
CFGraphable
.
EdgeSetVar
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
.
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.
HClass
implementation that Flex
enters an immutability epoch, i.e., a period of time when no
HClass will be mutated.
EnumerationIterator
converts an Enumeration
into an Iterator
.EnumerationIterator
.
EnvBuilder
EnvBuilder
.
EnvCode
EnvCode
.
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)
Overview: an EqTempSets is a pair <S,M>, where
S is a set of disjoint sets of temps
M is a mapping from disjoint sets to register temps.this
object with object
o
.
this
object with object
o
.
ActionRepository
s.
NodeOrdering
objects.
PAEscapeFunc
objects.
ParIntGraph
s.
PAThreadMap
s
PointsToGraph
s.
WrappedMachineRegLoc
objects
for equality.
WrappedStackOffsetLoc
objects
for equality.
HField
against the specified object.
HMethod
against the specified object.
obj
is an
InterfaceListPointer
which points to the same location
as this InterfaceListPointer
.
obj
is a StringPointer
that points to the same location as this StringPointer
.
HandlerSet
.
HandlerSet
s are equal.
Tuple
s.
ExactTemp
s.
this
Comparator.
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.
EVar
EventDriven
EventDriven
.
EventDriven
EventDrivenCode
EventDrivenCode
.
EventDrivenTransformation
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.HCodeElement
.
HCodeEdge
.
Quad
q
is executable.
Edge
e
is executable.
Quad
q
is executable.
Edge
e
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
.
HClass
implementation that Flex exits
an immutability epoch (i.e., in the future, Flex may mutate one
or more HClass
.
Exp
objects are expressions which stand for the computation
of some value (possibly with side effects).this
matches.
this
.
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.FakeMetaCallGraph
converts a classic CallGraph
to
a MetaCallGraph
.FakeMetaCallGraph
.
FCFGBasicBlock
is a basic block structure for the Factored
Control Flow Graph (FCFG) representation.FCFGBasicBlock
.
FCFGBasicBlock
views of an HCode
.FCFGBasicBlock
view of
hcode
hcode
must be in
"quad-with-try" format.
HField
to address.
POINTER
constant is computed.
HField
to address.
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
.
HData
s to insert bit-field numbering information.
FinalMap
determines whether a class or method is
final
.graph
.
Set
of all of the Temp
s
in blocks
.
Set
of all of the referenced
variables in blocks
.
Set
of all of the HCodeElement
s
in blocks
which have non-empty def sets.
Flags
HClass
object representing the primitive type float.
PointsToGraph
.
FOOTER
nodes are used to anchor the bottom end of the quad
graph.FOOTER
.
FOOTER
corresponding to this
HEADER
.
this
edge ordering relation.
<key,value>
of
this
relation and calls visitor.visit
on each of them.
this
graph.
action || thread
elements.
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.Frame
.
Sparc.Frame
contains architecture specific info
for the Sparc Backend.Frame
contains the machine-dependant
information necessary to compile for the StrongARM processor.HCodeEdge
.
CFGEdge
.
FullAnalysisResult
models the full information that
pointer analysis was able to compute about an analyzed method.FVar
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
.
GenType
models a type.GenType
.
hclass
as superclass.
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
.
GET
represent field access (get) operations.GET
representing a field access.
LightBasicBlock
s of the underlying
HCode
.
this
one function of some call sites.
this
node.
Set
of
HClass
es.
AllocationInformation
for this codeview.
AllocationStrategy
object.
methods
.
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.
i
.
this
node.
InterfaceList
representing the base of this
InterfaceListPointer
.
Label
representing the base of this
StringPointer
UndefinedRef
object representing the
base of this UndefinedPointer
.
getBlock
.
BasicBlockInterf
containing
hce
.
getBlock
.
eo
is read.
this
callgraph.
this
meta-callgraph.
BasicBlock
containing
hce
.
FCFGBasicBlock
containing
hce
.
LightBasicBlock
the instruction
hce
belongs to.
HType
objects representing the
declared bound(s) of the type variable represented by this object.
this
PointerAnalysis
object.
this
node.
mm
.
mm
at the call site q
.
mm
.
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
.
mm
.
mm
.
CALL
s quads in the code
of hm
.
CALL
s quads in the code
of hm
.
null
.
IR.Assem
s,
given a code factory for CanonicalTreeCode
.
Generic.CodeGen
for the backend
associated with this
.
MIPS.CodeGen
.
StrongARM.CodeGen
.
HCode
that this factory produces.
HCodeFactory
.
HCode
s generated by this
CachingCodeFactory
.
HCode
that this factory produces.
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
).
node
.
this
.
node
.
Collection
whose members are disjunct
Collection
of mutually compatible allocation sites
(NEW
quads in SSI form).
HClass
object representing the component type of the array; otherwise returns
null.
HField
, if
it is a constant field.
value
.
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.
alloc
was executed.
WriteBarrierData
object for inserting
static data needed to gather dynamic statistics about 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 declared the type variable represented by this
object.
HClass
object representing the class or
interface that declares the field represented by this
HField
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 method represented by this
HMethod
object.
HMethod
object representing the method
that declared the type variable represented by this 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.
HClass
object.
HField
object.
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 code view.
Collection
(a List
) of
the component objects making up this data 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. the graph at the end of the method.
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.
this
callgraph.
this
meta-callgraph.
Frame
which is associated with all
of the Instr
s generated by this factory.
HClass
to which all
HDataElement
s generated by this factory belong.
Frame
to be used to resolve
machine-dependent issues for this TreeFactory
.
getInterProcResult
but returns all
information the pointer analysis is able to infer about
hm
.
PARTJSupportCompStage
.
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
HType
s representing the interfaces
implemented by the class or interface represented by this object.
HType
objects that represent the
formal parameter types, in declaration order, of the method
represented by this HMethod
object.
HType
object that represents the formal
return type of the method represented by this
HMethod
object.
HType
representing the superclass of the
entity (class, interface, primitive type or void) represented by
this HClass
.
HType
object that represents the declared
compile-time type for the field represented by this
HField
object.
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 basic blocks of.
HCode
that this
factory
produces basic blocks of.
HCode
that this
factory
produces FCFG basic blocks of.
HCode
.
Temp
representing the high order bits
of this
.
HMethod
that this
meta-method
is a specialization of.
Quad
.
Tree
.
Set
for all Codes.
- getIgnoreSet(Code) -
Method in interface harpoon.Analysis.PreciseGC.WriteBarrierInserter.WriteBarrierAnalysis
- returns a
Set
of Quad
s for
the given Code
for which write barriers
are not required.
- getIndex() -
Method in class harpoon.IR.Bytecode.OpLocalVariable
- Get the local variable index
- getInsideNode(Quad) -
Method in class harpoon.Analysis.PA2.NodeRepository
-
- getInsideNodeType(PANode) -
Method in class harpoon.Analysis.PointerAnalysis.NodeRepository
- Gets the type of an inside node.
- getInstr() -
Method in class harpoon.Analysis.Instr.TempInstrPair
-
- getInstrBuilder() -
Method in class harpoon.Backend.Generic.Frame
- Returns the appropriate
InstrBuilder
for this
Frame
.
- getInstrBuilder() -
Method in class harpoon.Backend.MIPS.Frame
-
- getInstrBuilder() -
Method in class harpoon.Backend.PreciseC.Frame
-
- getInstrBuilder() -
Method in class harpoon.Backend.Sparc.Frame
-
- getInstrBuilder() -
Method in class harpoon.Backend.StrongARM.Frame
-
- getInstrBuilder() -
Method in class harpoon.Interpret.Tree.DefaultFrame
- Stub added by FSK.
- getInstrFactory() -
Method in class harpoon.IR.Assem.Code
- Allows access to the InstrFactory used by this codeview.
- getInstrFor(Label) -
Method in class harpoon.IR.Assem.Instr
- Returns the
InstrLABEL
associated with
l
in the InstrFactory
for
this
.
- getInterestingAGETs(HMethod, HCode) -
Method in class harpoon.Util.TypeInference.ArrayInfo
- Returns the set of
AGET
instructions from hcode
that access arrays of non primitive objects.
- getInterestingAGETs(HMethod, HCode) -
Method in class harpoon.Util.TypeInference.CachingArrayInfo
- Returns the set of
AGET
instructions from hcode
that access arrays of non primitive objects.
- getInterface(int) -
Method in class harpoon.Interpret.Tree.InterfaceList
- Returns the i'th element of this
InterfaceList
- getInterfaces() -
Method in class harpoon.ClassFile.HClass
- Determines the interfaces implemented by the class or interface
represented by this object.
- getInterProcResult(HMethod, AnalysisPolicy) -
Method in class harpoon.Analysis.PA2.PointerAnalysis
- The simplified analysis result for the end of the method
hm
.
- getInterProcResult(HMethod, AnalysisPolicy) -
Method in class harpoon.Analysis.PA2.WPPointerAnalysis
-
- getIntParIntGraph(MetaMethod, boolean) -
Method in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
- Returns the full (internal)
ParIntGraph
attached
to the method hm
i.e. the graph at the end of the
method.
- getIntParIntGraph(MetaMethod) -
Method in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
- Equivalent to
getIntParIntGraph
(mm
,true
).
- getIntParIntGraph(HMethod) -
Method in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
- That's what you probably want: equivalent to
getIntParIntGraph(new MetaMethod(hm, true))
.
- getIntThreadInteraction(MetaMethod) -
Method in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
-
- getLabel() -
Method in class harpoon.IR.Assem.InstrLABEL
- Return the code label specified in the constructor.
- getLabeledForwardNavigator() -
Method in class harpoon.Analysis.PA2.Mutation.MutationNFA
-
- getLabelOfPtrToMemoryChunk() -
Method in class harpoon.Analysis.AllocationInformationMap.AllocationPropertiesImpl
-
- getLabelOfPtrToMemoryChunk() -
Method in class harpoon.Analysis.ChainedAllocationProperties
-
- getLabelOfPtrToMemoryChunk() -
Method in interface harpoon.Analysis.Maps.AllocationInformation.AllocationProperties
-
- getLabelOfPtrToMemoryChunk() -
Method in class harpoon.Analysis.PointerAnalysis.MyAP
-
- getLast() -
Method in class harpoon.Analysis.BasicBlock
- Deprecated. Use the standard List view provided by statements() instead
- getLast() -
Method in interface harpoon.Analysis.BasicBlockInterf
- Returns the last statement of the basic block.
- getLast() -
Method in class harpoon.Analysis.FCFGBasicBlock
- Returns the last instruction of
this
basic block.
- getLastElement() -
Method in class harpoon.Util.LightBasicBlocks.LightBasicBlock
- Returns the last instruction from
this
basic block.
- getLastElements(HCode<HCE>) -
Method in class harpoon.IR.Properties.CFGrapher
- Returns the last
HCodeElement
s to be executed; that is,
the leaves of the control-flow graph.
- getLBBConverter() -
Method in class harpoon.Util.LightBasicBlocks.SCCLBBFactory
- Returns the underlying
LBBConverter
.
- getLeafElements() -
Method in class harpoon.ClassFile.HCode
- Return the 'leaves' of this code view; that is,
the elements with no successors.
- getLeafElements() -
Method in class harpoon.IR.Assem.Code
-
- getLeafElements() -
Method in class harpoon.IR.Bytecode.Code
-
- getLeafElements() -
Method in class harpoon.IR.Quads.Code
- Returns the leaves of the control flow graph.
- getLeafElements() -
Method in class harpoon.IR.Tree.Code
- Returns the leaves of the Tree
- getLeafElementsL() -
Method in class harpoon.IR.Bytecode.Code
-
- getLeaves() -
Method in class harpoon.Analysis.BasicBlock.Factory
- Returns the leaf
BasicBlock
s.
- getLeaves() -
Method in class harpoon.Analysis.FCFGBasicBlock.Factory
- Returns the leaf
FCFGBasicBlock
s.
- getLeavesBBInterf() -
Method in class harpoon.Analysis.BasicBlock.Factory
- Does the same thing as
getLeaves
.
- getLeavesBBInterf() -
Method in interface harpoon.Analysis.BasicBlockFactoryInterf
- Returns the leaf
BasicBlockInterf
s.
- getLeavesBBInterf() -
Method in class harpoon.Analysis.FCFGBasicBlock.Factory
- Does the same thing as
getLeaves
.
- getLeft() -
Method in class harpoon.IR.Tree.BINOP
- Returns the subexpression of the left-hand side of the operator.
- getLeft() -
Method in class harpoon.IR.Tree.SEQ
- Returns the statement to evaluate first.
- getLine(HCodeElement) -
Static method in class harpoon.Util.Util
- Returns the line of the instruction q in the format
source_file:line_number
.
- getLineNumber() -
Method in interface harpoon.ClassFile.HCodeElement
- Get the line in the original source file that this element is
traceable to.
- getLineNumber() -
Method in class harpoon.IR.Assem.Instr
-
- getLineNumber() -
Method in class harpoon.IR.Bytecode.Instr
- Returns the line in the original source file that this bytecode
instruction can be traced to.
- getLineNumber() -
Method in class harpoon.IR.Quads.Quad
- Returns the line in the original source file that this
Quad
is derived from.
- getLineNumber() -
Method in class harpoon.IR.Tree.Tree
- Returns the line in the original source file that this
Tree
is derived from.
- getLinker() -
Method in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
-
- getLinker() -
Method in class harpoon.Backend.Generic.Frame
- The
Linker
object to use when compiling for this
Frame
.
- getLinker() -
Method in class harpoon.Backend.MIPS.Frame
-
- getLinker() -
Method in class harpoon.Backend.PreciseC.Frame
-
- getLinker() -
Method in class harpoon.Backend.Sparc.Frame
-
- getLinker() -
Method in class harpoon.Backend.StrongARM.Frame
-
- getLinker() -
Method in class harpoon.ClassFile.HClass
- Returns the linker responsible for the resolution of this
HClass
object.
- getLinker() -
Method in class harpoon.Interpret.Tree.DefaultFrame
-
- getLinker() -
Method in class harpoon.IR.Quads.QuadFactory
- Returns the
Linker
used to resolve class names
for all Quad
s.
- getLinker() -
Method in class harpoon.Main.CompilerState
-
- getLiveAfter(HCodeElement) -
Method in class harpoon.Analysis.DataFlow.CachingLiveTemps
-
- getLiveAfter(HCodeElement) -
Method in class harpoon.Analysis.DataFlow.LiveTemps
- Returns the
Set
of Temp
s that are
live on exit from hce
.
- getLiveAfter(HCodeElement) -
Method in class harpoon.Analysis.DataFlow.SpaceHeavyLiveTemps
-
- getLiveBefore(HCodeElement) -
Method in class harpoon.Analysis.DataFlow.LiveTemps
- Returns the
Set
of Temp
s that are
live on on entry to hce
.
- getLiveIn(HCodeElement) -
Method in class harpoon.Analysis.DataFlow.LiveVars
-
- getLiveIn(HCE) -
Method in class harpoon.Analysis.Liveness
- Returns the
Set
of Temp
s
that are live-in at the HCodeElement
.
- getLiveIn(Quad) -
Method in class harpoon.Analysis.Quads.QuadLiveness
- Returns the
Set
of Temp
s
that are live-in at the HCodeElement
.
- getLiveInandOutArray(Quad) -
Method in class harpoon.Analysis.Quads.QuadLiveness
-
- getLiveInArray(Quad) -
Method in class harpoon.Analysis.Quads.QuadLiveness
- Same as getLiveIn, but returns array of
Temp
s.
- getLiveOn(Edge) -
Method in class harpoon.Analysis.MemOpt.SSILiveness
-
- getLiveOnEntry(BasicBlock) -
Method in class harpoon.Analysis.DataFlow.LiveVars.BBVisitor
- Returns the
Set
of variables that are
live on entry to b
.
- getLiveOnExit(BasicBlock) -
Method in class harpoon.Analysis.DataFlow.LiveVars.BBVisitor
- Returns the
Set
of variables that are
live on exit from b
.
- getLiveOut(HCodeElement) -
Method in class harpoon.Analysis.DataFlow.LiveVars
-
- getLiveOut(HCE) -
Method in class harpoon.Analysis.Liveness
- Returns the
Set
of Temp
s
that are live-out at the HCodeElement
.
- getLiveOut(Quad) -
Method in class harpoon.Analysis.Quads.QuadLiveness
- Returns the
Set
of Temp
s
that are live-out at the HCodeElement
.
- getLiveOutArray(Quad) -
Method in class harpoon.Analysis.Quads.QuadLiveness
- Same as getLiveOut, but returns array of
Temp
s.
- getLoadNodeSpecial(HCodeElement, String) -
Method in class harpoon.Analysis.PointerAnalysis.NodeRepository
- Special function for load instructions that read multiple fields
in the same time (the motivating example is that of "clone()")
For such an instruction, a load node is generated for each field
that is read (
f
in the parameter list).
- getLocationFactory() -
Method in class harpoon.Backend.Generic.Frame
- Returns the appropriate
LocationFactory
for this
Frame
.
- getLocationFactory() -
Method in class harpoon.Backend.MIPS.Frame
-
- getLocationFactory() -
Method in class harpoon.Backend.PreciseC.Frame
-
- getLocationFactory() -
Method in class harpoon.Backend.Sparc.Frame
-
- getLocationFactory() -
Method in class harpoon.Backend.StrongARM.Frame
-
- getLocationFactory() -
Method in class harpoon.Interpret.Tree.DefaultFrame
- Stub added by CSA.
- getLongind() -
Method in class gnu.getopt.Getopt
- Returns the index into the array of long options (NOT argv) representing
the long option that was found.
- getLostNodes(MetaMethod) -
Method in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
-
- getLow() -
Method in class harpoon.Backend.StrongARM.TwoWordTemp
- Returns the
Temp
representing the low order bits
of this
.
- getMain() -
Method in class harpoon.Main.CompilerState
-
- getMaxID(HCodeElement) -
Static method in class harpoon.Analysis.DataFlow.TreeSolver
-
- getMaxLocals() -
Method in class harpoon.IR.Bytecode.Code
- Get the number of local variables used in this method, including
the parameters passed to the method on invocation.
- getMaxStack() -
Method in class harpoon.IR.Bytecode.Code
- Get the maximum number of words on the operand stack at any point
during execution of this method.
- getMemAmount(Quad) -
Method in class harpoon.Instrumentation.AllocationStatistics.AllocationStatistics
- Returns the total amount of memory allocated at the allocation
alloc
.
- getMemLimit() -
Method in class harpoon.Interpret.Tree.DefaultFrame
-
- getMetaAllCallers() -
Method in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
- Returns the all callers graph used by
this
PointerAnalysis
object.
- getMetaCallGraph() -
Method in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
- Returns the call graph graph used by
this
PointerAnalysis
object.
- getMethod(String, HClass[]) -
Method in class harpoon.ClassFile.HClass
- Returns an
HMethod
object that reflects the specified
accessible method of the class or interface represented by this
HClass
object.
- getMethod(String, String) -
Method in class harpoon.ClassFile.HClass
- Returns an
HMethod
object that reflects the specified
accessible method of the class or interface represented by this
HClass
object.
- getMethod() -
Method in class harpoon.ClassFile.HCode
- Return the
HMethod
to which this HCode
belongs.
- getMethod(Linker, String, String, HClass[]) -
Static method in class harpoon.Instrumentation.AllocationStatistics.InstrumentAllocs
- Returns that method of class
clsn
that is called
mn
and has arguments of types
a_types
.
- getMethod() -
Method in class harpoon.IR.Assem.Code
-
- getMethod() -
Method in class harpoon.IR.Assem.InstrFactory
- Returns the
HMethod
which corresponds to
Instr
s generated by this factory.
- getMethod() -
Method in class harpoon.IR.Bytecode.Code
- Return the
HMethod
this codeview
belongs to.
- getMethod() -
Method in class harpoon.IR.Quads.Code
- Return the
HMethod
this codeview
belongs to.
- getMethod() -
Method in class harpoon.IR.Quads.QuadFactory
- Returns the
HMethod
for which all Quad
s
correspond.
- getMethod() -
Method in class harpoon.IR.Tree.Code
- Return the
HMethod
this codeview
belongs to.
- getMethod() -
Method in class harpoon.IR.Tree.Code.TreeFactory
- Returns the
HMethod
to which all Exp
s and
Stm
s generated by this factory belong.
- getMethod() -
Method in class harpoon.IR.Tree.METHOD
- Return the label which should mark the top of the method.
- getMethods() -
Method in class harpoon.ClassFile.HClass
- Returns an array containing
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.
- getModifiers() -
Method in class harpoon.ClassFile.HClass
- Returns the Java language modifiers for this class or interface,
encoded in an integer.
- getModifiers() -
Method in interface harpoon.ClassFile.HField
- Returns the Java language modifiers for the field represented by this
HField
object, as an integer.
- getModifiers() -
Method in interface harpoon.ClassFile.HMember
- Returns the Java language modifiers for the member of constructor
represented by this
HMember
, as an integer.
- getModifiers() -
Method in interface harpoon.ClassFile.HMethod
- Returns the Java language modifiers for the method represented by this
HMethod
object, as an integer.
- getMutatedAbstrFields(HMethod) -
Method in class harpoon.Analysis.PA2.Mutation.MutationAnalysis
-
- getMutationRegExp(HMethod) -
Method in class harpoon.Analysis.PA2.Mutation.MutationAnalysis
-
- getMutator() -
Method in class harpoon.ClassFile.HClass
- Returns a mutator for this
HClass
, or null
if this object is immutable.
- getMutator() -
Method in interface harpoon.ClassFile.HField
- Returns a mutator for this
HField
, or null
if the object is immutable.
- getMutator() -
Method in interface harpoon.ClassFile.HMethod
- Returns a mutator for this
HMethod
, or null
if the object is immutable.
- getName() -
Method in class gnu.getopt.LongOpt
- Returns the name of this LongOpt as a String
- getName() -
Method in class harpoon.Analysis.EnvBuilder.EnvCode
- Return the name of this code view.
- getName() -
Method in class harpoon.Analysis.EventDriven.ContCode
- Return the name of this code view.
- getName() -
Method in class harpoon.Analysis.EventDriven.ContCodeNoSSA
- Return the name of this code view.
- getName() -
Method in class harpoon.Analysis.EventDriven.ContCodeSSI
- Return the name of this code view.
- getName() -
Method in class harpoon.Analysis.EventDriven.EventDrivenCode
- Return the name of this code view.
- getName() -
Method in class harpoon.Analysis.LowQuad.Loop.MyLowQuadNoSSA
-
- getName() -
Method in class harpoon.Analysis.LowQuad.Loop.MyLowQuadSSI
-
- getName() -
Method in class harpoon.Backend.CSAHack.RegAlloc.Code
-
- getName() -
Method in class harpoon.Backend.Generic.Code
-
- getName() -
Method in class harpoon.ClassFile.HClass
- Returns the fully-qualified name of the type (class, interface,
array, or primitive) represented by this
HClass
object,
as a String
.
- getName() -
Method in class harpoon.ClassFile.HCode
- Return the name of this code view.
- getName() -
Method in interface harpoon.ClassFile.HConstructor
- Returns the name of this constructor, as a string.
- getName() -
Method in interface harpoon.ClassFile.HField
- Returns the name of the field represented by this
HField
object.
- getName() -
Method in interface harpoon.ClassFile.HInitializer
- Returns the name of this class initializer, as a string.
- getName() -
Method in interface harpoon.ClassFile.HMember
- Returns the simple name of the underlying member or constructor
represented by this
HMember
.
- getName() -
Method in interface harpoon.ClassFile.HMethod
- Returns the name of the method represented by this
HMethod
object, as a String
.
- getName() -
Method in interface harpoon.ClassFile.HTypeVariable
- Returns the name of this type variable.
- getName() -
Method in class harpoon.IR.Bytecode.Code
- Return the name of this code view,
"bytecode"
.
- getName() -
Method in class harpoon.IR.LowQuad.LowQuadNoSSA
- Return the name of this code view.
- getName() -
Method in class harpoon.IR.LowQuad.LowQuadSSA
- Return the name of this code view.
- getName() -
Method in class harpoon.IR.LowQuad.LowQuadSSI
- Return the name of this code view.
- getName() -
Method in class harpoon.IR.Quads.Code
- Return the name of this code view.
- getName() -
Method in class harpoon.IR.Quads.QuadNoSSA
- Return the name of this code view.
- getName() -
Method in class harpoon.IR.Quads.QuadRSSx
- Return the name of this code view.
- getName() -
Method in class harpoon.IR.Quads.QuadSSA
- Return the name of this code view.
- getName() -
Method in class harpoon.IR.Quads.QuadSSI
- Return the name of this code view.
- getName() -
Method in class harpoon.IR.Quads.QuadWithTry
- Return the name of this code view.
- getName() -
Method in class harpoon.IR.Quads.ResilientNoSSA
- Return the name of this code view.
- getName() -
Method in class harpoon.IR.Tree.CanonicalTreeCode
- Return the name of this code view.
- getName() -
Method in class harpoon.IR.Tree.Code
- Return the name of this code view.
- getName() -
Method in class harpoon.IR.Tree.OptimizedTreeCode
- Return the name of this code view.
- getName() -
Method in class harpoon.IR.Tree.TreeCode
- Return the name of this code view.
- getNameMap() -
Method in class harpoon.Backend.Generic.Runtime
- Returns a
NameMap
valid for this
Generic.Runtime
.
- getNameMap() -
Method in class harpoon.Backend.Runtime1.Runtime
-
- getNeighborsOf(Node) -
Method in class harpoon.Analysis.GraphColoring.SparseGraph
- Constructs an enumeration for the parents of a specific node.
- getNext() -
Method in class harpoon.IR.Assem.Instr
- The next
Instr
to output after
this
.
- getNextLBBs() -
Method in class harpoon.Util.LightBasicBlocks.LightBasicBlock
- Returns the array of successor light basic blocks.
- getNextPtr() -
Method in class harpoon.Interpret.Tree.DefaultFrame
-
- getNode(String) -
Method in class harpoon.Analysis.Partition.WeightedGraph
-
- getNodeRep() -
Method in class harpoon.Analysis.PA2.PointerAnalysis
-
- getNodeRep() -
Method in class harpoon.Analysis.PA2.WPPointerAnalysis
-
- getNodeRepository() -
Method in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
-
- getNodes() -
Method in class harpoon.Analysis.Partition.WeightedGraph
-
- getObjParamTypes(HMethod) -
Static method in class harpoon.Analysis.PA2.PAUtil
- Returns a list of the types of the object (=non-primitive)
parameters of method
hm
.
- getOffset() -
Method in class harpoon.Interpret.Tree.InterfaceListPointer
- Returns the offset of this
ClazPointer
.
- getOffset() -
Method in class harpoon.Interpret.Tree.StringPointer
- Returns the offset of this
StringPointer
.
- getOffset() -
Method in class harpoon.Interpret.Tree.UndefinedPointer
- Returns the offset of this
UndefinedPointer
.
- getOffsetMap() -
Method in class harpoon.Interpret.Tree.DefaultFrame
-
- getOpcode() -
Method in class harpoon.IR.Bytecode.InCti
- Return the java bytecode opcode of this instruction.
- getOpcode() -
Method in class harpoon.IR.Bytecode.InGen
- Return the bytecode opcode of this instruction.
- getOpcode() -
Method in class harpoon.IR.Bytecode.InMerge
- Return the java bytecode of this instruction.
- getOpcode() -
Method in class harpoon.IR.Bytecode.Instr
- Returns the java bytecode of this instruction.
- getOperand(int) -
Method in class harpoon.IR.Bytecode.InGen
- Return a specific operand of this instruction.
- getOperand() -
Method in class harpoon.IR.Bytecode.InRet
- Returns the local variable operand of the RET instruction.
- getOperand() -
Method in class harpoon.IR.Tree.UNOP
- Returns the subexpression to be operated upon.
- getOperands() -
Method in class harpoon.IR.Bytecode.InGen
- Get all the operands of this instruction.
- Getopt - Class in gnu.getopt
- This is a Java port of GNU getopt, a class for parsing command line
arguments passed to programs.
- Getopt(String, String[], String) -
Constructor for class gnu.getopt.Getopt
- Construct a basic Getopt instance with the given input data.
- Getopt(String, String[], String, LongOpt[]) -
Constructor for class gnu.getopt.Getopt
- Construct a Getopt instance with given input data that is capable of
parsing long options as well as short.
- Getopt(String, String[], String, LongOpt[], boolean) -
Constructor for class gnu.getopt.Getopt
- Construct a Getopt instance with given input data that is capable of
parsing long options and short options.
- getopt() -
Method in class gnu.getopt.Getopt
- This method returns a char that is the current option that has been
parsed from the command line.
- getOptarg() -
Method in class gnu.getopt.Getopt
- For communication from `getopt' to the caller.
- getOptind() -
Method in class gnu.getopt.Getopt
- optind it the index in ARGV of the next element to be scanned.
- getOption(String) -
Static method in class harpoon.Util.Options.Option
-
- getOptionalArg(int) -
Method in class harpoon.Util.Options.Option
-
- getOptions() -
Method in class harpoon.Analysis.MemOpt.PreallocOpt.QuadPass
-
- getOptions() -
Method in class harpoon.Analysis.PA2.AllocSync.WPAllocSyncCompStage
-
- getOptions() -
Method in class harpoon.Analysis.PA2.Mutation.WPMutationAnalysisCompStage
-
- getOptions() -
Method in class harpoon.Analysis.PA2.WPPointerAnalysisCompStage
-
- getOptions() -
Method in class harpoon.Analysis.PointerAnalysis.AllocSyncOptCompStage
-
- getOptions() -
Method in class harpoon.Analysis.PointerAnalysis.PARTJSupportCompStage
-
- getOptions() -
Method in class harpoon.Analysis.PointerAnalysis.PointerAnalysisCompStage
-
- getOptions() -
Method in class harpoon.Analysis.Realtime.Realtime.QuadPass
-
- getOptions() -
Method in class harpoon.Instrumentation.AllocationStatistics.AllocationInstrCompStage
-
- getOptions() -
Method in class harpoon.Main.CodeGenerator
-
- getOptions() -
Method in class harpoon.Main.CompilerStage
-
- getOptions() -
Method in class harpoon.Main.CompilerStageEZ
-
- getOptions() -
Method in class harpoon.Main.CompStagePipeline
-
- getOptions() -
Method in class harpoon.Main.DynamicSyncRemoval.QuadPass
-
- getOptions() -
Method in class harpoon.Main.EventDrivenTransformation.QuadPass1
-
- getOptions() -
Method in class harpoon.Main.MZFCompilerStage
-
- getOptions() -
Method in class harpoon.Main.RoleInference
-
- getOptions() -
Static method in class harpoon.Main.Settings
-
- getOptions() -
Method in class harpoon.Main.Transactions.QuadPass
-
- getOptions() -
Method in class harpoon.Main.WriteBarriers.WBQuadPass
-
- getOptopt() -
Method in class gnu.getopt.Getopt
- When getopt() encounters an invalid option, it stores the value of that
option in optopt which can be retrieved with this method.
- getOrderedMethods(HClass) -
Method in class harpoon.Backend.Analysis.BasicGCInfo
- Returns an ordered, unmodifiable
List
of
HMethod
s with the following properties:
- The declaring class of the HMethod
is
HClass
- getOrderedMethods(HClass) -
Method in class harpoon.Backend.Generic.GCInfo
- Returns a
List
of HMethod
s
with the following properties:
- The declaring class of the HMethod
is
HClass
- getPAAndAppsStage() -
Static method in class harpoon.Analysis.PointerAnalysis.PointerAnalysisCompStage
- Returns a compiler stage that is the sequential composition of
a Pointer Analysis Construction stage
(
PointerAnalysisCompStage
), a stage that uese
pointer analysis information for allocation optimizations and
synchronization removal (AllocSyncOptCompStage
,
and a stage that offers support for debugging and optimizing
RTJ programs (PARTJSupportCompStage
).
- getPackage() -
Method in class harpoon.ClassFile.HClass
- Returns the package name of this
HClass
.
- getParameterNames() -
Method in interface harpoon.ClassFile.HMethod
- Returns an array of
String
objects giving the declared
names of the formal parameters of the method.
- getParameterTypes() -
Method in interface harpoon.ClassFile.HMethod
- Returns an array of
HClass
objects that represent the
formal parameter types, in declaration order, of the method
represented by this HMethod
object.
- getParamNode(MetaMethod, int) -
Method in class harpoon.Analysis.PointerAnalysis.NodeRepository
- Returns the parameter node associated with the
count
th
formal parameter of mmethod
.
- getParamNodes(HMethod) -
Method in class harpoon.Analysis.PA2.NodeRepository
-
- getParamNodes(MetaMethod) -
Method in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
- Returns the parameter nodes of the method
hm
.
- getParams() -
Method in class harpoon.IR.Tree.METHOD
- Return the temporary variables used for method formals.
- getParams(int) -
Method in class harpoon.IR.Tree.METHOD
-
- getParamsLength() -
Method in class harpoon.IR.Tree.METHOD
-
- getParamTypes(HMethod) -
Static method in class harpoon.Analysis.PA2.PAUtil
-
- getParent() -
Method in class harpoon.IR.Assem.InstrFactory
- Returns the
HCode
to which all Instr
s
generated by this factory belong.
- getParent() -
Method in class harpoon.IR.Quads.QuadFactory
- Returns the
HCode
to which all Quad
s
generated by this QuadFactory
belong.
- getParent() -
Method in class harpoon.IR.Tree.Code.TreeFactory
- Returns the
HCode
to which all Exp
s and
Stm
s generated by this factory belong.
- getParent() -
Method in class harpoon.IR.Tree.Data.TreeFactory
- Returns the
HCode
to which all
HDataElement
s generated by this factory belong.
- getParent() -
Method in class harpoon.IR.Tree.Tree
- Returns the parent of this tree.
- getParentsOf(Node) -
Method in class harpoon.Analysis.GraphColoring.SparseGraph
- Constructs an enumeration for the parents of a specific node.
- getPigAfterQuad(MetaMethod, Quad) -
Method in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
- Returns the parallel interaction graph attached to the program point
right after
q
in the body of meta-method
mm
.
- getPIGAtQuad(MetaMethod, Quad) -
Method in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
- Returns the parallel interaction graph attached to the program point
right after
q
in the body of meta-method
mm
.
- getPIGAtQuad(HMethod, Quad) -
Method in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
-
- getPigBeforeQuad(MetaMethod, Quad) -
Method in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
- Returns the parallel interaction graph attached to the program point
right before
q
in the body of meta-method
mm
.
- getPigForQuad(MetaMethod, Quad, int) -
Method in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
-
- getPossibleClasses() -
Method in class harpoon.Analysis.PointerAnalysis.PANode
- Returns an array of
GenType
s describing all
the possible types (ie HClass
es) this node can have.
- getPotentialSpills() -
Method in exception harpoon.Backend.Generic.RegFileInfo.SpillException
- Returns an iterator of spill candidates.
- getPrecedenceRelation() -
Method in class harpoon.Analysis.PointerAnalysis.AbstrPAEdgeSet
-
- getPrecedenceRelation() -
Method in interface harpoon.Analysis.PointerAnalysis.PAEdgeSet
- Returns a relation that contains all the pairs
<n2,n1>
such that there was an edge from n1
to n2
(through some field f
).
- getPrefix(HClass) -
Static method in class harpoon.Analysis.ContBuilder.ContBuilder
- Builds the continuation.
- getPrev() -
Method in class harpoon.IR.Assem.Instr
- The
Instr
that is output prior to
this
.
- getPrevLBBs() -
Method in class harpoon.Util.LightBasicBlocks.LightBasicBlock
- Returns the array of predecessor light basic blocks.
- getPriority(Object) -
Method in class harpoon.Util.BinHeapPriorityQueue
-
- getPriority(Object) -
Method in interface harpoon.Util.MaxPriorityQueue
- Returns the priority currently associated with this item.
- getProtectedStartIndex() -
Method in class harpoon.Util.LightBasicBlocks.LightBasicBlock
- Returns the index of the first protected basic block in the
array of (light) basic blocks.
- getQuad() -
Method in class harpoon.Analysis.PA2.NodeRepository.INode
-
- getQuadMapNoSSA2SSI() -
Method in class harpoon.IR.Quads.QuadSSI
- Every QuadSSI is built from a QuadNoSSA.
- getQuadMapSSI2NoSSA() -
Method in class harpoon.IR.Quads.QuadSSI
- Returns the reverse of the map returned by
getQuadMapNoSSA2SSI
.
- getQuads() -
Method in class harpoon.IR.Quads.RSSxToNoSSA
-
- getQuads() -
Method in class harpoon.IR.Quads.ToNoSSA
-
- getRAOffset() -
Method in class harpoon.Backend.MIPS.StackInfo
-
- getRawClass() -
Method in interface harpoon.ClassFile.HParameterizedType
- Returns an
HClass
object representing the generic
class or interface that this parameterized type instantiates.
- getReachableFromExcp() -
Method in class harpoon.Analysis.PointerAnalysis.PointsToGraph
- Returns the set of nodes reachable from the exceptionally returned
nodes (including the exceptionally returned nodes).
- getReachableFromR() -
Method in class harpoon.Analysis.PointerAnalysis.PointsToGraph
- Returns the set of nodes reachable from the returned nodes
(including the returned nodes).
- getReachingAfter(HCodeElement) -
Method in class harpoon.Analysis.DataFlow.ReachingHCodeElements
- Returns the
Set
of HCodeElements
s
which represent a definition that reaches the point directly after
hce
.
- getReachingBefore(HCodeElement) -
Method in class harpoon.Analysis.DataFlow.ReachingHCodeElements
- Returns the
Set
of HCodeElements
s
which represent a definition that reaches the point directly before
hce
.
- getReg(Temp) -
Method in class harpoon.Analysis.Instr.EqTempSets
- Returns the register temp associated with
t
.
- getRegAssignments(Temp) -
Method in class harpoon.Backend.Generic.RegFileInfo
- Produces a mutable
Set
of register assignments
that can hold t
.
- getRegAssignments(Temp) -
Method in class harpoon.Backend.MIPS.RegFileInfo
-
- getRegAssignments(Temp) -
Method in class harpoon.Backend.StrongARM.RegFileInfo
-
- getRegFileInfo() -
Method in class harpoon.Backend.Generic.Frame
- Returns the appropriate
RegFileInfo
for this
Frame
.
- getRegFileInfo() -
Method in class harpoon.Backend.MIPS.Frame
-
- getRegFileInfo() -
Method in class harpoon.Backend.PreciseC.Frame
-
- getRegFileInfo() -
Method in class harpoon.Backend.Sparc.Frame
-
- getRegFileInfo() -
Method in class harpoon.Backend.StrongARM.Frame
-
- getRegFileInfo() -
Method in class harpoon.Interpret.Tree.DefaultFrame
- Stub added by FSK.
- getRegister(int) -
Method in class harpoon.Backend.Generic.RegFileInfo
- Returns a specific register on the machine.
- getRegister(int) -
Method in class harpoon.Backend.MIPS.RegFileInfo
-
- getRegister(int) -
Method in class harpoon.Backend.Sparc.RegFileInfo
-
- getRegister(int) -
Method in class harpoon.Backend.StrongARM.RegFileInfo
-
- getRegisterName(Instr, Temp, String) -
Method in class harpoon.Backend.CSAHack.RegAlloc.Code
-
- getRegisterName(Instr, Temp, String) -
Method in class harpoon.IR.Assem.Code
- Returns an assembly code identifier for the register that
val
will be stored into.
- getRegisters(Instr, Temp) -
Method in class harpoon.Backend.Generic.Code
- Returns all of the Register
Temp
s that
val
maps to in i
.
- getRemovalSuggestions() -
Method in class harpoon.Analysis.GraphColoring.UnableToColorGraph
- returns a Collection of nodes that are suggested for
removal to make some external graph colorable.
- getRemovalSuggestionsBackup() -
Method in class harpoon.Analysis.GraphColoring.UnableToColorGraph
- returns a Collection of nodes that are suggested for
removal to make some external graph colorable.
- getRep(Temp) -
Method in class harpoon.Analysis.Instr.EqTempSets
- Returns the rep for
t
.
- getResourceAsStream(String) -
Static method in class harpoon.ClassFile.Loader
- Open an
InputStream
on a resource found somewhere
in the CLASSPATH.
- getRetex() -
Method in class harpoon.IR.Tree.CALL
- Returns the destination expression for any exception which
the callee might throw.
- getRetex() -
Method in class harpoon.IR.Tree.THROW
- The exceptional value to return
- getReturnType(HCode) -
Method in class harpoon.Analysis.TypeInference.InterProc
-
- getReturnType() -
Method in interface harpoon.ClassFile.HMethod
- Returns a
HClass
object that represents the formal
return type of the method represented by this HMethod
object.
- getReturnType() -
Method in class harpoon.IR.Tree.METHOD
- Return an integer enumeration (see
Typed
) of the
return type of the method.
- getRetval() -
Method in class harpoon.IR.Tree.INVOCATION
- Returns the expression indicating the destination of the return value.
- getRetval() -
Method in class harpoon.IR.Tree.RETURN
- Returns the value to return.
- getRight() -
Method in class harpoon.IR.Tree.BINOP
- Returns the subexpression of the right-hand side of the operator.
- getRight() -
Method in class harpoon.IR.Tree.SEQ
- Returns the statement to evaluate last.
- getRoot() -
Method in class harpoon.Analysis.BasicBlock.Factory
- Returns the root
BasicBlock
.
- getRoot() -
Method in class harpoon.Analysis.FCFGBasicBlock.Factory
- Returns the root
FCFGBasicBlock
.
- getRoot() -
Method in class harpoon.Analysis.PointerAnalysis.PANode
- Returns the root of
this
node.
- getRoot() -
Method in class harpoon.Util.LightBasicBlocks.LightBasicBlock.Factory
- Returns the root
LightBasicBlock
.
- getRootBBInterf() -
Method in class harpoon.Analysis.BasicBlock.Factory
- Does the same thing as
getRoot
.
- getRootBBInterf() -
Method in interface harpoon.Analysis.BasicBlockFactoryInterf
- Returns the root
BasicBlockInterfs
.
- getRootBBInterf() -
Method in class harpoon.Analysis.FCFGBasicBlock.Factory
- Does the same thing as
getRoot
.
- getRootElement() -
Method in class harpoon.Backend.Runtime1.Data
-
- getRootElement() -
Method in class harpoon.ClassFile.HCode
- Return the 'root' element of this code view.
- getRootElement() -
Method in class harpoon.ClassFile.HData
- Return the 'root' element of this data view.
- getRootElement() -
Method in class harpoon.IR.Assem.Code
-
- getRootElement() -
Method in class harpoon.IR.Quads.Code
- Returns the root of the control flow graph.
- getRootElement() -
Method in class harpoon.IR.Tree.Code
- Returns the root of the Tree
- getRootloop(HCode) -
Method in class harpoon.Analysis.Loops.LoopFinder
- This method returns the Root level loop for a given
HCode
.
- getRoots() -
Method in class harpoon.Analysis.CallGraph
-
- getRoots() -
Method in class harpoon.Analysis.MetaMethods.MetaCallGraph
-
- getRoots() -
Method in class harpoon.Analysis.PA2.PAEdgeSet
-
- getRoots(Linker) -
Static method in class harpoon.Analysis.Realtime.Realtime
-
- getRoots() -
Method in class harpoon.Main.CompilerState
-
- getRunMetaMethods() -
Method in class harpoon.Analysis.MetaMethods.MetaCallGraph
- Returns the set of the meta-methods that could be called as the
body of some thread.
- getRunMetaMethods() -
Method in class harpoon.Analysis.MetaMethods.MetaCallGraphAbstr
-
- getRunMethods() -
Method in class harpoon.Analysis.CallGraph
-
- getRunMethods() -
Method in class harpoon.Analysis.MetaMethods.SmartCallGraph
-
- getRunMethods() -
Method in class harpoon.Analysis.Quads.CachingCallGraph
-
- getRuntime() -
Method in class harpoon.Backend.Generic.Frame
- Returns the appropriate
Generic.Runtime
for
this Frame
.
- getRuntime() -
Method in class harpoon.Backend.MIPS.Frame
-
- getRuntime() -
Method in class harpoon.Backend.PreciseC.Frame
-
- getRuntime() -
Method in class harpoon.Backend.Sparc.Frame
-
- getRuntime() -
Method in class harpoon.Backend.StrongARM.Frame
-
- getRuntime() -
Method in class harpoon.Interpret.Tree.DefaultFrame
-
- getSafeParamIndices(HMethod) -
Method in class harpoon.Analysis.PA2.Mutation.MutationAnalysis
-
- getSafeParams(HMethod) -
Method in class harpoon.Analysis.PA2.Mutation.MutationAnalysis
-
- getScope() -
Method in class harpoon.Temp.TempFactory
- Returns the static scope of this
TempFactory
.
- getSibling() -
Method in class harpoon.IR.Tree.Tree
- Returns the right sibling of this tree, null if there are no
siblings to the right of this node.
- getSize(Temp) -
Method in class harpoon.Backend.Generic.InstrBuilder
- Returns the size of
temp
on the stack.
- getSize(Temp) -
Method in class harpoon.Backend.MIPS.InstrBuilder
-
- getSize(Temp) -
Method in class harpoon.Backend.MIPS.RegFileInfo
-
- getSize(Temp) -
Method in class harpoon.Backend.StrongARM.InstrBuilder
-
- getSLR(HClass, String) -
Static method in class harpoon.Main.Lint
- method for caching sourcelinereaders
- getSourceFile() -
Method in class harpoon.ClassFile.HClass
- Return the name of the source file for this class, or a
zero-length string if the information is not available.
- getSourceFile() -
Method in interface harpoon.ClassFile.HCodeElement
- Get the original source file name that this element is derived from.
- getSourceFile() -
Method in interface harpoon.ClassFile.HDataElement
- Get the original source file name that this element is derived from.
- getSourceFile() -
Method in class harpoon.IR.Assem.Instr
-
- getSourceFile() -
Method in class harpoon.IR.Bytecode.Instr
- Returns the original source file name that this bytecode instruction
is derived from.
- getSourceFile() -
Method in class harpoon.IR.Quads.Quad
- Returns the original source file name that this
Quad
is derived from.
- getSourceFile() -
Method in class harpoon.IR.Tree.Tree
- Returns the original source file name that this
Tree
is
derived from.
- getSpecialInside(Quad, GenType) -
Method in class harpoon.Analysis.PA2.NodeRepository
-
- getSpecialLoad(Quad, HField) -
Method in class harpoon.Analysis.PA2.NodeRepository
-
- getSplitRelation() -
Method in class harpoon.Analysis.MetaMethods.MetaCallGraph
- Computes the split relation.
- getSplitRelation() -
Method in class harpoon.Analysis.MetaMethods.MetaCallGraphAbstr
- Computes the split relation.
- getSrc() -
Method in class harpoon.IR.Tree.MOVE
- Returns the expression for the computed value.
- getSSIQuad(Quad) -
Method in class harpoon.Analysis.MemOpt.IncompatibilityAnalysis
- Takes a Quad in NoSSA form, and returns the corresponding quad
in SSI form, generated by the
HCodeFactory
used to
create this IncompatibilityAnalysis
instance.
- getStackInfo() -
Method in class harpoon.Backend.MIPS.CodeGen
-
- getStage(int) -
Method in class harpoon.Main.CompStagePipeline
-
- GETSTATIC -
Static variable in class harpoon.IR.Bytecode.Op
-
- GETSTATIC2_QUICK -
Static variable in class harpoon.IR.Bytecode.Op
-
- GETSTATIC_QUICK -
Static variable in class harpoon.IR.Bytecode.Op
-
- getStaticNode(String) -
Method in class harpoon.Analysis.PointerAnalysis.NodeRepository
- Returns the static node associated with the class
class_name
.
- getStdLibVerName() -
Static method in class harpoon.Main.Settings
- Returns a string that describes the standard library
implementation that we use.
- getStm() -
Method in class harpoon.IR.Tree.ESEQ
- Returns the statement to evaluate for side-effects.
- getSuperclass() -
Method in class harpoon.ClassFile.HClass
- If this object represents any class other than the class
Object
, then the object that represents the superclass of
that class is returned.
- getTail() -
Method in class harpoon.IR.Assem.InstrFactory
-
- getTargets() -
Method in class harpoon.IR.Assem.Instr
- List of target labels that
this
can branch to.
- getTemp() -
Method in class harpoon.Analysis.Instr.TempInstrPair
-
- getTempBuilder() -
Method in class harpoon.Backend.Generic.Frame
- Returns the
Generic.TempBuilder
for the backend
associated with this
.
- getTempBuilder() -
Method in class harpoon.Backend.MIPS.Frame
-
- getTempBuilder() -
Method in class harpoon.Backend.PreciseC.Frame
-
- getTempBuilder() -
Method in class harpoon.Backend.Sparc.Frame
-
- getTempBuilder() -
Method in class harpoon.Backend.StrongARM.Frame
-
- getTempBuilder() -
Method in class harpoon.Interpret.Tree.DefaultFrame
- Stub added by FSK.
- getTempLocator() -
Method in interface harpoon.Analysis.Instr.RegAlloc.IntermediateCode
-
- getter2field -
Variable in class harpoon.Analysis.SizeOpt.Field2Method
- This maps 'getter' methods to the field they get.
- getTest() -
Method in class harpoon.IR.Tree.CJUMP
- Returns the test condition for this
CJUMP
.
- getTransCallees(MetaMethod) -
Method in class harpoon.Analysis.MetaMethods.MetaCallGraph
- Returns the set of all the meta methods that might be called, directly
or indirectly, by the meta method
mm
.
- getTransCallees(MetaMethod) -
Method in class harpoon.Analysis.MetaMethods.MetaCallGraphAbstr
- Returns the set of all the meta methods that might be called,
directly or indirectly, by meta method
mm
.
- getTransCallers(MetaMethod) -
Method in class harpoon.Analysis.MetaMethods.MetaAllCallers
- Returns the meta-methods that transitively call the meta-method
mm_callee
.
- getTree() -
Method in class harpoon.IR.Tree.ToCanonicalTree
- Returns the root of the generated tree code
- getTreeBuilder() -
Method in class harpoon.Backend.Generic.Runtime
- Returns a
TreeBuilder
object for this
Generic.Runtime
.
- getTreeBuilder() -
Method in class harpoon.Backend.Runtime1.Runtime
-
- getTreeDerivation() -
Method in class harpoon.IR.Tree.CanonicalTreeCode
- Returns a
TreeDerivation
object for the
generated Tree
form.
- getTreeDerivation() -
Method in class harpoon.IR.Tree.Code
-
- getTreeDerivation() -
Method in class harpoon.IR.Tree.OptimizedTreeCode
-
- getTreeDerivation() -
Method in class harpoon.IR.Tree.ToCanonicalTree
- Returns a
TreeDerivation
object for the
generated Tree
form.
- getTreeDerivation() -
Method in class harpoon.IR.Tree.TreeCode
-
- getTryBlocks() -
Method in class harpoon.IR.Bytecode.Code
- Get an array with the try-catch blocks/handlers for this bytecode.
- getTSParent() -
Method in class harpoon.Analysis.PointerAnalysis.PANode
- Returns the parent of this node, on the thread specialization
branch.
- getType(int) -
Method in class harpoon.Analysis.MetaMethods.MetaMethod
- Returns the type of the
i
-th parameter.
- getType() -
Method in class harpoon.Backend.MIPS.Frame
-
- getType() -
Method in interface harpoon.ClassFile.HField
- Returns an
HClass
object that identifies the declared
type for the field represented by this HField
object.
- getType() -
Method in class harpoon.IR.Bytecode.OpConstant
- Return the
HClass
type of this Operand
.
- getType(ExactTemp) -
Method in class harpoon.Util.TypeInference.TypeInference
- Returns the possible types for the temp
et.t
in the
quad et.q
.
- getTypeParameters() -
Method in class harpoon.ClassFile.HClass
- Returns an array of
HClassTypeVariable
objects that
represents the type variables declared by the class or interface
represented by this HClass
object, in declaration
order.
- getTypeParameters() -
Method in interface harpoon.ClassFile.HMethod
- Returns an array of
HMethodTypeVariable
objects that
represent the type variables declared by the method represented
by this HMethod
object, in declaration order.
- getUnharmfulMethods() -
Static method in class harpoon.Analysis.PointerAnalysis.InterProcPA
-
- getUniqueID() -
Method in class harpoon.Analysis.AllocationInformationMap.AllocationPropertiesImpl
-
- getUniqueID() -
Method in class harpoon.Analysis.ChainedAllocationProperties
-
- getUniqueID() -
Method in interface harpoon.Analysis.Maps.AllocationInformation.AllocationProperties
-
- getUniqueID() -
Method in class harpoon.Analysis.PointerAnalysis.MyAP
-
- getUniqueID() -
Method in class harpoon.IR.Assem.InstrFactory
- Returns a unique ID number for each new
Instr
generated by this factory.
- getUniqueID() -
Method in class harpoon.IR.Quads.QuadFactory
- Returns a unique number for a
Quad
within
this QuadFactory
.
- getUniqueID(String) -
Method in class harpoon.Temp.TempFactory
- Returns a unique identifier within this scope.
- getUsedDANum() -
Method in class harpoon.Backend.MIPS.Frame
-
- getUseDefer() -
Method in class harpoon.IR.Tree.Code
- Returns a means to externally associate use/def information with
this tree code.
- getUseDefer() -
Method in class harpoon.IR.Tree.TreeCode
UseDefer
not valid for non-canonical trees.
- getUseDeferFor(InstrGroup.Type) -
Method in class harpoon.Analysis.Instr.RegAlloc
- (Helper method) Returns a
UseDefer
that treats
InstrGroup
s of Type
t
as single atomic elements.
- getUseDeferFor(InstrGroup.Type) -
Method in class harpoon.IR.Assem.InstrFactory
- Returns a
UseDefer
that treats
InstrGroup
s of Type
t
as single atomic elements.
- getVal() -
Method in class gnu.getopt.LongOpt
- Returns the value of the 'val' field for this long option
- getValue(PANode) -
Method in class harpoon.Analysis.PointerAnalysis.PAThreadMap
-
- getValue() -
Method in class harpoon.Interpret.Tree.InterfaceListPointer
- Dereferences this
InterfaceListPointer
and returns the
value it points to.
- getValue() -
Method in class harpoon.Interpret.Tree.StringPointer
- Returns the value obtained by dereferencing this
StringPointer
.
- getValue() -
Method in class harpoon.IR.Bytecode.OpConstant
- Return the value of this
Operand
.
- getValues(Object) -
Method in class harpoon.Analysis.PointerAnalysis.AbstrRelation
-
- getValues(Object) -
Method in class harpoon.Analysis.PointerAnalysis.AbstrRelationMapBased
-
- getValues(Object) -
Method in interface harpoon.Analysis.PointerAnalysis.Relation
- Returns the image of
key
through this relation.
- getValues(Object) -
Method in class harpoon.Analysis.PointerAnalysis.RelationImpl
-
- getValues2(Object) -
Method in class harpoon.Analysis.PointerAnalysis.AbstrRelation
-
- getValues2(Object) -
Method in class harpoon.Analysis.PointerAnalysis.AbstrRelationMapBased
-
- getWeight(WGNode) -
Method in class harpoon.Analysis.Partition.WGNode
-
- getWeights() -
Method in class harpoon.Analysis.Partition.WGNode
-
- getWrapper(Linker) -
Method in class harpoon.ClassFile.HClass
- If this
HClass
is a primitive type, return the
wrapper class for values of this type.
- getWTSpec() -
Method in class harpoon.Analysis.PointerAnalysis.PANode
- Returns the weak thread specialization of
this
node.
- GLOBAL -
Static variable in class harpoon.Analysis.Instr.RegAlloc
-
- GLOBAL_STATEMENTS -
Static variable in class harpoon.Tools.PatMat.Sym
-
- global_stms -
Variable in class harpoon.Tools.PatMat.Spec
- Java code statements that are going to be placed outside class
body (package declaration, import statements).
- gnu.getopt - package gnu.getopt
-
This is a Java port of the GNU getopt functions for command-line parsing.
- goesTo(Node) -
Method in class harpoon.Backend.CSAHack.Graph.Node
-
- GOTO -
Static variable in class harpoon.IR.Bytecode.Op
-
- GOTO -
Static variable in class harpoon.Tools.Annotation.Sym
-
- GOTO_W -
Static variable in class harpoon.IR.Bytecode.Op
-
- Graph - Interface in harpoon.Analysis.GraphColoring
- Abstractly, a
Graph
is a pair (V, E), where V is a set
of nodes and E is collection of edges between those nodes. - Graph - Class in harpoon.Backend.CSAHack.Graph
-
- Graph() -
Constructor for class harpoon.Backend.CSAHack.Graph.Graph
-
- Graph - Class in harpoon.Main
Graph
is a command-line graph generation tool.- Graph() -
Constructor for class harpoon.Main.Graph
-
- Graph<N extends Graph.Node<N,E>,E extends Graph.Edge<N,E>> - Interface in harpoon.Util.Collections
- This is a generic
Graph
implementation. - Graph - Class in harpoon.Util
Graph
- Graph() -
Constructor for class harpoon.Util.Graph
-
- Graph.Edge<N extends Graph.Node<N,E>,E extends Graph.Edge<N,E>> - Interface in harpoon.Util.Collections
- This class represents edges between
Node
s in a
Graph
. - Graph.Node<N extends Graph.Node<N,E>,E extends Graph.Edge<N,E>> - Interface in harpoon.Util.Collections
- This class represents nodes in a
Graph
. - GraphColorer - Class in harpoon.Analysis.GraphColoring
GraphColorer
is a class for describing a graph coloring
algorithm.- GraphColorer() -
Constructor for class harpoon.Analysis.GraphColoring.GraphColorer
- Creates a
GraphColorer
.
- GraphColoringRegAlloc - Class in harpoon.Analysis.Instr
GraphColoringRegAlloc
uses graph coloring heuristics
to find a register assignment for a Code.- GraphColoringRegAlloc(Code, GraphColorer) -
Constructor for class harpoon.Analysis.Instr.GraphColoringRegAlloc
- Creates a
GraphColoringRegAlloc
, assigning `gc'
as its graph coloring strategy and using a overly conservative
move coalescing strategy.
- GraphColoringRegAlloc(Code, GraphColorer, boolean) -
Constructor for class harpoon.Analysis.Instr.GraphColoringRegAlloc
- Creates a
GraphColoringRegAlloc
, assigning `gc'
as its graph coloring strategy.
- Grapher<N> - Interface in harpoon.Util
Grapher
is an abstract interface for specifying the
graph properties of data structures so that generic graph algorithms
may be applied.- GraphOptimizations - Class in harpoon.Analysis.PA2
GraphOptimizations
- GraphOptimizations() -
Constructor for class harpoon.Analysis.PA2.GraphOptimizations
-
- GraphVisualizer - Class in harpoon.Analysis.GraphColoring
-
- GraphVisualizer() -
Constructor for class harpoon.Analysis.GraphColoring.GraphVisualizer
-
- grow(Temp[], int) -
Method in class harpoon.IR.Quads.PHI
- Grow the arity of a PHI by one by replacing it.
- grow(ArrayFactory<T>, T[], T, int) -
Static method in class harpoon.Util.Util
- Insert element
o
before src[n]
.
- GT -
Static variable in class harpoon.Analysis.LowQuad.Loop.LoopAnalysis.ForLoopInfo
- > case
- GT -
Static variable in class harpoon.Tools.Annotation.Sym
-
- GTE -
Static variable in class harpoon.Analysis.LowQuad.Loop.LoopAnalysis.ForLoopInfo
- >= case
- gtemp(Node) -
Method in class harpoon.Backend.CSAHack.RegAlloc.InterferenceGraph
-
- gtemp(Node) -
Method in class harpoon.Backend.CSAHack.RegAlloc.Liveness
-
- GTEQ -
Static variable in class harpoon.Tools.Annotation.Sym
-
HANDLER
quad marks an entry to an exception handler.HANDLER
.
Quad
s a particular
HANDLER
protects.handler_pc
item indicates the
start of the exception 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.RuntimeTiny
is a size-optimized version of the FLEX
backend.harpoon.Analysis.LowQuad.Transactions
package.cs
to callee
has been analyzed or not.
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
.
this.targets
is modifiable.
this
has multiple predecessors.
c
is a register (Helper
method).
HCode
for which this object contains analysis
results.
HCode
for which this object contains analysis
results.
sync
.
HClass
represent classes and
interfaces of a java program.ANEW
will create.
src
is tested for membership.
src
is tested for
membership.
NEW
will create.
TYPECAST
.
HClassMutator
allows you to change members and
properties of an HClass
.HClassTypeVariable
interface represents a type variable
declared as a formal parameter to a generic class or interface.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
.
HCode
s.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.
HeapCheckAdder
adds checks to see if a NoHeapRealtimeThread is
touching the heap.HeapStatsAllocationStrategy
calls the appropriate C functions
in the --with-live-heap-statistics runtime code to collect statistics
for objects and arrays allocated.HeapStatsAllocationStrategy
.
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
.HMethodTypeVariable
interface represents a type
variable declared as a formal parameter to a generic method.HParameterizedType
interface describes the behavior
of parameterized types such as Collection<Applet>
or
HashMap<String, Class>
.HType
interface represents all compile time types.HTypeVariable
interface represents a type variable
declared as a formal parameter to a generic class, interface, or
method.IAStatistics
this
represents.
MetaMethod
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
.
ImplHelper
just contains stubs which we will later
substitute native code for.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
.
IncompatibilityAnalysis
here.callGraphNeedsSSA
set to true.
IncompatibilityAnalysis
instance.
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.
Temp
holding the index of the array element
to address.
Temp
holding the index of the element to get.
Temp
holding the index of the element
to fetch.
Temp
holding the index of the element to get.
Temp
with the index of the element to get.
keys
.
Temp
holding the discriminant.
Object
type, whose class is
compared against each class type in keys[]
.
Temp
holding the discriminant.
index
in its
method's local variables.
net.cscott.jutil.Indexer
specifically for working
only with Temp
s generated by
this.tempFactory()
.
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
.
FACT
for the
given Node
(often, an HCodeElement
).
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.
InlineChain
s.
InlineChain
models an arbitrary-length call path that
needs to be inlined.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
.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.
item
into this, assigning it priority
priority
.
this
at edge
.
InsertWriteBarrier
instruments any writes to pointer
locations with a store check.this
node is an inside one.
Translation.Exp
which tests the
given expression for membership in the given class or
interface.
INSTANCEOF
objects represent an 'instanceof' evaluation.INSTANCEOF
representing a type check.
Instr
is the primary class for representing
assembly-level instructions used in the Backend.* packages.Instr
consisting of the
String
assem
and the list of
destinations and sources in dst
and
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 sources in src.
Instr
consisting of the String assem.
Bytecode.Instr
is the base type for the specific
bytecode instruction classes.InstrBuilder
defines an interface that general program
transformations can call to generate needed assembly code blocks for
arbitrary target architectures.InstrBuilder
.
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.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
.
InstrGroup
contained in
contained
.
InstrGroup.Type
is associated with a collection
of InstrGroup
s for a given
Assem.Code
.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
.
InstrMEM
with default values for
canFallThrough
and targets
.
InstrMOVE
represents a copying of a set of source
Temp
s to a set of destination Temp
s.InstrMOVE
.
InstrMOVEproxy
InstrMOVEproxy
.
InstrSolver
InstrumentAllocs
adds calls to instrumenting code to
each allocation site and, if explicitly requested, to each
synchronization instruction.InstrumentAllocs
.
InstrumentAllocs2
can be used together with
InstrumentedAllocationStrategy
to instrument the
allocation sites from a program to record how many times each of
them is executed, and the total amount of memory allocated at each
site.InstrumentAllocs2
object.
InstrumentedAllocationStrategy
InstrumentedAllocationStrategy
.
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.
roots
, along call paths that do not include any
"undesirable" methods.
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
hclasses
.
InterfaceMethodMap
for interfaces in
the given ClassHierarchy
ch
.
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.
InterProcAnalysisResult
models the analysis result
that (1) is computed for the end of a method m
; and
(2) that is required in the inter-procedural analysis in order to
treat calls to m
.InterProcPA
is a "functional" class (i.e. it
contains just some methods, no persistent data) that wraps
the inter-procedural part of the pointer analysis.InterThreadPA
groups together the functions related to the
inter-thread analysis.IntraProc
TypeInfo
is a simple type analysis tool for quad-ssi form.this
object may use caching
for internal performances.
WorkSet
containing Quad
s that
are loop invariant.
InvariantsMap
is a mapping from Loops
to a
Set
of invariants.Set
of invariant loop elements.
Bop
.
INVOCATION
objects are statements which stand for
procedure calls.IOEffectAnalysis
is a simple analysis that detects
whether a method may (transitively) execute an input/output
operation.IOEffectAnalysis
object.
hm
can be analyzed.
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.
true
iff the given field hf
is always set to a constant value when the given constructor
is executed.
HField
represents a constant
field.
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.
this
set of edges is empty.
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 method is never overridden.
true
if the field is never modified after
declaration.
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.
HClass
is an instance of the given
HClass
hc
.
HClass
object represents an
interface type.
HInitializer
is an interface
method.
HMethod
is an interface method.
CALL
is to an interface method.
lv_index
at
instruction where
.
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.
hm
is a pure methods, according to
the JML definition.
true
if HMethod
hm
will ever read HField
hf
, either directly or via a method call.
HField
is ever read.
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.
CALL
is to a static method.
Quads.METHOD
belong 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
.
HField
is synthetic.
HMethod
is synthetic,
in the sense of "associated with an inner-class; not programmer
declared".
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.
Bop
value is valid.
Uop
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.
HANDLER
s in the given
HandlerSet
.
IVar
Jasmin
converts from QuadWithTry to bytecode
formatted for the Jasmin assembler.Jasmin
object.
Jasmin
object.
Javap
is a low-level clone of javap that supports
GJ signatures.Javap2
is a clone of the Sun javap
tool,
using our higher-level bytecode file infrastructure.JLSRuntimeInformation
contains the basic runtime information
required by the
Java
Language Specification.JDKRuntimeInformation
.
JMain
is the command-line interface to the compiler.FACT
s.
this
variable takes values from.
this
variable takes values from.
es2
to this
set pf edges.
ar2
to this
action repository.
join
is called in the control-flow join points.
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.
MRAToken
representing
the join of this
with the
argument.
JUMP
objects are statements which stand for unconditional
computed branches.JumpOptimization
removes branches-to-branches
and redundant labels.remaining_nodes
.
ParIntGraph
containing only the
nodes that could be reached from the outside.
PAThreadMap
containing only the thread
nodes that appear in essential_nodes
.
PointsToGraph
containing just the nodes
that are reachable from root nodes: the nodes that could be
reached from outside
code (e.g. the caller): the parameter nodes (received in
the params
) and the returned nodes (found
in this.r
).
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
.
this
node.
KIND
of Loc this
is.
Quad
.
Tree
.
Label
identifying the GC point
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.
String
constant to a Label
.
String
constant to a Label
representing the string data structure associated with the given
suffix.
LABEL
marks a basic-block entrance.LABEL
representing the entrance to a basic
block.
LABEL
to replace a PHI
.
null
if
this label has no name.
LABEL
objects define the constant value of the given
label to be the current machine code address.Label
represents a (symbolic) address in assembly language.java.util.List
instead.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]
.
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.
code
array.LocPair
is a line number, character position pair
to denote a location in the input file.LocPair
.
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
.
Set
of live,
non-derived pointers at this GC point as
WrappedMachineRegLoc
s
Liveness
defines an abstract class for live variable analysis.Liveness
object from
provided HCode
.
Liveness
is a local-variable liveness analysis on Bytecode
form.Liveness
.
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.LiveTemps
for basicblocks
.
SetFactory
for constructing sets of the
Temp
s in the analysis.
LiveVars
performs Liveness Analysis for the variables
in the HCode
s passed to it.LiveVars
.
LiveVars
.
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.
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.LocalCffRegAlloc
.
PreassignTemp
represents Temp
s
which have been pre-assigned to machine registers.null
if
one cannot be found.
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 locked.
Temp
specifying the object to be released.
LockRemove
HClass
object representing the primitive type long.
longProportion
that uses
null
for the memSizeFormat
.
LoopAnalysis
implements AllInductionsMap
,
BasicInductionsMap
, and InvariantsMap
.LoopAnalysis
.
ForLoopInfo
encapsulated information on a for loop.LoopDetector
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.
LowQuadValueVisitor
is a visitor class for low quads
that returns a parameterized value.LowQuadValueVisitor
.
LowQuadVisitor
is another design pattern.LowQuadVisitor
.
LQop
is an enumerated type for the various kinds of
OPER
opcodes in LowQuad
form.t
.
LVar
Main
is the command-line interface to the compiler.MAInfo
MAInfo
.
MAInfo
processing.class
file.
EqTempSets
.
Tree.Exp
which can be used to address
the contents of this Location
for a fetch or
set operation.
from
to to
.
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.
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.
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<K,V> - Class in harpoon.Util
- 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<? super K>, Comparator<? super V>) -
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
).
- mappingFactory -
Static variable in class harpoon.Analysis.PA2.DSFactories
-
- MapRelEdgeSetFactory - Class in harpoon.Analysis.PA2
MapRelEdgeSetFactory
- MapRelEdgeSetFactory(Factory<Map<PANode, Relation<HField, PANode>>>, Factory<Relation<HField, PANode>>) -
Constructor for class harpoon.Analysis.PA2.MapRelEdgeSetFactory
-
- MapRelPAEdgeSet - Class in harpoon.Analysis.PA2
MapRelPAEdgeSet
- MapRelPAEdgeSet(Factory<Map<PANode, Relation<HField, PANode>>>, Factory<Relation<HField, PANode>>) -
Constructor for class harpoon.Analysis.PA2.MapRelPAEdgeSet
-
- markSupported() -
Method in class harpoon.Tools.Annotation.Lex.EscapedUnicodeReader
-
- 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() -
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
-
- 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 -
Static variable in class harpoon.Analysis.PA2.AllocSync.ASFlags
-
- 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_INTRA_SCC_ITER -
Static variable in class harpoon.Analysis.PA2.Flags
-
- 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
passed to the method on invocation.
- MAX_METHOD_SIZE -
Static variable in class harpoon.Analysis.PA2.AllocSync.ASFlags
-
- 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_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.
- maxChildNumber(HClass) -
Method in class harpoon.Backend.RuntimeTiny.PreOrderClazNumbering
- Returns the maximum number associated with an instantiatable
child of the given
HClass
.
- maxDepth() -
Method in class harpoon.Backend.Maps.ClassDepthMap
- Returns the maximum nesting depth of any class (dependent on a
given context).
- maxDepth() -
Method in class harpoon.Backend.Maps.DefaultClassDepthMap
-
- MaximalMunchCGG - Class in harpoon.Tools.PatMat
MaximalMunchCGG
finds an optimal tiling of
instructions on a Tree-IR.- MaximalMunchCGG(Spec, String) -
Constructor for class harpoon.Tools.PatMat.MaximalMunchCGG
- Creates a
MaximalMunchCGG
.
- MaxMunchCG - Class in harpoon.Backend.Generic
MaxMunchCG
is a MaximalMunchCGG
specific
extension of CodeGen
.- MaxMunchCG(Frame) -
Constructor for class harpoon.Backend.Generic.MaxMunchCG
- Creates a
MaxMunchCG
.
- maxNumber() -
Method in class harpoon.Backend.RuntimeTiny.CompleteClazNumbering
-
- maxNumber() -
Method in class harpoon.Backend.RuntimeTiny.PreOrderClazNumbering
- Returns the largest number which this
ClazNumbering
will associate with any HClass
.
- MaxPriorityQueue - Interface in harpoon.Util
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.
- mayHaveField(PANode, HField) -
Static method in class harpoon.Analysis.PA2.TypeFilter
-
- mayPointTo(HField, PANode) -
Static method in class harpoon.Analysis.PA2.TypeFilter
-
- mayReadAt(Edge) -
Method in class harpoon.Analysis.Quads.MayReadOracle
- Returns the set of fields possibly-read before edge
e
is executed.
- MayReadOracle - Class in harpoon.Analysis.Quads
- 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?
- MEGA_DEBUG2 -
Static variable in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
-
- MEM - Class in harpoon.IR.Tree
MEM
objects are expressions which stand for the contents of
a value in memory starting at the address specified by the
subexpression.- MEM(TreeFactory, HCodeElement, int, Exp) -
Constructor for class harpoon.IR.Tree.MEM
- Constructor.
- MEM(TreeFactory, HCodeElement, int, boolean, Exp) -
Constructor for class harpoon.IR.Tree.MEM
- Creates a MEM with a precisely defined type.
- MEM -
Static variable in class harpoon.IR.Tree.TreeKind
-
- MEM -
Static variable in class harpoon.Tools.PatMat.Sym
-
- memAccessNoTagCheck(HCodeElement) -
Method in class harpoon.Backend.MIPS.Frame
-
- memAlloc(TreeFactory, HCodeElement, DerivationGenerator, AllocationInformation.AllocationProperties, Exp) -
Method in class harpoon.Analysis.MemOpt.PreallocAllocationStrategy
-
- 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.PGCNiftyAllocationStrategy
-
- 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.Runtime1.AllocationStrategy
- Return a
Tree.Exp
created with the given
TreeFactory
that returns a pointer to a piece of
memory length
bytes long.
- 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.BDWAllocationStrategy
-
- memAlloc(TreeFactory, HCodeElement, DerivationGenerator, AllocationInformation.AllocationProperties, Exp) -
Method in class harpoon.Backend.Runtime1.HeapStatsAllocationStrategy
-
- 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.NiftyAllocationStrategy
-
- 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.SPAllocationStrategy
-
- memAlloc(TreeFactory, HCodeElement, DerivationGenerator, AllocationInformation.AllocationProperties, Exp) -
Method in class harpoon.Instrumentation.AllocationStatistics.InstrumentedAllocationStrategy
-
- 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.
- memberComparator -
Static variable in interface harpoon.ClassFile.HMember
-
- MemHoisting - Class in harpoon.Analysis.Tree
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.- MemoryOptimization - Class in harpoon.Analysis.Quads
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
- memSizeFormat(long) -
Static method in class harpoon.Util.Util
- Nicely formats the memory size
size
, using normal
units for memory size.
- merge(BasicBlockInterf, BasicBlockInterf) -
Method in class harpoon.Analysis.DataFlow.DataFlowBasicBlockVisitor
- 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.
- merge(BasicBlockInterf, BasicBlockInterf) -
Method in class harpoon.Analysis.DataFlow.LiveVars.BBVisitor
- Merge (Confluence) operator.
- merge(BasicBlockInterf, BasicBlockInterf) -
Method in class harpoon.Analysis.Tree.TreeFolding
- Merges operation on the from and to basic block.
- message(String) -
Static method in class harpoon.Main.CodeGenerator
-
- message(String) -
Static method in class harpoon.Main.SAMain
-
- messageln(String) -
Static method in class harpoon.Main.CodeGenerator
-
- messageln(String) -
Static method in class harpoon.Main.SAMain
-
- MetaAllCallers - Class in harpoon.Analysis.MetaMethods
MetaAllCallers
is the dual of MetaCallGraph
.- MetaAllCallers(MetaCallGraph) -
Constructor for class harpoon.Analysis.MetaMethods.MetaAllCallers
- Creates a
MetaAllCallers
.
- MetaCallGraph - Class in harpoon.Analysis.MetaMethods
MetaCallGraph
is for meta methods what callGraph
is for "normal" methods.- MetaCallGraph() -
Constructor for class harpoon.Analysis.MetaMethods.MetaCallGraph
-
- MetaCallGraphAbstr - Class in harpoon.Analysis.MetaMethods
MetaCallGraphAbstr
Map based abstract
MetaCallGraph
.- MetaCallGraphAbstr() -
Constructor for class harpoon.Analysis.MetaMethods.MetaCallGraphAbstr
-
- MetaCallGraphImpl - Class in harpoon.Analysis.MetaMethods
MetaCallGraphImpl
is a full-power implementation of the
MetaCallGraph
interface.- MetaCallGraphImpl(CachingCodeFactory, Linker, ClassHierarchy, Set) -
Constructor for class harpoon.Analysis.MetaMethods.MetaCallGraphImpl
- Creates a
MetaCallGraphImpl
.
- MetaMethod - Class in harpoon.Analysis.MetaMethods
MetaMethod
is a specialization of a method, function of the
types of its arguments.- 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".
- 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) -
Constructor for class harpoon.Analysis.MetaMethods.MetaMethod
- Creates a
MetaMethod
corresponding to the method
hm
and the types declared for it.
- metaStuff(BMethod) -
Method in class harpoon.Analysis.EventDriven.ToAsync
-
- Method - Class in harpoon.Interpret.Quads
Method
interprets method code in quad form.- Method() -
Constructor for class harpoon.Interpret.Quads.Method
-
- Method - Class in harpoon.Interpret.Tree
Method
converts HMethods
into tree code,
and interprets them.- Method() -
Constructor for class harpoon.Interpret.Tree.Method
-
- method -
Variable in class harpoon.IR.LowQuad.PMCONST
- The
HMethod
to address.
- method() -
Method in class harpoon.IR.LowQuad.PMCONST
- Returns the method whose offset is computed.
- method -
Variable in class harpoon.IR.LowQuad.PMOFFSET
- The
HMethod
to address.
- method() -
Method in class harpoon.IR.LowQuad.PMOFFSET
- Returns the method whose offset is computed.
- method -
Variable in class harpoon.IR.Quads.CALL
- The method to invoke.
- method() -
Method in class harpoon.IR.Quads.CALL
- Returns the method invoked by this
CALL
.
- method() -
Method in class harpoon.IR.Quads.HEADER
- Returns the
Quads.METHOD
following this HEADER
.
- METHOD - Class in harpoon.IR.Quads
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(QuadFactory, HCodeElement, Temp[], int) -
Constructor for class harpoon.IR.Quads.METHOD
- Creates a
Quads.METHOD
quad.
- METHOD -
Static variable in class harpoon.IR.Quads.QuadKind
-
- METHOD - Class in harpoon.IR.Tree
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(TreeFactory, HCodeElement, Label, int, TEMP[]) -
Constructor for class harpoon.IR.Tree.METHOD
- Creates a
Tree.METHOD
object.
- METHOD -
Static variable in class harpoon.IR.Tree.TreeKind
-
- METHOD -
Static variable in class harpoon.Tools.PatMat.Sym
-
- method2SafeParams -
Static variable in class harpoon.Analysis.PA2.Mutation.WPMutationAnalysisCompStage
- If the
--wp-mutation-save
option is used, the
analysis will save here a map from each analyzed method to the
indices of its safe parameters; indices start from 0, and take
into account the this
argument for the instance
methods.
- 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.
- 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
-
- methodHolesSet(PANode) -
Method in class harpoon.Analysis.PointerAnalysis.PAEscapeFunc
- Returns the set of methods that
node
escapes into.
- MethodInfo - Class in harpoon.IR.RawClass
- 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 in harpoon.Analysis.Quads
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 in harpoon.Backend.Maps
- A
MethodMap
assigns an ordering to the methods in a
class. - MethodMap() -
Constructor for class harpoon.Backend.Maps.MethodMap
-
- MethodMutator<HCE extends HCodeElement> - Class in harpoon.Analysis.Transformation
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.ClassMethodMap
-
- methodOrder(HMethod) -
Method in class harpoon.Backend.Analysis.InterfaceMethodMap
- Returns an ordering of the given method.
- methodOrder(HMethod) -
Method in class harpoon.Backend.Maps.MethodMap
- Return an ordering of the given method.
- 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 in harpoon.Analysis.Transformation
MethodSplitter
makes it easier to implement
transformations which specialize methods for one purpose or
another.- MethodSplitter(HCodeFactory, ClassHierarchy, boolean) -
Constructor for class harpoon.Analysis.Transformation.MethodSplitter
- Creates a
MethodSplitter
, based on the method
representations in the parent
HCodeFactory
.
- MethodSplitter.Token - Class in harpoon.Analysis.Transformation
- 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.
- methodTooBig(HMethod) -
Static method in class harpoon.Analysis.PA2.PAUtil
- Detects certain pathological methods whose analysis takes a
long time without producing something really useful.
- MethodTraceFactory - Class in harpoon.Analysis.Quads
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
.
- methodWithInitCheck(HMethod) -
Method in class harpoon.Analysis.Quads.InitializerTransform
- Return the handle for the verion of hm with "init-check" tests.
- mh -
Variable in class harpoon.Analysis.PointerAnalysis.MyAP
-
- 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(SpillHeuristics.SpillHeuristic[]) -
Method in class harpoon.Analysis.Instr.AppelRegAlloc
- Finds the minimum cost heuristic in
h
.
- minNumber() -
Method in class harpoon.Backend.RuntimeTiny.CompleteClazNumbering
-
- minNumber() -
Method in class harpoon.Backend.RuntimeTiny.PreOrderClazNumbering
- Returns the smallest number which this
ClazNumbering
will associate with any HClass
.
- 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
.
- MIPS -
Static variable in class harpoon.Backend.Backend
- MIPS backend
- MIPSDA -
Static variable in class harpoon.Backend.Backend
- MIPS with support for direct address registers
- MIPSOptimizations - Class in harpoon.Main
MIPSOptimizations
- MIPSOptimizations() -
Constructor for class harpoon.Main.MIPSOptimizations
-
- MIPSOptimizations.QuadPass - Class in harpoon.Main
-
- MIPSOptimizations.QuadPass() -
Constructor for class harpoon.Main.MIPSOptimizations.QuadPass
-
- MIPSOptimizations.TreePass - Class in harpoon.Main
-
- MIPSOptimizations.TreePass() -
Constructor for class harpoon.Main.MIPSOptimizations.TreePass
-
- MIPSYP -
Static variable in class harpoon.Backend.Backend
- MIPS with support for last line accesses is tag unchecked
- MLabel - Class in harpoon.Analysis.PA2.Mutation
MLabel
- labels for the mutation NFA.- MLabel() -
Constructor for class harpoon.Analysis.PA2.Mutation.MLabel
-
- MLabel.Field - Class in harpoon.Analysis.PA2.Mutation
-
- MLabel.Param - Class in harpoon.Analysis.PA2.Mutation
-
- MLabel.Reach - Class in harpoon.Analysis.PA2.Mutation
-
- MLabel.Reach() -
Constructor for class harpoon.Analysis.PA2.Mutation.MLabel.Reach
-
- MLabel.ReachFromStat - Class in harpoon.Analysis.PA2.Mutation
-
- MLabel.ReachFromStat() -
Constructor for class harpoon.Analysis.PA2.Mutation.MLabel.ReachFromStat
-
- MOD -
Static variable in class harpoon.Tools.Annotation.Sym
-
- modCount -
Variable in class harpoon.IR.Tree.Data
- Keep track of modifications to this
Data
so that the
getElementsI()
Iterator
can fail-fast.
- MODEQ -
Static variable in class harpoon.Tools.Annotation.Sym
-
- modulus -
Variable in class harpoon.Analysis.Tree.AlignmentAnalysis.ConstantModuloN
-
- MONITOR -
Static variable in class harpoon.Analysis.GraphColoring.OptimisticGraphColorer
-
- Monitor - Class in harpoon.RunTime
-
- 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
-
- MONITORENTER -
Static variable in class harpoon.IR.Bytecode.Op
-
- MONITORENTER - Class in harpoon.IR.Quads
MONITORENTER
acquires the monitor lock of a particular
object.- MONITORENTER(QuadFactory, HCodeElement, Temp) -
Constructor for class harpoon.IR.Quads.MONITORENTER
- Creates a
MONITORENTER
.
- MONITORENTER -
Static variable in class harpoon.IR.Quads.QuadKind
-
- 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
-
- MONITOREXIT -
Static variable in class harpoon.IR.Bytecode.Op
-
- MONITOREXIT - Class in harpoon.IR.Quads
MONITOREXIT
releases the monitor lock of a particular
object.- MONITOREXIT(QuadFactory, HCodeElement, Temp) -
Constructor for class harpoon.IR.Quads.MONITOREXIT
- Creates a
MONITOREXIT
.
- MONITOREXIT -
Static variable in class harpoon.IR.Quads.QuadKind
-
- MONO -
Static variable in class harpoon.Analysis.MetaMethods.GenType
- Monomorphic type.
- MORE_INFO -
Static variable in class harpoon.Main.Javap
- Print stack size, number of locals, and number of method args.
- morePrecise(AnalysisPolicy) -
Method in class harpoon.Analysis.PA2.AnalysisPolicy
- Checks whether
this
analysis policy is more
precise than ap2
, i.e., that each of the three
precision parameters are better.
- MostlyZeroFinder - Class in harpoon.Analysis.SizeOpt
- 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(HMember, HClass) -
Method in class harpoon.ClassFile.Relinker
- Move
HMember
hm
from its declaring
class to some other class, newDestination
.
- MOVE - Class in harpoon.IR.Quads
MOVE
objects represent an assignment to a compiler temporary.- MOVE(QuadFactory, HCodeElement, Temp, Temp) -
Constructor for class harpoon.IR.Quads.MOVE
- Creates a
MOVE
from a source and destination
Temp
.
- MOVE -
Static variable in class harpoon.IR.Quads.QuadKind
-
- MOVE - Class in harpoon.IR.Tree
MOVE
statements assign a value to a location.- MOVE(TreeFactory, HCodeElement, Exp, Exp) -
Constructor for class harpoon.IR.Tree.MOVE
- Constructor.
- MOVE -
Static variable in class harpoon.IR.Tree.TreeKind
-
- MOVE -
Static variable in class harpoon.Tools.PatMat.Sym
-
- MoveList - Class in harpoon.Backend.CSAHack.RegAlloc
-
- 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.InterferenceGraph
-
- moves() -
Method in class harpoon.Backend.CSAHack.RegAlloc.Liveness
-
- MRA - Class in harpoon.Analysis.PreciseGC
MRA
is answers the question "which
Temps contain the address of the most
recently allocated object at this program point?"- MRA() -
Constructor for class harpoon.Analysis.PreciseGC.MRA
-
- mra(Code) -
Method in class harpoon.Analysis.PreciseGC.MRAFactory
- Returns an
MRA
.
- MRA.MRAToken - Class in harpoon.Analysis.PreciseGC
- The
MRAToken
class represents the nodes
on the lattice for the MRA
analysis. - mra_before(Quad) -
Method in class harpoon.Analysis.PreciseGC.MRA
- Returns a
Tuple
.
- MRAFactory - Class in harpoon.Analysis.PreciseGC
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
-
- MultiMapUtils - Class in harpoon.Analysis.MemOpt
-
- MultiMapUtils() -
Constructor for class harpoon.Analysis.MemOpt.MultiMapUtils
-
- multiply(int) -
Method in class harpoon.Analysis.LowQuad.Loop.Induction.IntMultAdd
-
- multiply(boolean) -
Method in class harpoon.Analysis.LowQuad.Loop.Induction.IntMultAdd
-
- multiply() -
Method in class harpoon.Analysis.LowQuad.Loop.Induction.IntMultAdd
-
- multiply(int) -
Method in class harpoon.Analysis.LowQuad.Loop.Induction
-
- multiply(Temp) -
Method in class harpoon.Analysis.LowQuad.Loop.Induction
-
- MustParamOracle - Class in harpoon.Analysis.Quads
- 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).
- MutableGraph<N extends Graph.Node<N,E>,E extends Graph.Edge<N,E>> - Interface in harpoon.Util.Collections
- A
MutableGraph
is a a Graph
which can
be modified. - mutateCodeName(String) -
Method in class harpoon.Analysis.Quads.CoalescingToNoSSA
-
- mutateCodeName(String) -
Method in class harpoon.Analysis.Quads.DispatchTreeTransformation
-
- mutateCodeName(String) -
Method in class harpoon.Analysis.Quads.MemoryOptimization
-
- mutateCodeName(String) -
Method in class harpoon.Analysis.Transactions.SyncTransformer
-
- mutateCodeName(String) -
Method in class harpoon.Analysis.Transformation.MethodMutator
- Override this method to change the codename which this
MethodMutator
's codefactory reports.
- mutateCodeName(String) -
Method in class harpoon.Analysis.Transformation.MethodSplitter
- Override this method to change the codename which this
MethodMutator
's codefactory reports.
- mutated -
Variable in class harpoon.Analysis.PointerAnalysis.ParIntGraph
- Contains mutated fields.
- 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.PreciseGC.RCTransformer
- Mutated constructors have signatures differing from the
original.
- 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<Quad>) -
Method in class harpoon.Analysis.Counters.RuntimeMethodCloner
-
- mutateHCode(HCodeAndMaps<Quad>) -
Method in class harpoon.Analysis.DynamicSyncRemoval.SyncRemover
-
- mutateHCode(HCodeAndMaps, MethodSplitter.Token) -
Method in class harpoon.Analysis.PreciseGC.AllocationHoisting
- Hoists allocation out of the split method.
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.PreciseGC.DynamicWBInserter
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.PreciseGC.DynamicWBQuadPass
-
- 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) -
Method in class harpoon.Analysis.PreciseGC.WriteBarrierInserter
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.PreciseGC.WriteBarrierPrePass
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.PreciseGC.WriteBarrierQuadPass
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Quads.ArrayInitRemover
-
- mutateHCode(HCodeAndMaps<Quad>) -
Method in class harpoon.Analysis.Quads.ArrayUnroller
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Quads.CoalescingToNoSSA
-
- mutateHCode(HCodeAndMaps<Quad>) -
Method in class harpoon.Analysis.Quads.ComponentOfReducer
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Quads.DispatchTreeTransformation
-
- mutateHCode(HCodeAndMaps, MethodSplitter.Token) -
Method in class harpoon.Analysis.Quads.InitializerTransform
- Mutate a given
HCode
to produce the version
specified by which
.
- mutateHCode(HCodeAndMaps<Quad>) -
Method in class harpoon.Analysis.Quads.MemoryOptimization
-
- mutateHCode(HCodeAndMaps<Quad>) -
Method in class harpoon.Analysis.Quads.MethodTraceFactory
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Quads.NewMover
-
- mutateHCode(HCodeAndMaps<Quad>) -
Method in class harpoon.Analysis.Quads.Nonvirtualize
-
- mutateHCode(HCodeAndMaps<Quad>) -
Method in class harpoon.Analysis.Quads.TypeSwitchRemover
-
- mutateHCode(HCodeAndMaps<Quad>) -
Method in class harpoon.Analysis.Quads.Virtualize
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Realtime.ClassReplacer
- Make the actual changes to the HCode.
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Realtime.QuantaChecker
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.RoleInference.RoleInference
-
- mutateHCode(HCodeAndMaps<Quad>) -
Method in class harpoon.Analysis.SizeOpt.FieldReducer
-
- mutateHCode(HCodeAndMaps<Quad>) -
Method in class harpoon.Analysis.SizeOpt.MostlyZeroFinder
-
- mutateHCode(HCodeAndMaps<Quad>) -
Method in class harpoon.Analysis.SizeOpt.SizeCounters
-
- mutateHCode(HCodeAndMaps<Quad>) -
Method in class harpoon.Analysis.Transactions.AltArrayTransformer
-
- mutateHCode(HCodeAndMaps, MethodSplitter.Token) -
Method in class harpoon.Analysis.Transactions.SyncTransformer
-
- mutateHCode(HCodeAndMaps<HCE>) -
Method in class harpoon.Analysis.Transformation.MethodMutator
- Override this method to effect transformations on split
methods.
- mutateHCode(HCodeAndMaps, MethodSplitter.Token) -
Method in class harpoon.Analysis.Transformation.MethodSplitter
- Override this method to effect transformations on split
methods.
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Analysis.Tree.ConstantPropagation
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Instrumentation.AllocationStatistics.InstrumentAllocs
-
- mutateHCode(HCodeAndMaps) -
Method in class harpoon.Instrumentation.AllocationStatistics.InstrumentAllocs2
-
- MutationAnalysis - Class in harpoon.Analysis.PA2.Mutation
MutationAnalysis
- MutationAnalysis(PointerAnalysis) -
Constructor for class harpoon.Analysis.PA2.Mutation.MutationAnalysis
- Creates a
MutationAnalysis
query object.
- MutationNFA - Class in harpoon.Analysis.PA2.Mutation
MutationNFA
- MutationNFA(HMethod, InterProcAnalysisResult, PointerAnalysis) -
Constructor for class harpoon.Analysis.PA2.Mutation.MutationNFA
-
- mutuallySingular(HMethod, Collection<StaticValue<Quad>>) -
Method in class harpoon.Analysis.Companions.SingularFinder
-
- mutuallySingular(HMethod, Collection<StaticValue<HCE>>) -
Method in interface harpoon.Analysis.Companions.SingularOracle
- Returns a set of parameters the given static values are
conditionally singular dependent on, or
null
if there is no such set (the values are not mutually singular).
- MyAP - Class in harpoon.Analysis.PointerAnalysis
MyAP
is my own implementation for the
AllocationProperties
.- MyAP(HClass) -
Constructor for class harpoon.Analysis.PointerAnalysis.MyAP
- Creates a
MyAP
.
- MyGraphColorer - Class in harpoon.Analysis.MemOpt
-
- MyGraphColorer() -
Constructor for class harpoon.Analysis.MemOpt.MyGraphColorer
-
- MyLowQuadNoSSA - Class in harpoon.Analysis.LowQuad.Loop
MyLowQuadNoSSA
- MyLowQuadSSI - Class in harpoon.Analysis.LowQuad.Loop
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<Instr>) -
Method in class harpoon.IR.Assem.Code
- Deprecated. Use Code#myPrint(PrintWriter,boolean,PrintCallback)
- myPrint(PrintWriter, boolean, HCode.PrintCallback<Instr>) -
Method in class harpoon.IR.Assem.Code
- Displays the assembly instructions of this codeview.
- mySetFactory -
Variable in class harpoon.Analysis.DataFlow.LiveTemps
-
- MZFCompilerStage - Class in harpoon.Main
MZFCompilerStage
- MZFCompilerStage() -
Constructor for class harpoon.Main.MZFCompilerStage
- Creates a
MZFCompilerStage
.
- MZFCompressor - Class in harpoon.Analysis.SizeOpt
- 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 in harpoon.Runtime
- 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.
NAME
objects are expressions which stand for symbolic
constants.Temp
; scope information
not included.
value
is measuring.
this
.
this
.
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 of
parent
.
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.
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.
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.this
metamethod.
-
).
Set
of loops that are nested inside of this loop.
Set
containing Loops
that are
nested.
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
.
CFGraphable
if one remains.
null
if there are no more base pointers associated with this derived
pointer.
Instr
to output after
this
.
Instr
s that may
succeed this one.
Instr
.
i
th successor of this quad.
i
th outgoing edge for this quad.
this
.
NiftyAllocationStrategy
implements stack- and
thread-clustered-allocation strategies.NiftyAllocationStrategy
.
NoAnalysisResultException
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
NodeRepository
.
this
.
this
.
NodeSetVar
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.
~
).
Code
that want to be notified when
some optimization replace one of their quads with some other
quad can override this method.
oldquad
is replaced of this
is
replaced with the new SSI quad newquad
.
sync
.
NullAllocationStrategy
just returns a null pointer
when asked for memory.NullAllocationStrategy
.
harpoon.Backend.MIPS.Frame.daNum
).
ObjectBuilder
is an implementation of
harpoon.Backend.Generic.Runtime.ObjectBuilder
for the
Runtime1
runtime.ObjectBuilder
with a RootOracle
which supplies null
values to any field of
java.lang.Object
(which there usually aren't any of).
ObjectBuilder
.
ObjectBuilder
ObjectBuilder
.
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.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
containing the object reference
to convert into a POINTER
.
Temp
.
Temp
holding the array reference to query.
Temp
referencing the array to be
initialized.
Temp
with the array reference.
null
if the field is static.
null
if the SET
is on a static
field, or the Temp
containing the field to set
otherwise.
Temp
to type cast.
Temp
type cast by this TYPECAST
.
objectsize
HClass
saves the array type.
t
's assigned
register sequence occupies in the register file.
OneLevelInliner
contains the code that inlines a single
CALL
instruction.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.
Qop
class.
this
.
this
.
OpConstant
represents a constant operand of a java bytecode
instruction.OpConstant
with the specified value and type.
OpConstant
from a
constant_pool
entry.
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
.
OPER
objects are expressions which stand for the result
of applying some operator to subexpressions.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.Option
Options
contains the values of the current runtime
environment.ORIGINAL
token represents the original pre-split
version of a method.
OUT
fact given the IN
fact for a Node
(HCodeElement
).
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
.
OVar
hm
.
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
PAEdgeSet
PAEscapeFunc
models the escape information.EscapeFunc
.
PANode
PANode
class models a node for the Pointer Analysis
algorithm.PANode
of type type
.
null
value for
node_class
.
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.
ParamInfo
hf
will be set to whenever
the given constructor is executed.
params
array.
params
array.
params
array which associates
Temp
s with formal parameters of a method.
params
array.
Tree.METHOD
.
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.PARTJSupportCompStage
PARTJSupportCompStage
.
PASync
models a sync
action.PASync
.
PAThreadMap
implements the parallel thread map
(i.e. the "tau" function from the algorithm).PAThreadMap
.
Pattern
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
).QuadFlowGraph
is an expanded flow graphs for Quads, where
additional nodes are added before PHI and after SIGMA nodes to make the
dataflow corresponding to the phi and sigma functions easier to express.QuadFlowGraph
.
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.
Code
object from a resilient-no-ssa
object.
QuadValueVisitor
is a visitor class that returns
a (parameterized) value.QuadVisitor
is a Design Pattern, courtesy of Martin.QuadWithTry
is a code view with explicit try-block
handlers.AllocationProperties
for the given
allocationSite
.
AllocationProperties
object for the given
allocation site.
AllocationProperties
for an
allocation site.
allocationSite
.
lowBound and
highBound
.
- RANGLE -
Static variable in class harpoon.Tools.PatMat.Sym
-
- Raw - Class in harpoon.Main
Raw
prints out the raw data structures from the
class file corresponding to the class name given on the
command-line.- Raw() -
Constructor for class harpoon.Main.Raw
-
- RBRACE -
Static variable in class harpoon.Tools.Annotation.Sym
-
- RBRACE -
Static variable in class harpoon.Tools.PatMat.Sym
-
- RBRACK -
Static variable in class harpoon.Tools.Annotation.Sym
-
- RBRACK -
Static variable in class harpoon.Tools.PatMat.Sym
-
- RCTransformer - Class in harpoon.Analysis.PreciseGC
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(HCodeFactory, ClassHierarchy, Linker) -
Constructor for class harpoon.Analysis.PreciseGC.RCTransformer
- Creates a
RCTransformer
.
- RCVR -
Static variable in class harpoon.Analysis.PreciseGC.MRA.MRAToken
-
- reach -
Static variable in class harpoon.Analysis.PA2.Mutation.MLabel
-
- Reachable<HCE extends HCodeElement> - Class in harpoon.Analysis
Reachable
- Reachable(HCode<HCE>) -
Constructor for class harpoon.Analysis.Reachable
-
- Reachable(HCode<HCE>, CFGrapher<HCE>) -
Constructor for class harpoon.Analysis.Reachable
-
- reachable -
Variable in class harpoon.Analysis.Reachable
-
- reachable_from_excp -
Variable in class harpoon.Analysis.PointerAnalysis.PointsToGraph
-
- reachableInstrs() -
Method in class harpoon.Analysis.Instr.RegAlloc
- Iterates over a view of the code which skips over instrs that
are not in our basic block set.
- reachableNodes(Set) -
Method in class harpoon.Analysis.PointerAnalysis.PointsToGraph
- Computes the set of nodes reachable from nodes in
roots
through paths that use inside and outside edges.
- reachFromStat -
Static variable in class harpoon.Analysis.PA2.Mutation.MLabel
-
- ReachingDefs - Class in harpoon.Analysis.DataFlow
ReachingDefs
is a ForwardDataFlowBasicBlockVisitor
for performing reaching definitions analysis on any IR that implements
HCodeElement
, CFGraphable
, and
UseDefable
.- ReachingDefs() -
Constructor for class harpoon.Analysis.DataFlow.ReachingDefs
-
- ReachingDefs<HCE extends HCodeElement> - Class in harpoon.Analysis
ReachingDefs
defines an abstract class for
analyzing reaching definitions.- ReachingDefs(HCode<HCE>) -
Constructor for class harpoon.Analysis.ReachingDefs
- Creates a
ReachingDefs
object for the provided
HCode
.
- reachingDefs(HCE, Temp) -
Method in class harpoon.Analysis.ReachingDefs
- Returns the Set of
HCodeElement
s providing definitions
of Temp
t
which reach
HCodeElement
hce
.
- reachingDefs(HCE, Temp) -
Method in class harpoon.Analysis.ReachingDefsAltImpl
- Returns the Set of
HCodeElement
s providing definitions
of Temp
t
which reach
HCodeElement
hce
.
- reachingDefs(HCE, Temp) -
Method in class harpoon.Analysis.ReachingDefsCachingImpl
- Returns the Set of
HCodeElement
s providing definitions
of Temp
t
which reach
HCodeElement
hce
.
- reachingDefs(HCE, Temp) -
Method in class harpoon.Analysis.ReachingDefsImpl
- Returns the Set of
HCodeElement
s providing definitions
of Temp
t
which reach
HCodeElement
hce
.
- reachingDefs(HCE, Temp) -
Method in class harpoon.Analysis.SSxReachingDefsImpl
-
- ReachingDefsAltImpl<HCE extends HCodeElement> - Class in harpoon.Analysis
ReachingDefsAltImpl
- ReachingDefsAltImpl(HCode<HCE>) -
Constructor for class harpoon.Analysis.ReachingDefsAltImpl
- Creates a
ReachingDefsImpl
object for the
provided HCode
using CFGrapher.DEFAULT
and
UseDefer.DEFAULT
.
- ReachingDefsAltImpl(HCode<HCE>, CFGrapher<HCE>) -
Constructor for class harpoon.Analysis.ReachingDefsAltImpl
- Creates a
ReachingDefsImpl
object for the
provided HCode
for an IR implementing
UseDefable
using the provided CFGrapher
.
- ReachingDefsAltImpl(HCode<HCE>, CFGrapher<HCE>, UseDefer<HCE>) -
Constructor for class harpoon.Analysis.ReachingDefsAltImpl
- Creates a
ReachingDefsImpl
object for the
provided HCode
using the provided
CFGrapher
and UseDefer
.
- ReachingDefsCachingImpl<HCE extends HCodeElement> - Class in harpoon.Analysis
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(HCode<HCE>) -
Constructor for class harpoon.Analysis.ReachingDefsCachingImpl
- Creates a
ReachingDefsCachingImpl
.
- ReachingDefsCachingImpl(HCode<HCE>, CFGrapher<HCE>) -
Constructor for class harpoon.Analysis.ReachingDefsCachingImpl
- Creates a
ReachingDefsCachingImpl
.
- ReachingDefsCachingImpl(HCode<HCE>, CFGrapher<HCE>, UseDefer<HCE>) -
Constructor for class harpoon.Analysis.ReachingDefsCachingImpl
- Creates a
ReachingDefsCachingImpl
.
- ReachingDefsImpl<HCE extends HCodeElement> - Class in harpoon.Analysis
ReachingDefsImpl
defines an implementation
for analyzing reaching definitions.- ReachingDefsImpl(HCode<HCE>, CFGrapher<HCE>) -
Constructor for class harpoon.Analysis.ReachingDefsImpl
- Creates a
ReachingDefsImpl
object for the
provided HCode
for an IR implementing
UseDefable
using the provided CFGrapher
.
- ReachingDefsImpl(HCode<HCE>, CFGrapher<HCE>, UseDefer<HCE>) -
Constructor for class harpoon.Analysis.ReachingDefsImpl
- Creates a
ReachingDefsImpl
object for the
provided HCode
using the provided
CFGrapher
and UseDefer
.
- ReachingDefsImpl(HCode<HCE>) -
Constructor for class harpoon.Analysis.ReachingDefsImpl
- Creates a
ReachingDefsImpl
object for the
provided HCode
using CFGrapher.DEFAULT
.
- ReachingHCodeElements - Class in harpoon.Analysis.DataFlow
ReachingHCodeElements
is an extension of
ReachingDefs
for performing reaching definitions analysis on
HCodeElements
s.- ReachingHCodeElements(BasicBlock.Factory) -
Constructor for class harpoon.Analysis.DataFlow.ReachingHCodeElements
- Constructs a new
ReachingHCodeElements
for
the basic blocks in the supplied BasicBlock.Factory
.
- ReachingHCodeElements(BasicBlock.Factory, SetFactory) -
Constructor for class harpoon.Analysis.DataFlow.ReachingHCodeElements
- Constructs a new
ReachingHCodeElements
for
the basic blocks in the supplied BasicBlock.Factory
.
- read(ClassFile, ClassDataInputStream) -
Static method in class harpoon.IR.RawClass.Attribute
- Read an Attribute from a ClassDataInputStream.
- read(ClassDataInputStream) -
Method in class harpoon.IR.RawClass.ClassFile
-
- read(ClassFile, ClassDataInputStream) -
Static method in class harpoon.IR.RawClass.Constant
- Read a single Constant item from an input class bytecode file,
and return an object instance corresponding to it.
- read(ClassFile, ClassDataInputStream) -
Method in class harpoon.IR.RawClass.FieldInfo
- Read a single FieldInfo item from an input class bytecode file.
- read(ClassFile, ClassDataInputStream) -
Method in class harpoon.IR.RawClass.MethodInfo
- Read a single MethodInfo item from an input class bytecode file.
- read() -
Method in class harpoon.Tools.Annotation.Lex.EscapedUnicodeReader
-
- read(char[], int, int) -
Method in class harpoon.Tools.Annotation.Lex.EscapedUnicodeReader
-
- read_u1() -
Method in class harpoon.IR.RawClass.ClassDataInputStream
- Read an unsigned one-byte quantity, high byte first.
- read_u2() -
Method in class harpoon.IR.RawClass.ClassDataInputStream
- Read an unsigned two-byte quantity, high byte first.
- read_u4() -
Method in class harpoon.IR.RawClass.ClassDataInputStream
- Read an unsigned four-byte quantity, high byte first.
- readResolve() -
Method in class harpoon.Analysis.Transformation.MethodSplitter.Token
- This method must be overridden to ensure that
Token
s
are still singletons after deserialization.
- readResource(String, ParseUtil.StringParser) -
Static method in class harpoon.Util.ParseUtil
- Reads from the given resource, ignoring '#' comments and blank lines,
obeying 'include' directives, and invoking the given
StringParser
on any other lines.
- readUnsignedInt() -
Method in class harpoon.IR.RawClass.ClassDataInputStream
- Supplies the mysterious missing method from the standard
DataInputStream
superclass.
- ready() -
Method in class harpoon.Tools.Annotation.Lex.EscapedUnicodeReader
-
- real_action() -
Method in class harpoon.Analysis.MemOpt.PreallocOpt.QuadPass
-
- real_action() -
Method in class harpoon.Analysis.MemOpt.PreallocOpt.TreePass
-
- real_action() -
Method in class harpoon.Analysis.PA2.AllocSync.WPAllocSyncCompStage
-
- real_action() -
Method in class harpoon.Analysis.PA2.Mutation.WPMutationAnalysisCompStage
-
- real_action() -
Method in class harpoon.Analysis.PA2.WPPointerAnalysisCompStage
-
- real_action() -
Method in class harpoon.Analysis.PointerAnalysis.AllocSyncOptCompStage
-
- real_action() -
Method in class harpoon.Analysis.PointerAnalysis.PARTJSupportCompStage
-
- real_action() -
Method in class harpoon.Analysis.PointerAnalysis.PointerAnalysisCompStage
-
- real_action() -
Method in class harpoon.Analysis.Realtime.Realtime.QuadPass
-
- real_action() -
Method in class harpoon.Analysis.Realtime.Realtime.TreePass
-
- real_action() -
Method in class harpoon.Main.CompilerStageEZ
-
- real_action() -
Method in class harpoon.Main.DynamicSyncRemoval.QuadPass
-
- real_action() -
Method in class harpoon.Main.DynamicSyncRemoval.TreePass
-
- real_action() -
Method in class harpoon.Main.EventDrivenTransformation.QuadPass1
-
- real_action() -
Method in class harpoon.Main.EventDrivenTransformation.QuadPass2
-
- real_action() -
Method in class harpoon.Main.MIPSOptimizations.QuadPass
-
- real_action() -
Method in class harpoon.Main.MIPSOptimizations.TreePass
-
- real_action() -
Method in class harpoon.Main.MZFCompilerStage
-
- real_action() -
Method in class harpoon.Main.RoleInference
-
- real_action() -
Method in class harpoon.Main.Transactions.QuadPass
-
- real_action() -
Method in class harpoon.Main.Transactions.TreePass
-
- real_action() -
Method in class harpoon.Main.WriteBarriers.DynamicWBQuadPass
-
- real_action() -
Method in class harpoon.Main.WriteBarriers.WBDynamicWBTreePass
-
- real_action() -
Method in class harpoon.Main.WriteBarriers.WBQuadPass
-
- REAL_POINTER_ANALYSIS -
Static variable in class harpoon.Analysis.Realtime.Realtime
- More complicated pointer analysis to determine which checks to
remove.
- Realtime - Class in harpoon.Analysis.Realtime
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.- Realtime() -
Constructor for class harpoon.Analysis.Realtime.Realtime
-
- Realtime.QuadPass - Class in harpoon.Analysis.Realtime
-
- Realtime.QuadPass() -
Constructor for class harpoon.Analysis.Realtime.Realtime.QuadPass
-
- Realtime.TreePass - Class in harpoon.Analysis.Realtime
-
- Realtime.TreePass() -
Constructor for class harpoon.Analysis.Realtime.Realtime.TreePass
-
- REALTIME_JAVA -
Static variable in class harpoon.Analysis.Realtime.Realtime
- Is Realtime JAVA support turned on?
- REALTIME_THREADS -
Static variable in class harpoon.Analysis.Realtime.Realtime
- Add support for realtime threads
- REALTIME_THREADS_PREEMPT -
Static variable in class harpoon.Analysis.Realtime.Realtime
- Add support for CheckQuanta
- RealtimeAllocationStrategy - Class in harpoon.Analysis.Realtime
RealtimeAllocationStrategy
makes all memory allocations to go through
RTJ_malloc
.- RealtimeAllocationStrategy(Frame) -
Constructor for class harpoon.Analysis.Realtime.RealtimeAllocationStrategy
- Creates a
RealtimeAllocationStrategy
.
- RealtimeRuntime - Class in harpoon.Analysis.Realtime
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.- RealtimeRuntime(Frame, AllocationStrategy, HMethod, boolean) -
Constructor for class harpoon.Analysis.Realtime.RealtimeRuntime
- Create a RealtimeRuntime.
- recomputeEdges() -
Method in class harpoon.IR.Tree.TreeCode
- This operation is not supported in non-canonical tree forms.
- RECORD_ACTIONS -
Static variable in class harpoon.Analysis.PointerAnalysis.PointerAnalysis
- Turns on the recording of the actions done by the program.
- RECORD_WRITES -
Static variable in class harpoon.Analysis.PA2.Flags
-
- recycle -
Variable in class harpoon.Analysis.EnvBuilder.EnvBuilder
-
- recycle -
Variable in class harpoon.Analysis.EventDriven.EventDriven
-
- recycle -
Variable in class harpoon.Analysis.EventDriven.ToAsync
-
- reduce_table() -
Method in class harpoon.Tools.Annotation.Java12
- access to reduce_goto table
- reduce_table() -
Method in class harpoon.Tools.PatMat.Parser
- access to reduce_goto table
- ref(TreeFactory, DerivationGenerator, Stm, Temp) -
Static method in class harpoon.Backend.Analysis.GCTraceStore
-
- referenceEqual(TreeFactory, HCodeElement, DerivationGenerator, Translation.Exp, Translation.Exp) -
Method in class harpoon.Backend.Generic.Runtime.TreeBuilder
- Return a
Translation.Exp
representing an
comparison between expressions evaluating to two references,
refLeft
and refRight
.
- referenceEqual(TreeFactory, HCodeElement, DerivationGenerator, Translation.Exp, Translation.Exp) -
Method in class harpoon.Backend.Runtime1.TreeBuilder
-
- REFLECTION_DATA -
Static variable in class harpoon.IR.Tree.SEGMENT
- R/O memory that stores reflection tables and other non-object data.
- REFLECTION_OBJECTS -
Static variable in class harpoon.IR.Tree.SEGMENT
- R/O memory that stores reflection data objects.
- RegAlloc - Class in harpoon.Analysis.Instr
RegAlloc
performs Register Allocation for a set of
Instr
s in a Backend.Generic.Code
.- RegAlloc(Code) -
Constructor for class harpoon.Analysis.Instr.RegAlloc
- Creates a
RegAlloc
.
- RegAlloc - Class in harpoon.Backend.CSAHack.RegAlloc
- Register allocation module.
- RegAlloc(Frame, Code, Instr, DerivationGenerator) -
Constructor for class harpoon.Backend.CSAHack.RegAlloc.RegAlloc
- Allocate the temporaries defined and used in an Assem.InstrList to
machine registers defined in a Frame.
- RegAlloc.Factory - Class in harpoon.Analysis.Instr
-
- RegAlloc.Factory() -
Constructor for class harpoon.Analysis.Instr.RegAlloc.Factory
-
- RegAlloc.IntermediateCode - Interface in harpoon.Analysis.Instr
IntermediateCode
is a code which has been
register allocated but the architecture-specific spill
instructions and method prologue/epilogue have not been
inserted yet.- RegAlloc.IntermediateCodeFactory - Interface in harpoon.Analysis.Instr
- IntermediateCodeFactory is an HCodeFactory that is guaranteed
to produce
IntermediateCode
s. - RegAlloc.RestoreProxy - Class in harpoon.Analysis.Instr
-
- RegAlloc.SpillLoad - Class in harpoon.Analysis.Instr
- Class for
RegAlloc
usage in loading registers. - RegAlloc.SpillProxy - Class in harpoon.Analysis.Instr
-
- RegAlloc.SpillStore - Class in harpoon.Analysis.Instr
- Class for
RegAlloc
usage in spilling registers. - regAllocLocalWords(int) -
Method in class harpoon.Backend.MIPS.StackInfo
- On top (highest address) of the MIPS stack frame are the
locals/temporaries This isn't a
great interface, but it is the info we get from RegAlloc.
- RegAllocOpts - Class in harpoon.Analysis.Instr
RegAllocOpts
encapsulates a set of modifications to
how register allocation will be performed on a particular set of
methods.- RegAllocOpts(String) -
Constructor for class harpoon.Analysis.Instr.RegAllocOpts
- Creates a
RegAllocOpts
.
- regAllocUsedRegs(ArrayList) -
Method in class harpoon.Backend.MIPS.StackInfo
- Give the stack frame model the array of used callee saved
registers.
- regDerivations -
Variable in class harpoon.Backend.Generic.GCInfo.GCPoint
-
- regDerivations() -
Method in class harpoon.Backend.Generic.GCInfo.GCPoint
- Returns an unmodifiable
Map
of live derived
pointers in WrappedMachineRegLoc
s to the
derivation information in the form of DLoc
s
for that GC point
- RegFileInfo - Class in harpoon.Backend.Generic
RegFileInfo
defines an interface that general program
analyses can call to find out architecture specific information
about the target machine's register file.- RegFileInfo() -
Constructor for class harpoon.Backend.Generic.RegFileInfo
- Creates a
RegFileInfo
.
- RegFileInfo - Class in harpoon.Backend.MIPS
RegFileInfo
encapsulates information about the
MIPS register set.- RegFileInfo() -
Constructor for class harpoon.Backend.MIPS.RegFileInfo
- Creates a
RegFileInfo
.
- RegFileInfo - Class in harpoon.Backend.Sparc
RegFileInfo
contains architecture specific information
about the registers for the Sparc architecture.- RegFileInfo(TempBuilder) -
Constructor for class harpoon.Backend.Sparc.RegFileInfo
-
- RegFileInfo - Class in harpoon.Backend.StrongARM
RegFileInfo
encapsulates information about the
StrongARM register set.- RegFileInfo() -
Constructor for class harpoon.Backend.StrongARM.RegFileInfo
- Creates a
RegFileInfo
.
- RegFileInfo.CommonLoc - Interface in harpoon.Backend.Generic
- Common super class for
StackOffsetLoc
and
MachineRegLoc
. - RegFileInfo.MachineRegLoc - Interface in harpoon.Backend.Generic
- Represents Machine Register
Temp
s. - RegFileInfo.SpillException - Exception in harpoon.Backend.Generic
- SpillException tells a register allocator which
Temp
s are appropriate for spilling in order to
allocate space for another Temp
. - RegFileInfo.SpillException() -
Constructor for exception harpoon.Backend.Generic.RegFileInfo.SpillException
-
- RegFileInfo.SpillException(String) -
Constructor for exception harpoon.Backend.Generic.RegFileInfo.SpillException
-
- RegFileInfo.StackOffsetLoc - Interface in harpoon.Backend.Generic
- Represents Stack Offset
Temp
s. - RegFileInfo.TempLocator - Interface in harpoon.Backend.Generic
- Defines function from
(
Temp
x DefPoint) ->
Set
of CommonLoc
. - regIndex() -
Method in class harpoon.Backend.Generic.GCInfo.WrappedMachineRegLoc
- Returns the abstract index of underlying
MachineRegLoc
in the register file.
- regIndex() -
Method in interface harpoon.Backend.Generic.RegFileInfo.MachineRegLoc
- Returns the index of
this
in the register file.
- regIndex() -
Method in interface harpoon.Backend.Maps.BackendDerivation.Register
- Returns the index of this register in the machine register file.
- REGISTER -
Static variable in class harpoon.Backend.MIPS.StackInfo
-
- registerAssigned(Instr, Temp) -
Method in class harpoon.Backend.CSAHack.RegAlloc.Code
-
- registerAssigned(Instr, Temp) -
Method in class harpoon.Backend.Generic.Code
- Checks if
pseudoReg
has been assigned to some
registers in i
.
- Registration - Class in harpoon.IR
Registration
takes care of registering 'well-known'
intermediate representations.- Registration() -
Constructor for class harpoon.IR.Registration
-
- regLocs -
Variable in class harpoon.Backend.Generic.GCInfo.DLoc
- Arrays of base pointer locations
- regSigns -
Variable in class harpoon.Backend.Generic.GCInfo.DLoc
- Arrays of booleans
- REGSTACKSPLIT -
Static variable in class harpoon.Backend.MIPS.StackInfo
-
- regTempFactory() -
Method in class harpoon.Backend.MIPS.RegFileInfo
-
- regTempFactory() -
Method in class harpoon.Backend.Sparc.RegFileInfo
-
- RegUseDefer - Class in harpoon.Backend.Generic
RegUseDefer
performs a Temp -> Register mapping on
Backend Codes.- RegUseDefer(Code) -
Constructor for class harpoon.Backend.Generic.RegUseDefer
- Creates a
RegUseDefer
.
- Relation - Interface in harpoon.Analysis.PointerAnalysis
Relation
is a mathematical relation, accepting one to many
and many to one mappings.- RelationEntryVisitor - Interface in harpoon.Analysis.PointerAnalysis
RelationEntryVisitor
is a wrapper for a function that is
called on a relation entry of the form <key,value>
.- RelationImpl - Class in harpoon.Analysis.PointerAnalysis
RelationImpl
is a heavy-weight implementation of the
Relation
interface: it is basically a Hashtable from keys
to HashSet's of values.- RelationImpl() -
Constructor for class harpoon.Analysis.PointerAnalysis.RelationImpl
- Creates an empty
Relation
.
- releaseClassHierarchy() -
Static method in class harpoon.Analysis.PA2.TypeFilter
-
- relink(HClass, HClass) -
Method in class harpoon.ClassFile.Relinker
- Globally replace all references to
oldClass
with
references to newClass
, which may or may not have
the same name.
- Relinker - Class in harpoon.ClassFile
- A
Relinker
object is a Linker
where one
can globally replace references to a certain class with references
to another, different, class. - Relinker(Linker) -
Constructor for class harpoon.ClassFile.Relinker
- Creates a
Relinker
.
- REM -
Static variable in class harpoon.IR.Tree.Bop
- Remainder operation.
- REM -
Static variable in class harpoon.Tools.PatMat.Sym
-
- remove() -
Method in class harpoon.Analysis.DataFlow.ReversePostOrderIterator
-
- remove(Set) -
Method in class harpoon.Analysis.PointerAnalysis.AbstrPAEdgeSet
-
- remove(Object, Object) -
Method in class harpoon.Analysis.PointerAnalysis.AbstrRelation
-
- remove(Object) -
Method in class harpoon.Analysis.PointerAnalysis.LightMap
- Removes the mapping previously attached to
key
.
- remove(Set) -
Method in class harpoon.Analysis.PointerAnalysis.LightPAEdgeSet
-
- remove(Set) -
Method in interface harpoon.Analysis.PointerAnalysis.PAEdgeSet
-
- remove(Set) -
Method in class harpoon.Analysis.PointerAnalysis.PAEscapeFunc
- Remove all the
PANode
s that appear in set
from this
object.
- remove(Set) -
Method in class harpoon.Analysis.PointerAnalysis.ParIntGraph
- Removes the nodes from
nodes
from this
graph.
- remove(Set) -
Method in class harpoon.Analysis.PointerAnalysis.PAThreadMap
- Remove all the
PANode
s that appear in set
from this
thread map.
- remove() -
Method in class harpoon.Analysis.PointerAnalysis.PAWorkList
-
- remove() -
Method in class harpoon.Analysis.PointerAnalysis.PAWorkSet
-
- remove() -
Method in class harpoon.Analysis.PointerAnalysis.PAWorkStack
-
- remove(Set) -
Method in class harpoon.Analysis.PointerAnalysis.PointsToGraph
- Remove all the
PANode
s that appear in set
from this
points-to graph.
- remove(Object, Object) -
Method in interface harpoon.Analysis.PointerAnalysis.Relation
- Removes the relation between
key
and
value
.
- remove(Object, Object) -
Method in class harpoon.Analysis.PointerAnalysis.RelationImpl
-
- remove() -
Method in class harpoon.IR.Assem.Instr
- Removes
this
from its current place in the
instruction layout.
- remove(HCE, Temp) -
Method in class harpoon.IR.LowQuad.DerivationMap
- Remove all type and derivation mappings for the given
Temp
defined at the given HCodeElement
.
- remove(int) -
Method in class harpoon.IR.Quads.FOOTER
- Remove an attachment from this
FOOTER
by replacing
the footer.
- remove(Quad) -
Method in interface harpoon.IR.Quads.HANDLER.ProtectedSet
- Remove a quad from the protected set.
- remove() -
Method in class harpoon.IR.Quads.Quad
- Remove this quad from the graph.
- remove(Stm) -
Method in class harpoon.IR.Tree.Code
- Removes the specified
Stm
from the tree in which it
resides.
- remove(Exp) -
Method in class harpoon.IR.Tree.DerivationGenerator
- Remove all type and derivation mappings for the given
Tree.Exp
.
- remove() -
Method in class harpoon.Util.ArrayIterator
-
- remove(Object) -
Method in class harpoon.Util.BinHeapPriorityQueue
-
- remove() -
Method in class harpoon.Util.CloneableIterator
-
- REMOVE_TAGS -
Static variable in class harpoon.Analysis.Realtime.Realtime
- Remove tagging when you remove all checks?
- removeAll(Object, Collection) -
Method in class harpoon.Analysis.PointerAnalysis.AbstrRelation
-
- removeAll(Object, Collection) -
Method in class harpoon.Analysis.PointerAnalysis.LightRelation
-
- removeAll(Object, Collection) -
Method in interface harpoon.Analysis.PointerAnalysis.Relation
- Removes the relation between
key
and
any element from values
.
- removeAll(Object, Collection) -
Method in class harpoon.Analysis.PointerAnalysis.RelationImpl
-
- removeAllInterfaces() -
Method in interface harpoon.ClassFile.HClassMutator
-
- removeAssignment(Instr, Temp) -
Method in class harpoon.Backend.Generic.Code
-
- removeClassInitializer(HInitializer) -
Method in interface harpoon.ClassFile.HClassMutator
-
- removeColor() -
Method in class harpoon.Analysis.GraphColoring.ColorFactory
- Factory downsizer.
- removeConstructor(HConstructor) -
Method in interface harpoon.ClassFile.HClassMutator
-
- removeDeclaredField(HField) -
Method in interface harpoon.ClassFile.HClassMutator
-
- removeDeclaredMethod(HMethod) -
Method in interface harpoon.ClassFile.HClassMutator
-
- removeDummies() -
Method in class harpoon.Analysis.Partition.WeightedGraph
-
- removeEdge(WGNode) -
Method in class harpoon.Analysis.Partition.WGNode
-
- removeEdge(Temp, PANode) -
Method in class harpoon.Analysis.PointerAnalysis.AbstrPAEdgeSet
-
- removeEdge(PANode, String, PANode) -
Method in class harpoon.Analysis.PointerAnalysis.AbstrPAEdgeSet
-
- removeEdge(Temp, PANode) -
Method in class harpoon.Analysis.PointerAnalysis.LightPAEdgeSet
-
- removeEdge(PANode, String, PANode) -
Method in class harpoon.Analysis.PointerAnalysis.LightPAEdgeSet
-
- removeEdge(Temp, PANode) -
Method in interface harpoon.Analysis.PointerAnalysis.PAEdgeSet
-
- removeEdge(PANode, String, PANode) -
Method in interface harpoon.Analysis.PointerAnalysis.PAEdgeSet
-
- removeEdge(E) -
Method in class harpoon.Util.Collections.AbstractGraph
-
- removeEdge(E) -
Method in interface harpoon.Util.Collections.MutableGraph
- Remove the given edge from the graph.
- removeEdges() -
Method in class harpoon.Analysis.Partition.WGNode
-
- removeEdges(Temp) -
Method in class harpoon.Analysis.PointerAnalysis.AbstrPAEdgeSet
-
- removeEdges(PANode, String) -
Method in class harpoon.Analysis.PointerAnalysis.AbstrPAEdgeSet
-
- removeEdges(PANode) -
Method in class harpoon.Analysis.PointerAnalysis.AbstrPAEdgeSet
-
- removeEdges(Set) -
Method in class harpoon.Analysis.PointerAnalysis.ActionRepository
- Removes all the information related to
ld
actions
using the edges from edges
.
- removeEdges(Set) -
Method in class harpoon.Analysis.PointerAnalysis.EdgeOrdering
- Removes all the information related to edges from
edges
.
- removeEdges(Temp) -
Method in class harpoon.Analysis.PointerAnalysis.LightPAEdgeSet
-
- removeEdges(PANode, String) -
Method in class harpoon.Analysis.PointerAnalysis.LightPAEdgeSet
-
- removeEdges(PANode) -
Method in class harpoon.Analysis.PointerAnalysis.LightPAEdgeSet
-
- removeEdges(Temp) -
Method in interface harpoon.Analysis.PointerAnalysis.PAEdgeSet
-
- removeEdges(PANode, String) -
Method in interface harpoon.Analysis.PointerAnalysis.PAEdgeSet
-
- removeEdges(PANode) -
Method in interface harpoon.Analysis.PointerAnalysis.PAEdgeSet
-
- removeEmptyLoads() -
Method in class harpoon.Analysis.PointerAnalysis.ParIntGraph
- Simplify
this
parallel interaction graph by removing the
loads that don't escape anywhere (and hence, don't represent any
object).
- removeExceptionType(HClass) -
Method in interface harpoon.ClassFile.HMethodMutator
-
- removeHandlers(HandlerSet) -
Method in class harpoon.IR.Quads.Quad
- Remove this quad from the given handler sets.
- removeIncomingEdge(WGNode) -
Method in class harpoon.Analysis.Partition.WGNode
-
- removeIncomingEdges() -
Method in class harpoon.Analysis.Partition.WGNode
-
- removeInterface(HClass) -
Method in interface harpoon.ClassFile.HClassMutator
-
- removeKey(Object) -
Method in class harpoon.Analysis.PointerAnalysis.AbstrRelation
-
- removeKey(Object) -
Method in class harpoon.Analysis.PointerAnalysis.AbstrRelationMapBased
-
- removeKey(Object) -
Method in interface harpoon.Analysis.PointerAnalysis.Relation
- Removes all the relations attached to
key
.
- removeKey(Object) -
Method in class harpoon.Analysis.PointerAnalysis.RelationImpl
-
- removeKeys(PredicateWrapper) -
Method in class harpoon.Analysis.PointerAnalysis.AbstrRelation
-
- removeKeys(PredicateWrapper) -
Method in interface harpoon.Analysis.PointerAnalysis.Relation
- Removes all the keys that satisfy
predicate.check()
.
- removeKeys(PredicateWrapper) -
Method in class harpoon.Analysis.PointerAnalysis.RelationImpl
-
- removeMethodHole(PANode, HMethod) -
Method in class harpoon.Analysis.PointerAnalysis.PAEscapeFunc
- The dual of
addMethodHole
- removeMethodHoles(Set) -
Method in class harpoon.Analysis.PointerAnalysis.PAEscapeFunc
- The methods from the set
good_holes
are unharmful
to the specific application that uses the pointer analysis.
- removeModifiers(int) -
Method in interface harpoon.ClassFile.HClassMutator
-
- removeModifiers(int) -
Method in interface harpoon.ClassFile.HFieldMutator
- Remove the modifiers specified by
m
from the field.
- removeModifiers(int) -
Method in interface harpoon.ClassFile.HMethodMutator
-
- removeNode(WGNode) -
Method in class harpoon.Analysis.Partition.WeightedGraph
-
- removeNodeHole(PANode, PANode) -
Method in class harpoon.Analysis.PointerAnalysis.PAEscapeFunc
- The dual of
addNodeHole
- removeNodeHoleFromAll(PANode) -
Method in class harpoon.Analysis.PointerAnalysis.PAEscapeFunc
- Removes a node hole from all the nodes:
esc(n) = esc(n) - {n_hole}
for all n
.
- removeNodes(Set) -
Method in class harpoon.Analysis.PointerAnalysis.ActionRepository
- Removes all the information related to edges containing nodes from
nodes
.
- removeNodes(Set) -
Method in class harpoon.Analysis.PointerAnalysis.EdgeOrdering
- Removes all the information related to edges containing nodes from
nodes
.
- removeObjects(PredicateWrapper) -
Method in class harpoon.Analysis.PointerAnalysis.AbstrRelation
-
- removeObjects(PredicateWrapper) -
Method in interface harpoon.Analysis.PointerAnalysis.Relation
- Removes all the relations involving at least one object that
satisfy
predicate.check()
.
- removeObjects(PredicateWrapper) -
Method in class harpoon.Analysis.PointerAnalysis.RelationImpl
-
- removeOutgoingEdge(WGNode) -
Method in class harpoon.Analysis.Partition.WGNode
-
- removeOutgoingEdges() -
Method in class harpoon.Analysis.Partition.WGNode
-
- removePhi(int) -
Method in class harpoon.IR.Quads.PHI
- Deprecated. does not preserve immutability.
- removePred(int) -
Method in class harpoon.IR.Quads.PHI
- Deprecated. does not preserve immutability.
- removeSigma(int) -
Method in class harpoon.IR.Quads.SIGMA
- Deprecated. Does not preserve immutability.
- removeValues(PredicateWrapper) -
Method in class harpoon.Analysis.PointerAnalysis.AbstrRelation
-
- removeValues(PredicateWrapper) -
Method in interface harpoon.Analysis.PointerAnalysis.Relation
- Removes all the values that satisfy
predicate.check()
.
- removeValues(PredicateWrapper) -
Method in class harpoon.Analysis.PointerAnalysis.RelationImpl
-
- rename(InstrFactory, TempMap, TempMap) -
Method in class harpoon.Analysis.Instr.InstrMOVEproxy
-
- rename(InstrFactory, TempMap, TempMap) -
Method in class harpoon.Analysis.Instr.RegAlloc.RestoreProxy
-
- rename(InstrFactory, TempMap, TempMap) -
Method in class harpoon.Analysis.Instr.RegAlloc.SpillProxy
-
- rename(Derivation.DList, TempMap) -
Static method in class harpoon.Analysis.Maps.Derivation.DList
- Returns a new
DList
with the Temp
s
renamed by the supplied mapping
- rename(TempMap) -
Method in class harpoon.IR.Assem.Instr
- Create a new
Instr
identical to the receiver, but
with all Temp
s renamed according to the given
mappings.
- rename(TempMap, TempMap) -
Method in class harpoon.IR.Assem.Instr
- Create a new
Instr
identical to the receiver, but
with all Temp
s renamed according to the given
mappings.
- rename(InstrFactory, TempMap, TempMap) -
Method in class harpoon.IR.Assem.Instr
- Create a new
Instr
identical to the receiver, but
with all Temp
s renamed according to the given
mappings.
- rename(InstrFactory, TempMap, TempMap) -
Method in class harpoon.IR.Assem.InstrCALL
-
- rename(InstrFactory, TempMap, TempMap) -
Method in class harpoon.IR.Assem.InstrDIRECTIVE
-
- rename(InstrFactory, TempMap, TempMap) -
Method in class harpoon.IR.Assem.InstrJUMP
-
- rename(InstrFactory, TempMap, TempMap) -
Method in class harpoon.IR.Assem.InstrLABEL
-
- rename(InstrFactory, TempMap, TempMap) -
Method in class harpoon.IR.Assem.InstrMEM
-
- rename(InstrFactory, TempMap, TempMap) -
Method in class harpoon.IR.Assem.InstrMOVE
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.LowQuad.PAOFFSET
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.LowQuad.PARRAY
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.LowQuad.PCALL
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.LowQuad.PFCONST
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.LowQuad.PFIELD
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.LowQuad.PFOFFSET
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.LowQuad.PGET
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.LowQuad.PMCONST
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.LowQuad.PMETHOD
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.LowQuad.PMOFFSET
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.LowQuad.POPER
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.LowQuad.PSET
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.AGET
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.ALENGTH
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.ANEW
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.ARRAYINIT
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.ASET
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.CALL
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.CJMP
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.COMPONENTOF
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.CONST
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.DEBUG
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.FOOTER
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.GET
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.HANDLER
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.HEADER
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.INSTANCEOF
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.LABEL
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.METHOD
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.MONITORENTER
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.MONITOREXIT
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.MOVE
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.NEW
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.NOP
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.OPER
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.PHI
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.Quad
- Create a new
Quad
identical to the receiver, but
with all Temp
s renamed according to a mapping.
- rename(TempMap, TempMap) -
Method in class harpoon.IR.Quads.Quad
- Create a new
Quad
identical to the receiver, but
with all Temp
s renamed according to a mapping.
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.RETURN
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.SET
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.SWITCH
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.THROW
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.TYPECAST
-
- rename(QuadFactory, TempMap, TempMap) -
Method in class harpoon.IR.Quads.TYPESWITCH
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.ALIGN
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.BINOP
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.CALL
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.CJUMP
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.CONST
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.DATUM
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.ESEQ
-
- rename(ExpList, TreeFactory, TempMap, Tree.CloneCallback) -
Static method in class harpoon.IR.Tree.ExpList
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.EXPR
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.JUMP
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.LABEL
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.MEM
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.METHOD
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.MOVE
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.NAME
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.NATIVECALL
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.RETURN
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.SEGMENT
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.SEQ
-
- rename(StmList, TreeFactory, TempMap, Tree.CloneCallback) -
Static method in class harpoon.IR.Tree.StmList
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.TEMP
-
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.THROW
-
- rename(TempMap) -
Method in class harpoon.IR.Tree.Tree
- Rename while cloning a subtree.
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.Tree
- Rename while cloning a subtree.
- rename(TreeFactory, TempMap, Tree.CloneCallback) -
Method in class harpoon.IR.Tree.UNOP
-
- replace() -
Method in interface harpoon.Analysis.GraphColoring.ColorableGraph
- Replaces the last hidden node
into the graph.
this
with a new tree.
oldi
in the Instruction Stream with
newis
.
System.err
, using reflection
to discover all fields starting with "COUNTER_".
ResilientNoSSA
is a code view with resilient exception
handling.FOOTER
by replacing it.
this
into appropriate offsets
from the Stack Pointer in the Memory.
this
matches.
OPER
.
OPER
.
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
representing a method return.
RETURN
objects are used to represent a return from
a method body.null
for void
methods.
Temp
which will hold the return value of
the method, or the value null
if the method returns
no value.
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.
true
, then each time we try to load something
from an escaped node that already has a few load nodes (for
the field we load), we reuse the smallest existent node,
instead of generating a node for that LOAD instruction.
this
relation and store the result into
the relation result
.
this
.
RoleInference
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.Runtime1.Runtime
.
Runtime1.Runtime
.
Runtime2.Runtime
is a no-frills implementation of the runtime
abstract class.RuntimeTiny.Runtime
is a size-optimized version of the
FLEX backend.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.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 the entry point for most of the analyses and
optimizations implemented in Flex.SCCAnalysis
implements Sparse Conditional Constant Propagation,
with extensions to allow type and bitwidth analysis.SCC
.
SCC
, and uses UseDef
for the
UseDefMap
.
SCCLBBFactory
computes the topologically sorted component
graph of the light basic blocks containing the code of a method.SCCLBBFactory
.
SCCOptimize
optimizes the code after SCCAnalysis
.SCCOptimize
.
MetaMethod
s.
SEGMENT
class is used to mark the beginning of a new
section of memory.SEGMENT
precedes.
PAEscapeFunc
containing escape information
only about the nodes from the set remaining_nodes
.
selected_keys
.
which
.
NEW
and ANEW
quads) from this
code.
CALL
quads from
this
code.
q
from
this
code for which q.accept(v)
is
true
.
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
using a CycleEq
.
SESE.Region
represents a single-entry single-exit
(SESE) Region, as computed by the SESE
object.SET
represents field assignment-to operations.SET
representing a field assignment
operation.
this
contains
type
.
a-b
.
this
contains all five basic
Types, { INT, LONG, FLOAT, DOUBLE, POINTER }.
AllocationInformation
for this codeview.
CallGraph
to use for this
Generic.Frame
.
CallGraph
to use for this
Generic.Runtime
.
ClassHierarchy
to use for this
Generic.Frame
.
ClassHierarchy
to use for this
Generic.Runtime
.
n
.
n
.
co
.
Derivation
for
this LowQuad.Code
.
ESEQ
.
this
.
SetHClass
represents concrete type.m
.
Object
to the new, specified value, and returns the old value
this
contains
a signed, specific precise type value
CJUMP
.
Settings
n
.
i
-th argument of this
meta-method.
type
.
SetTypeMap
is a mapping from temporaries to their concrete types,
i.e.setTypeMap(HCode, Temp) -
Method in interface harpoon.Analysis.Maps.SetTypeMap
this
contains
an unsigned, specific precise type value
harpoon.ClassFile.HCodeFactory
.
java.lang.Object
.
HClass
object representing the primitive type short.
es_old
to
es_new
.
ar2
to this
:
newly added stuff and removed stuff.
SIGMA
functions are added where control flow splits.SIGMA
representing a block of sigma
functions.
SIGMA
object with the specified arity.
signature_index
item must be a
valid index into the constant_pool
table.
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.
DefaultWriteBarrierAnalysis
.
SingularFinder
is an implementation of
SingularOracle
for quad IRs.SingularFinder
.
SingularOracle
provides information about
singularity and mutual singularity of static values.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
is an improved call graph produced by
compressing a meta call graph, ie, all metamethods are shrinked
down to their originating method).SmartCallGraph
.
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 .Spec
.
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. we throw away
the return value).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. we throw away
the return value).Spec.StmNativeCall
.
Spec.Stm
representing an expression
which is evaluated for its side effects (i.e. we throw away
the return value).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
.
SpecialInterProc
value
on the given edge.
Temp
Tvalue
on the given edge.
Temp
containing the desired new value of the
field or element.
Temp
holding the desired new value for
the dereference field or element.
Temp
holding the new value for the array
element.
Temp
to evaluate.
Temp
to test.
Temp
.
Temp
.
nParam
'th argument of the
nPhi
'th phi function in the block.
nPhi
'th
phi function in the block.
Temp
containing the desired new value of the field.
Temp
containing the desired new value
of the field.
nSigma
'th sigma function in
the block.
SSICallGraph
SSICallGraph
.
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
.
Map
of live derived
pointers in StackOffsetLoc
s to the
derivation information in the form of DLoc
s
for that GC point
StackOffsetLoc
.
start_pc
and
end_pc
indicate the ranges in the code
array at which the exception handler is active.
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.
code
array in the closed interval
[start_pc, start_pc + length]
.
List
for the
HCodeElement
s within this
.
StaticValue
is a pair of variable and statement,
which represents all the variables possible values at the
given program point.StaticValue
.
Stats
Stm
objects are statements which perform side effects and
control flow.this
.
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
.
this
.
List
of all the edges from
this HCodeElement
.
List
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.
HMethod
and returns an HMethod
that is to be called following the first method is called.
SWITCH
represents a switch construct.SWITCH
operation.
SyncRemover
calls a "magic" native method to determine
if synchronization should be done on this object, and skips the
MONITORENTER
/MONITOREXIT
sequence if the
answer is no.SyncRemover
.
SyncTransformer
transforms synchronized code to
atomic transactions.SyncTransformer
with no transaction root
methods.
SyncTransformer
with a transaction root method
set loaded from the specified resource name.
SyncTransformer
with the specified transaction
root method set.
TEMP
objects are expressions which stand for a
value in a virtual register.Temp
which this TEMP
refers to.
Temp
class represents a temporary
variable.TempBuilder
defines an interface that general program
transformations can call to generate data structures to represent
Temp
s.TempBuilder
.
TempBuilder
for MIPS.TempBuilder
.
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
.
TempChain
needs to be documented.TempChain
.
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.
TempFactory
assigns unique identifiers to
Temp
s within a given scope.TempInfo
TempInstrPair
is an immutable data structure that
associates an Instr
with a Temp
.Temp
s to
newly-cloned Temp
s.
Temp
from the new_tf
TempFactory
that corresponds to the specified
Temp
t
from the old_tf
TempFactory
, creating it if necessary.
TempMap
maps one Temp
to another
Temp
.Temp
.
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
.
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
.
THROW
represents a throw
statement.THROW
representing a exception
throw statement.
THROW
objects are used to represent a thrown exception.Temp
containing the exception object to
throw.
Timer
keeps track of how much time accumulates between
successive calls to start and stop.TinyClassFieldMap
is an extension of ClassFieldMap
which lays out objects *attempting* to align them, but not forcing an
alignment.TinyClassFieldMap
.
TinyClassFieldMap
.
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
.
HCodeEdge
.
HCodeEdge
.
instr
can be safely eliminated from output.
instr
.
ToAsync
ToAsync
.
ToCanonicalTree
class translates tree code to
canonical tree code (no ESEQ).LabelList
to a java.util.List
.
ToNoSSA
class implements the translation between SSA
and No-SSA form.Region
tree.
list
.
this
FCFGBasicBlock
.
toString
returns a string representation of the
for loop.
DList
.
String
representation
of the Token
.
QuadCounter
.
HCode
.
HField
.
HMethod
.
InterfaceListPointer
.
UndefinedPointer
.
Instr
.
InstrFactory
.
DEBUG
quad.
Quad
.
Quad
.
Quad
.
Quad
.
Qop
value to a descriptive
string.
QuadFactory
.
Quad
.
Bop
value to a human-readable
string.
Tree
.
TreeFactory
.
PreciselyTyped
expression.
Uop
value to
a human-readable string.
TempFactory
Tuple
.
TransactionAbortException
is thrown to indicate
the forced-suicide of a transaction.TransactionAbortException
that will
abort all parent subtransactions up to that specified by
abortUpTo
.
Transactions
TempMap
and old
AllocationInformation
.
Derivation
to another, using
an appropriate TempMap
.
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.CONST
, or
simply ignores them.
null
references by edges to the special node NULL
, or
simply ignores them.
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.RuntimeTiny.TreeBuilder
extends
Runtime1.TreeBuilder
to implement a more-compressed
(but slower) object layout.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.
TreeDataFilter
hacks through the field information tables
emitted by Runtime1.DataReflection2
to add in additional
information about the bitfield-numbering of fields.DataInitializers
.
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.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
node for the
thread body (ie the run()
method) run
.
this
action.
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
.
this
node.
CONST
expression.
Temp
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
.TypeFilter
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.t
, as defined
at the definition point hce
.
Temp
t
in
HMethod
m
.
Temp
t
in
HMethod
m
.
Temp
t
in
HMethod
m
.
exp
.
TypeNotKnownException
is thrown to indicate that
the TypeMap
does not have type information for the
specified Temp
in the given HCodeElement
.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
.
hf
-labeled edge between n1
and n2
UNDER ALL CIRCUMSTANCES (regardless of the
type filtering, etc.).
UndefinedPointer
class represents a pointer to a
value for which the type is not known.UndefinedRef
is a reference of an unknown typet1
and t2
.
this
PAEdgeSet
.
union
, equivalent to
union(edges2, null)
.
this
PAEscapeFunc
with e2
.
this
relation with relation
rel
.
UniqueName
contains methods to create unique class,
field, or method names.AllocationNUmbering
doesn't know
about.UnknownAllocationSiteError
.
this
a root-level tree, unlinking it from
its parent.
TempMapunNx(TreeFactory) -
Method in class harpoon.IR.Tree.Translation.Exp
-
- unNxImpl(TreeFactory) -
Method in class harpoon.IR.Tree.Translation.Cx
-
- unNxImpl(TreeFactory) -
Method in class harpoon.IR.Tree.Translation.Ex
-
- unNxImpl(TreeFactory) -
Method in class harpoon.IR.Tree.Translation.Exp
-
- unNxImpl(TreeFactory) -
Method in class harpoon.IR.Tree.Translation.Nx
-
- UNOP -
Static variable in class harpoon.IR.Tree.TreeKind
-
- UNOP - Class in harpoon.IR.Tree
UNOP
objects are expressions which stand for result of
applying some unary operator o to a subexpression.- UNOP(TreeFactory, HCodeElement, int, int, Exp) -
Constructor for class harpoon.IR.Tree.UNOP
- Constructor.
- UNOP -
Static variable in class harpoon.Tools.PatMat.Sym
-
- Unreachable - Class in harpoon.Analysis.Quads
Unreachable
gets rid of unreachable code.- Unreachable() -
Constructor for class harpoon.Analysis.Quads.Unreachable
-
- unsetColor(Object) -
Method in interface harpoon.Analysis.GraphColoring.ColorableGraph
- Removes
n
from the Node -> Color mapping.
- unsetColor(Object) -
Method in class harpoon.Analysis.GraphColoring.SparseGraph
-
- uoh -
Variable in class harpoon.Analysis.PointerAnalysis.MyAP
-
- Uop - Class in harpoon.IR.Tree
Uop
is an enumerated type for UNOP
s.- Uop() -
Constructor for class harpoon.IR.Tree.Uop
-
- UPDATE(DerivationGenerator, Exp, Exp) -
Static method in class harpoon.Analysis.Realtime.HeapCheckAdder
-
- update(HCE, Temp, HCE, Temp) -
Method in class harpoon.IR.LowQuad.DerivationMap
- Transfer typing from one place to another.
- update(Exp, Exp) -
Method in class harpoon.IR.Tree.DerivationGenerator
- Transfer typing from one exp to another.
- updateNode2Code(PANode, HCodeElement) -
Method in class harpoon.Analysis.PointerAnalysis.NodeRepository
- Modify the node2code mapping such that now node is associated
with hce.
- updateRoots(Set, Linker) -
Static method in class harpoon.Analysis.MemOpt.PreallocOpt
- Adds to the set of roots the classes/methods that are called
by the runtime when the preallocation optimization is used.
- updateValue(Object) -
Method in class harpoon.Interpret.Tree.InterfaceListPointer
- Throws an error, as the program is not supposed to
modify static class data
- updateValue(Object) -
Method in class harpoon.Interpret.Tree.StringPointer
- Throws an error, as
StringPointer
s are constant.
- 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(Node) -
Method in class harpoon.Backend.CSAHack.FlowGraph.AssemFlowGraph
-
- use(Node) -
Method in class harpoon.Backend.CSAHack.FlowGraph.FlowGraph
- The set of temporaries used by this instruction or block
- use() -
Method in class harpoon.IR.Assem.Instr
- Returns the
Temp
s used by this Instr
.
- use() -
Method in class harpoon.IR.LowQuad.PAOFFSET
-
- use() -
Method in class harpoon.IR.LowQuad.PCALL
-
- use() -
Method in class harpoon.IR.LowQuad.PGET
-
- use() -
Method in class harpoon.IR.LowQuad.PPTR
-
- use() -
Method in class harpoon.IR.LowQuad.PSET
-
- use() -
Method in interface harpoon.IR.Properties.UseDefable
- Return all the
Temp
s used by this
HCodeElement
.
- use(HCE) -
Method in class harpoon.IR.Properties.UseDefer
- Return all the
Temp
s used by hce
.
- use() -
Method in class harpoon.IR.Quads.AGET
- Returns all the
Temp
s 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.ANEW
- Returns 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.ASET
- Returns all the Temps 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.CJMP
- Returns all the
Temp
s 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.GET
- 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.MONITORENTER
- Returns the Temp 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.MOVE
- Returns 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.PHI
- Returns all the
Temp
s 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.RETURN
- Returns all the Temps used by this Quad.
- use() -
Method in class harpoon.IR.Quads.SET
- Returns the Temps used by this Quad.
- use() -
Method in class harpoon.IR.Quads.SIGMA
-
- use() -
Method in class harpoon.IR.Quads.SWITCH
- Returns the
Temp
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.TYPECAST
- Returns the
Temp
s used by this quad.
- use() -
Method in class harpoon.IR.Quads.TYPESWITCH
- Returns the
Temp
used by this quad.
- 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_PINTER_HEURISTICS -
Static variable in class harpoon.Analysis.Instr.SpillHeuristics
-
- useC(HCodeElement) -
Method in class harpoon.Analysis.Instr.BasePointerPreservingUseDefer
-
- useC(HCodeElement) -
Method in class harpoon.Analysis.Instr.IgnoreSpillUseDefer
-
- useC(HCodeElement) -
Method in class harpoon.Backend.Generic.RegUseDefer
-
- 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(HCE) -
Method in class harpoon.IR.Properties.UseDefer
- Returns a
Collection
of all the
Temp
s that may be read by hce
.
- useC() -
Method in class harpoon.IR.Quads.Quad
-
- useC(Tree) -
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(Instr) -
Method in class harpoon.Analysis.Instr.AppelRegAlloc
-
- UseDef<HCE extends HCodeElement> - Class in harpoon.Analysis
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
.
- UseDefable - Interface in harpoon.IR.Properties
UseDefable
defines an interface for intermediate
representations that keep use/def information.- UseDefChecker - Class in harpoon.Analysis
UseDefChecker
verifies that all variables are defined
before they are used.- UseDefChecker(HCodeFactory, UseDefChecker.ReachingDefsFactory) -
Constructor for class harpoon.Analysis.UseDefChecker
- Creates a
UseDefChecker
from a
ReachingDefsFactory
.
- UseDefChecker(HCodeFactory, String) -
Constructor for class harpoon.Analysis.UseDefChecker
- Creates a
UseDefChecker
using the named class
as the ReachingDefs
implementation.
- UseDefChecker.ReachingDefsFactory - Class in harpoon.Analysis
- The
UseDefChecker
constructor takes a
ReachingDefsFactory
argument to specify which
ReachingDefs
implementation it should use. - UseDefChecker.ReachingDefsFactory() -
Constructor for class harpoon.Analysis.UseDefChecker.ReachingDefsFactory
-
- USEDEFER -
Static variable in class harpoon.Analysis.Instr.IgnoreSpillUseDefer
-
- UseDefer<HCE extends HCodeElement> - Class in harpoon.IR.Properties
UseDefer
provides a means to externally associate use and
def information with elements of an intermediate representation.- UseDefer() -
Constructor for class harpoon.IR.Properties.UseDefer
-
- UseDefMap<HCE extends HCodeElement> - Interface in harpoon.Analysis.Maps
- A
UseDefMap
is a mapping from temporaries to the
HCodeElements
that define them. - usedRegisterTemps() -
Method in interface harpoon.Analysis.Instr.RegAlloc.IntermediateCode
-
- useMap(HCode<HCE>, Temp) -
Method in interface harpoon.Analysis.Maps.UseDefMap
- Return an array of
HCodeElement
s that use
Temp t
.
- useMap(HCode<HCE>, Temp) -
Method in class harpoon.Analysis.UseDef
- Return the HCodeElements which use a given Temp.
- 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 in harpoon.Analysis.MemOpt
Util
- Util() -
Constructor for class harpoon.Analysis.MemOpt.Util
-
- Util - Class in harpoon.Util
- Miscellaneous static utility functions.
- Util() -
Constructor for class harpoon.Util.Util
-
double
constant.
float
constant.
int
constant.
long
constant.
java.lang.Double
.
java.lang.Float
.
java.lang.Integer
.
java.lang.Long
.
java.lang.String
.
CONST
expression.
CONST
expression.
name
.
this
.
variable
Temp
stores the basic
induction variable.
SHOW_STATISTICS
is also true,
printStatistics will show A LOT OF statistics when it finishes.
Virtualize
makes any non-virtual invocations of
uncallable methods non-virtual, so that they don't lead to
link errors later.Virtualize
code factory using the given
ClassHierarchy
.
PANode
.
<key,value>
entry of a relation.
Instr
i.
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.
OPER
is disallowed in LowQuad
form.
SET
is disallowed in LowQuad
form.
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.
OPER
is disallowed in LowQuad
form.
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 the specified
initial capacity and default load factor.
WorkSet
with the specified
initial capacity and the specified load factor.
WorkSet
with the contents of the
specified Collection
.
WPAllocSyncCompStage
WPMutationAnalysisCompStage
WPPointerAnalysis
is a whole-program pointer analysis.WPPointerAnalysisCompStage
WritableTempMap
is a mutable instance of a
TempMap
.WriteBarrier
is an abstract class that provides
a dummy write-barrier for generational garbage collection.WriteBarrierConstElim
operates on Tree
form.WriteBarrierInserter
takes code in Quad form and inserts
write barriers for generational garbage collection.WriteBarrierInserter
.
WriteBarrierInserter
using a default
no-analysis WriteBarrierAnalysis
.
DefaultWriteBarrierAnalysis
returns a no-
analysis WriteBarrierAnalysis
Object that
assumes write barriers are needed for all SET and ASETs
of object fields.WriteBarrierAnalysis
maps Code
s
to Set
s of Quads for which write barriers have
been deemed unnecessary.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
.
WriteBarriers
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.WriteConstraint
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.
WVar
|
|||||||||
PREV NEXT | FRAMES NO FRAMES |