Serialized Form
map
Map map
hasInteriorPointers
boolean hasInteriorPointers
canBeStackAllocated
boolean canBeStackAllocated
canBeThreadAllocated
boolean canBeThreadAllocated
makeHeap
boolean makeHeap
noSynchronization
boolean noSynchronization
allocationHeap
Temp allocationHeap
actualClass
HClass actualClass
first
HCodeElement first
last
HCodeElement last
pred_bb
Set pred_bb
succ_bb
Set succ_bb
num
int num
size
int size
factory
BasicBlock.Factory factory
hcode
HCode hcode
hceToBB
Map hceToBB
grapher
CFGrapher grapher
root
BasicBlock root
leaves
Set leaves
blocks
Set blocks
BBnum
int BBnum
readResolve
private Object readResolve()
throws ObjectStreamException
Package harpoon.Analysis.Counters |
old2new
Map old2new
badboys
Set badboys
linker
Linker linker
needsNullCheck
Set needsNullCheck
Package harpoon.Analysis.EnvBuilder |
Package harpoon.Analysis.EventDriven |
Package harpoon.Analysis.GraphColoring |
node
Object node
- The node that was targetted for coloring.
color
Color color
- Color intended for assignment.
node
Object node
- Node intended to be assigned to
color
.
rmvSuggsLarge
Collection rmvSuggsLarge
rmvSuggs
Collection rmvSuggs
Package harpoon.Analysis.Instr |
reg
Temp reg
Package harpoon.Analysis.LowQuad.Loop |
dT
HashMap dT
tT
HashMap tT
parentDerivation
Derivation parentDerivation
quadmap
Map quadmap
tempMap
TempMap tempMap
dT
HashMap dT
tT
HashMap tT
parentDerivation
Derivation parentDerivation
quadmap
Map quadmap
tempMap
TempMap tempMap
quadmapchanges
Map quadmapchanges
Package harpoon.Analysis.Maps |
type
HClass type
isExact
boolean isExact
Package harpoon.Analysis.MetaMethods |
hclass
HClass hclass
kind
int kind
callers_cmpct
Map callers_cmpct
empty_array
MetaMethod[] empty_array
callees1_cmpct
Map callees1_cmpct
callees2_cmpct
Map callees2_cmpct
empty_array
MetaMethod[] empty_array
all_meta_methods
Set all_meta_methods
split
Relation split
run_mms
Set run_mms
hcf
CachingCodeFactory hcf
ch
ClassHierarchy ch
instantiated_classes
Set instantiated_classes
callees1
Relation callees1
callees2
Map callees2
WMM
PAWorkList WMM
analyzed_mm
Set analyzed_mm
mm_work
MetaMethod mm_work
mm_count
int mm_count
calls
Set calls
param_types
GenType[] param_types
nb_meta_methods
int nb_meta_methods
jl_Thread
HClass jl_Thread
jl_Runnable
HClass jl_Runnable
call_time
long call_time
nb_calls
int nb_calls
nb_big_calls
int nb_big_calls
implementers
Set implementers
kids
HClass[] kids
nb_kids
int nb_kids
cls
HClass[] cls
impl
HClass[] impl
nb_cls
int nb_cls
mh2md
Map mh2md
qvis_dd
harpoon.Analysis.MetaMethods.MetaCallGraphImpl.QuadVisitorDD qvis_dd
ets2et
Map ets2et
ets_test
harpoon.Analysis.MetaMethods.MetaCallGraphImpl.ExactTempS ets_test
qvis_ti
harpoon.Analysis.MetaMethods.MetaCallGraphImpl.QuadVisitorTI qvis_ti
hm
HMethod hm
types
GenType[] types
Package harpoon.Analysis.PointerAnalysis |
alpha_ld
HashSet alpha_ld
pi_ld
Relation pi_ld
alpha_sync
Relation alpha_sync
pi_sync
Hashtable pi_sync
hcf
CachingCodeFactory hcf
alloc2int
Map alloc2int
call2int
Map call2int
n
int n
c
int c
after
Relation after
edges
Map edges
strict
boolean strict
count
int count
main
HMethod main
linker
Linker linker
parenthcf
HCodeFactory parenthcf
an
AllocationNumbering an
syncs
boolean syncs
callchains
boolean callchains
pa
PointerAnalysis pa
newmap
InstrumentSyncOps.QuadMap newmap
monitorentermap
InstrumentSyncOps.QuadMap monitorentermap
monitorexitmap
InstrumentSyncOps.QuadMap monitorexitmap
locks
HashMap[] locks
ocs
HashMap[] ocs
var_edges
Relation var_edges
node_edges
Map node_edges
info
Object info
next
ListCell next
DEBUG_IC
boolean DEBUG_IC
- See Also:
- Constant Field Values
pa
PointerAnalysis pa
hcf
HCodeFactory hcf
linker
Linker linker
mms
Set mms
node_rep
NodeRepository node_rep
mcg
MetaCallGraph mcg
mac
MetaAllCallers mac
opt
MAInfo.MAInfoOptions opt
caching_scc_lbb_factory
CachingSCCLBBFactory caching_scc_lbb_factory
good_holes
Set good_holes
java_lang_Thread
HClass java_lang_Thread
java_lang_Throwable
HClass java_lang_Throwable
aps
Map aps
ih
Map ih
hm2rang
Map hm2rang
quad2scc
Map quad2scc
MAX_INLINING_SIZE
int MAX_INLINING_SIZE
- Only methods that have less than
MAX_INLINING_SIZE
instructions can be inlined. Just a simple way of preventing
the code bloat.
current_chain_cs
LinkedList current_chain_cs
current_chain_callees
LinkedList current_chain_callees
chains
LinkedList chains
DO_STACK_ALLOCATION
boolean DO_STACK_ALLOCATION
- Controls the generation of stack allocation hints.
Default
false
.
STACK_ALLOCATION_POLICY
int STACK_ALLOCATION_POLICY
- Forbids stack allocation in a loop. Should be one of the
STACK_ALLOCATE_*
constants. Default is
STACK_ALLOCATE_NOT_IN_LOOPS
.
DO_THREAD_ALLOCATION
boolean DO_THREAD_ALLOCATION
- Controls the generation of thread local heap allocation hints.
Default
false
.
DO_INLINING_FOR_SA
boolean DO_INLINING_FOR_SA
- Enables the application of some method inlining to
increase the effectiveness of the stack allocation. Only
inlinings that increase the effectiveness of the stack
allocation are done. Default
false
.
DO_INLINING_FOR_TA
boolean DO_INLINING_FOR_TA
- Enables the application of some method inlining to
increase the effectiveness of the thread local heap
allocation. Default
false
.
DO_PREALLOCATION
boolean DO_PREALLOCATION
- Enables the use of preallocation: if an object will be
accessed only by a thread (ie it is created just to
pass some parameters to a thread), it can be preallocated into
the heap of that thread. For the moment, it is potentially
dangerous so it is deactivated by default.
Default
false
.
GEN_SYNC_FLAG
boolean GEN_SYNC_FLAG
- Controls the detection of the objects for whom there are
no concurrent synchronizations. This objects are marked with a
special flag to reduce the cost of synchronization operations.
Default
false
.
USE_INTER_THREAD
boolean USE_INTER_THREAD
- Use the interthread analysis inside
MAInfo
.
If this analysis is too buggy or time/memory expensive,
you can disable it through this flag. NOTE: this
will also disable some of the optimizations (eg the
preallocation).
Default false
.
USE_OLD_INLINING
boolean USE_OLD_INLINING
- Use the old, 1-level inlining. Default is
false
(ie the new, multilevel strategy is used). Might be useful
for people not willing to go into the bugs of the new strategy.
MAX_INLINING_LEVEL
int MAX_INLINING_LEVEL
- The current implementation is able to inline call strings of
length bigger than one.
Default value is 2.
MAX_METHOD_SIZE
int MAX_METHOD_SIZE
- The maximal size to which we can inflate the size of a method
through inlining.
Default is
1000
quads.
MAX_INLINABLE_METHOD_SIZE
int MAX_INLINABLE_METHOD_SIZE
- The maximal size of a method that can be inlined.
Default is
100
quads.
call_site
CALL call_site
- The call site of the unanalyzed method.
sites_history
LinkedList sites_history
- History of call sites between the original skipped call site,
and the current method.
mms
MetaMethod[] mms
- The array of the meta methods that can be called at call site
call_site
.
__arguments
Set __arguments
- Set of all the parameter nodes for the unanalyzed method.
__parameters
Set __parameters
__ungroupedparameters
Set[] __ungroupedparameters
retNode
PANode retNode
excNode
PANode excNode
number
int number
deepness
int deepness
mapup
int mapup
id
int id
numero
int numero
hip
boolean hip
sa
boolean sa
ta
boolean ta
uoh
boolean uoh
mh
boolean mh
ns
boolean ns
ah
Temp ah
actualClass
HClass actualClass
CONST_NODE
PANode CONST_NODE
NULL_NODE
PANode NULL_NODE
static_nodes
Hashtable static_nodes
param_nodes
Hashtable param_nodes
code_nodes
Hashtable code_nodes
cf_nodes
Hashtable cf_nodes
except_nodes
Hashtable except_nodes
node2code
Hashtable node2code
pa
ODPointerAnalysis pa
hcf
HCodeFactory hcf
mms
Set mms
node_rep
NodeRepository node_rep
mcg
MetaCallGraph mcg
mac
MetaAllCallers mac
USE_INTER_THREAD
boolean USE_INTER_THREAD
DO_STACK_ALLOCATION
boolean DO_STACK_ALLOCATION
DO_THREAD_ALLOCATION
boolean DO_THREAD_ALLOCATION
GEN_SYNC_FLAG
boolean GEN_SYNC_FLAG
aps
Map aps
ih
Map ih
n1
PANode n1
f
String f
n2
PANode n2
rel_n
Relation rel_n
rel_m
Relation rel_m
type
int type
- The type of the node
number
int number
- Holds the unique ID
call_chain_depth
int call_chain_depth
cs_specs
LightMap cs_specs
cs_parent
PANode cs_parent
call_site
CALL call_site
bottom
PANode bottom
ts_specs
LightMap ts_specs
wtspec
PANode wtspec
ts_parent
PANode ts_parent
run_mmethod
MetaMethod run_mmethod
node_class
GenType[] node_class
bar_version
PANode bar_version
genuine_version
PANode genuine_version
null
for the genuine nodes.
G
PointsToGraph G
- Points-to escape graph that summarizes the points-to and escape
information for the current thread.
tau
PAThreadMap tau
- The paralel thread map; it attaches to each thread node nT, an
integer from the set {0,1,2} where 2 signifies the possibility
that multiple instances of nT execute in parallel with the current
thread.
ar
ActionRepository ar
- Maintains the actions executed by the analysed code and the parallel
action relation.
alpha
and pi
from the
original paper have been merged into this single field for efficiency
reasons.
eo
EdgeOrdering eo
- Maintains the (conservative) ordering relations between the inside
and the outside edges.
before(ei,eo)
is true if the
inside edge ei might be created before the ouside edge eo was read.
n
PANode n
- The node on which the
sync
is performed on.
nt
PANode nt
- The thread which performs the
sync
.
hce
HCodeElement hce
- The instruction which performs the
sync
.
depth
int depth
- The depth of the call-path specialization chain; if 0, the
sync
took place in the current method.
call_path
ListCell call_path
- The call chain that specializes this action. Its size is equal
to
depth
. To cope with the recursive methods, this
is just the last part of the call-path, containing up to
PointerAnalysis.MAX_SPEC_DEPTH
elements: every chain
shorter than that limit is exact, the rest are just approximations.
wtspec_run
MetaMethod wtspec_run
- If
this
action is the thread specialization of another
action, this is the run method of the thread which does this action.
hash
int hash
- Cache for the hash code.
hash
Hashtable hash
list
LinkedList list
set
HashSet set
list
LinkedList list
set
HashSet set
mcg
MetaCallGraph mcg
mac
MetaAllCallers mac
scc_lbb_factory
CachingSCCLBBFactory scc_lbb_factory
linker
Linker linker
hash_proc_interact_int
Map hash_proc_interact_int
hash_proc_interact_ext
Map hash_proc_interact_ext
hash_proc_int
Map hash_proc_int
hash_proc_ext
Map hash_proc_ext
aamm
Set aamm
cs_specs
Map cs_specs
t_specs
Map t_specs
W_inter_proc
PAWorkStack W_inter_proc
W_intra_proc
PAWorkList W_intra_proc
nodes
NodeRepository nodes
mm_navigator
SCComponent.Navigator mm_navigator
current_intra_mmethod
MetaMethod current_intra_mmethod
initial_pig
ParIntGraph initial_pig
lbbpig
ParIntGraph lbbpig
call_pp
ParIntGraphPair call_pp
pa_visitor
harpoon.Analysis.PointerAnalysis.PointerAnalysis.PAVisitor pa_visitor
O
PAEdgeSet O
- The set of the outside edges.
I
PAEdgeSet I
- The set of the inside edges.
e
PAEscapeFunc e
- The escape function.
r
Set r
- The set of normally returned objects
excp
Set excp
- The set of objects which are returned as exception
reachable_from_r
Set reachable_from_r
reachable_from_excp
Set reachable_from_excp
pa
PointerAnalysis pa
necessarySyncs
Set necessarySyncs
necessaryQuads
Set necessaryQuads
callpath2syncops
Relation callpath2syncops
method2speccall
Relation method2speccall
Package harpoon.Analysis.PreciseGC |
parent
HCodeFactory parent
ch
ClassHierarchy ch
linker
Linker linker
iMap
Map iMap
iMap2
Map iMap2
mraf
MRAFactory mraf
recursiveConstructors
Set recursiveConstructors
dummyHM
HMethod dummyHM
JLT
HClass JLT
ch
ClassHierarchy ch
optimize
boolean optimize
mraf
MRAFactory mraf
arraySC
HMethod arraySC
fieldSC
HMethod fieldSC
JLT
HClass JLT
JLRF
HClass JLRF
wbs
WriteBarrierStats wbs
Package harpoon.Analysis.Quads |
etm
ExactTypeMap etm
ch
ClassHierarchy ch
dependentMethods
Map dependentMethods
- Set of dependent native methods. We know the dependencies of
these methods statically; this is a Map from HMethods to
Sets of HInitializers. HMethods with no dependencies are
"safe".
hcf
HCodeFactory hcf
- Our version of the codefactory.
safetyCache
Map safetyCache
- Cache for safety tests.
cg
CallGraph cg
fso
FieldSyncOracle fso
fm
FinalMap fm
- The
FinalMap
we will consult for our devirtualization.
callable
Set callable
- An optional set of callable methods to limit our devirtualization.
children
Map children
methods
Set methods
_unmod_methods
Set _unmod_methods
instedClasses
Set instedClasses
_unmod_insted
Set _unmod_insted
HMstrIntern
HMethod HMstrIntern
HMthrStart
HMethod HMthrStart
HMthrRun
HMethod HMthrRun
numQuads
long numQuads
parent
HCodeFactory parent
Package harpoon.Analysis.Realtime |
methodMap
HashMap methodMap
fromClass
HClass fromClass
toClass
HClass toClass
ignorePackages
Set ignorePackages
ignoreClasses
Set ignoreClasses
codeName
String codeName
Package harpoon.Analysis.RoleInference |
linker
Linker linker
Package harpoon.Analysis.SizeOpt |
bwa
BitWidthAnalysis bwa
linker
Linker linker
hcf
HCodeFactory hcf
bfn
BitFieldNumbering bfn
pointersAreLong
boolean pointersAreLong
suffix
String suffix
- See Also:
- Constant Field Values
dio
DefiniteInitOracle dio
frame
Frame frame
tb
Runtime.TreeBuilder tb
bwa
BitWidthAnalysis bwa
Package harpoon.Analysis.Transactions |
HMsysac
HMethod HMsysac
- Parent code factory.
HMimpac
HMethod HMimpac
- Parent code factory.
parent
HCodeFactory parent
- Parent code factory.
cache
Map cache
- Representation cache.
enabled
boolean enabled
noFieldModification
boolean noFieldModification
noArrayModification
boolean noArrayModification
useSmartFieldOracle
boolean useSmartFieldOracle
useSmartCheckOracle
boolean useSmartCheckOracle
useUniqueRWCounters
boolean useUniqueRWCounters
excludeCounters
boolean excludeCounters
- See Also:
- Constant Field Values
fieldOracle
FieldOracle fieldOracle
bfn
BitFieldNumbering bfn
HCclass
HClass HCclass
- Cache the
java.lang.Class
HClass
.
HCfield
HClass HCfield
- Cache the
java.lang.reflect.Field
HClass
.
HCcommitrec
HClass HCcommitrec
- Cache the
CommitRecord
HClass
.
HMcommitrec_new
HMethod HMcommitrec_new
HMcommitrec_retry
HMethod HMcommitrec_retry
HMcommitrec_commit
HMethod HMcommitrec_commit
HFcommitrec_parent
HField HFcommitrec_parent
HCabortex
HClass HCabortex
HFabortex_upto
HField HFabortex_upto
HMrVersion
HMethod HMrVersion
- Our new methods of java.lang.Object
HMrwVersion
HMethod HMrwVersion
HMrCommitted
HMethod HMrCommitted
HMwCommitted
HMethod HMwCommitted
HMmkVersion
HMethod HMmkVersion
HMsetReadFlag
HMethod HMsetReadFlag
HMsetWriteFlag
HMethod HMsetWriteFlag
HMsetWriteFlagA
HMethod HMsetWriteFlagA
HFflagvalue
HField HFflagvalue
- flag value
HFlastRTrans
HField HFlastRTrans
- last *reading* transaction
HFlastWTrans
HField HFlastWTrans
- last *writing* transaction
safeMethods
Set safeMethods
- Set of safe methods.
hcf
HCodeFactory hcf
- Our version of the codefactory.
Package harpoon.Analysis.Transformation |
parent
HCodeFactory parent
- This is the code factory which contains the representations of the
original (unsplit) methods.
hcf
HCodeFactory hcf
- This is the code factory which contains the representations of the
new split methods.
hcf
CachingCodeFactory hcf
- This is the code factory which contains the representations of the
new split methods.
ch
ClassHierarchy ch
- This is a class hierarchy, needed to properly split virtual methods.
(Virtual methods have to be also split in all subclasses, in order
for dynamic dispatch to work correctly.)
fm
FinalMap fm
- This is the FinalMap used in the implementation of isVirtual().
split2orig
Map split2orig
- Maps split methods to pairs.
versions
Map versions
- Maps pairs to created split methods.
readResolve
protected abstract Object readResolve()
- This method must be overridden to ensure that
Token
s
are still singletons after deserialization. See the template
in the class description above.
suffix
String suffix
Package harpoon.Analysis.Tree |
Package harpoon.Analysis.TypeInference |
Package harpoon.Backend.Generic |
Package harpoon.Backend.Maps |
ch
ClassHierarchy ch
Package harpoon.Backend.StrongARM |
low
Temp low
high
Temp high
Package harpoon.ClassFile |
writeObject
private void writeObject(ObjectOutputStream out)
throws IOException
- Serializable interface.
parent
HCodeFactory parent
- Parent code factory. Creates the representations this
CachingCodeFactory
caches.
-
h
Map h
- Representation cache.
flushBeforeSave
boolean flushBeforeSave
- Flush the representation cache before being saving to disk?
readObject
private void readObject(ObjectInputStream in)
throws IOException,
ClassNotFoundException
writeObject
private void writeObject(ObjectOutputStream out)
throws IOException
linker
Linker linker
Package harpoon.IR.LowQuad |
m_derivation
Derivation m_derivation
arrayType
HClass arrayType
- The array type.
index
Temp index
- The index into the array.
ptr
Temp ptr
- The method pointer to dereference.
params
Temp[] params
- Parameters to pass to the method.
retval
Temp retval
- Destination for the method's return value;
null
for void
methods.
retex
Temp retex
- Destination for any exception thrown by the method.
May not be
null
.
isVirtual
boolean isVirtual
- Whether this is a virtual or non-virtual method invocation.
isTailCall
boolean isTailCall
- Whether this should be treated as a tail call.
dst
Temp dst
- The
Temp
in which to store the offset or constant.
field
HField field
- The
HField
to address.
field
HField field
- The
HField
to address.
dst
Temp dst
Temp
in which to store the fetched field or array
element.
ptr
Temp ptr
Temp
holding the POINTER
value to
dereference and fetch.
type
HClass type
- The type of the object we are fetching. This may be
a sub-integer type, and thus disagree with the type of
dst
. For non-primitive types, this may be
simply Object
; use a typemap and the dst
field if you need accurate non-primitive types.
method
HMethod method
- The
HMethod
to address.
method
HMethod method
- The
HMethod
to address.
dst
Temp dst
- The
Temp
in which to store the computed
POINTER
value.
objectref
Temp objectref
- The
Temp
holding the object reference to
convert.
ptr
Temp ptr
Temp
holding the POINTER
value to
dereference and store to.
src
Temp src
Temp
containing the desired new value of the
field or element.
type
HClass type
- The type of the object we are storing. This may be
a sub-integer type, and thus disagree with the type of
src
. For non-primitive types, this may be
simply Object
; use a typemap and the src
field if you need accurate non-primitive types.
dst
Temp dst
- The
Temp
in which to store the fetched element.
objectref
Temp objectref
- The array reference.
index
Temp index
- The
Temp
holding the index of the element to get.
type
HClass type
- The component type of the referenced array.
dst
Temp dst
- The
Temp
in which to store the array length.
objectref
Temp objectref
- The array reference to query.
dst
Temp dst
- The
Temp
in which to store the new array reference.
hclass
HClass hclass
- Description of array class to create.
dims
Temp[] dims
- Lengths of each dimension to create.
objectref
Temp objectref
- The array reference to initialize.
type
HClass type
- The component type.
offset
int offset
- The starting index for the initializers.
value
Object[] value
- The array initializers. Elements must be instances of the type
wrapper.
objectref
Temp objectref
- The array reference
index
Temp index
- The
Temp
holding the index of the element to get.
src
Temp src
- The new value for the array element.
type
HClass type
- The component type of the referenced array.
method
HMethod method
- The method to invoke.
params
Temp[] params
- Parameters to pass to the method.
The object on which to invoke the method is the first element in
the parameter list of a virtual method.
retval
Temp retval
- Destination for the method's return value;
null
for void
methods.
retex
Temp retex
- Destination for any exception thrown by the method.
If
null
exceptions are thrown, not caught.
isVirtual
boolean isVirtual
- Special flag for non-virtual methods.
(INVOKESPECIAL has different invoke semantics)
isTailCall
boolean isTailCall
- Special flag for tail calls.
test
Temp test
parent
HMethod parent
- The method that this code view represents.
quads
Quad quads
- The quadruples composing this code view.
qf
QuadFactory qf
- Quad factory.
ai
AllocationInformation ai
AllocationInformation
for this HCode
.
dst
Temp dst
- The
Temp
in which to store the result of the test.
arrayref
Temp arrayref
- The array object to test.
objectref
Temp objectref
- The component object to test.
dst
Temp dst
- The destination
Temp
.
value
Object value
- An object representing the constant value.
type
HClass type
- The type of the constant value.
str
String str
- The debugging string.
from
Quad from
to
Quad to
from_index
int from_index
to_index
int to_index
dst
Temp dst
Temp
in which to store the fetched field contents.
field
HField field
- The field description.
objectref
Temp objectref
- Reference to the object containing the field.
null
if field is static.
exceptionTemp
Temp exceptionTemp
- The
Temp
holding the caught exception on invocation of
this HANDLER
.
caughtException
HClass caughtException
- The exception caught by this
HANDLER
,
or null
for any exception.
protectedSet
HANDLER.ProtectedSet protectedSet
- The set of
Quad
s protected by this HANDLER
.
dst
Temp dst
- The
Temp
in which to store the result of the test.
src
Temp src
- The
Temp
to evaluate.
hclass
HClass hclass
- The class in which
src
is tested for membership.
label
String label
- the (optional) name of this label.
null
if the label has no name.
params
Temp[] params
- the temporary variables used for method formals.
lock
Temp lock
- The object containing the monitor to be locked.
lock
Temp lock
- The object containing the monitor to be released.
dst
Temp dst
- The destination
Temp
.
src
Temp src
- The source
Temp
.
dst
Temp dst
- The
Temp
in which to store the new object.
hclass
HClass hclass
- Description of the class to create.
dst
Temp dst
- The
Temp
in which to store the result of the operation.
opcode
int opcode
- The operation to be performed, from the
Qop
class.
operands
Temp[] operands
- Operands of the operation, in left-to-right order.
dst
Temp[] dst
- dst[i] is the left-hand side of the i'th phi function in this block.
src
Temp[][] src
- src[i][j] is the j'th parameter to the i'th phi function in this
block.
qf
QuadFactory qf
source_file
String source_file
source_line
int source_line
id
int id
hashCode
int hashCode
next
Edge[] next
prev
Edge[] prev
typeMap
TypeMap typeMap
- Type information for this code view.
Only non-null if you pass a non-null
TypeMap
to the
constructor (or use the codeFactoryWithTypes
to
generate your QuadNoSSA
s).
typemap
TypeMap typemap
retval
Temp retval
- Return value.
null
if there is no return value.
field
HField field
- The field description.
objectref
Temp objectref
- Reference to the object containing the field.
null
if the field is static.
src
Temp src
Temp
containing the desired new value of the field.
dst
Temp[][] dst
- dst[i][j] is the j'th element of the tuple on the left-hand side
of the i'th sigma function in this block.
src
Temp[] src
- src[i] is the argument to the i'th sigma function in this block.
index
Temp index
- The discriminant, compared against each value in
keys
.
keys
int[] keys
- Integer keys for switch cases.
next(n)
is the jump target corresponding to
keys[n]
for 0 <= n < keys.length
.
next(keys.length)
is the default target.
def
HCodeElement def
nextUse
TempChain nextUse
throwable
Temp throwable
objectref
Temp objectref
- The
Temp
to type cast.
hclass
HClass hclass
- The class to cast to.
index
Temp index
- The discriminant, of
Object
type, whose class is
compared against each class type in keys[]
.
keys
HClass[] keys
- Class type keys for typeswitch cases.
next(n)
is the jump target corresponding to
keys[n]
for 0 <= n < keys.length
.
next(keys.length)
is the default target.
hasDefault
boolean hasDefault
- True if this
TYPESWITCH
has a default case.
Package harpoon.IR.RawClass |
Package harpoon.Interpret.Tree |
ptr
Pointer ptr
- The
Pointer
whose type is changed.
ss
StaticState ss
value
Object value
Package harpoon.Runtime.Transactions |
abortUpTo
CommitRecord abortUpTo
tf
TempFactory tf
name
String name
hashcode
int hashcode
id
int id
bits
int[] bits
line
int line
- readResource will set this to the right value.
objcmp
Comparator objcmp
elements
Object[] elements
Package harpoon.Util.BasicBlocks |
hcf
HCodeFactory hcf
quad_with_try
boolean quad_with_try
cache
Map cache
cache
Map cache
bbconv
BBConverter bbconv
- The
BBConverter
used to generate the BasicBlock views
of the methods
Package harpoon.Util.Collections |
m
Map m
s
Set s
list
List list
lf
ListFactory lf
Package harpoon.Util.Constraints |
Package harpoon.Util.DataStructs |
hashCode
int hashCode
map
Map map
size
int size
root
harpoon.Util.DataStructs.LightMap.BinTreeNode root
hash_code
int hash_code
hash
Hashtable hash
- The top-level
Hashtable
.
Package harpoon.Util.Graphs |
id
int id
nodes
Set nodes
nodes_array
Object[] nodes_array
next
SCComponent[] next
prev
SCComponent[] prev
loop
boolean loop
nextTopSort
SCComponent nextTopSort
prevTopSort
SCComponent prevTopSort
first
SCComponent first
last
SCComponent last
Package harpoon.Util.LightBasicBlocks |
cache
Map cache
cache
Map cache
bbconv
BBConverter bbconv
user_info
Object user_info
- Deprecated.
- The user can place its annotations here.
id
int id
- Personal numeric ID
str
String str
next
LightBasicBlock[] next
- The successor basic blocks.
prev
LightBasicBlock[] prev
- The predecessor basic blocks.
elements
HCodeElement[] elements
- The instructions in
this
basic block.
handlerStartIndex
int handlerStartIndex
- The index in the next array where the exception handlers start.
protectedStartIndex
int protectedStartIndex
- The index in the prev array where the protected lbbs start.
count
int count
hcode
HCode hcode
lbbs
LightBasicBlock[] lbbs
root_lbb
LightBasicBlock root_lbb
hce2lbb
Map hce2lbb
lbbconv
LBBConverter lbbconv
- The
LBBConverter
used to generate the
LightBasicBlock views of the methods
Package harpoon.Util.TypeInference |
cache
Map cache
q
Quad q
t
Temp t
hash
int hash
types
Relation types
rdef
ReachingDefs rdef
W
PAWorkList W
dependencies
Relation dependencies