Serialized Form


Package harpoon.Analysis

Class harpoon.Analysis.AllocationInformationMap implements Serializable

Serialized Fields

map

Map map

Class harpoon.Analysis.AllocationInformationMap.AllocationPropertiesImpl implements Serializable

Serialized Fields

hasInteriorPointers

boolean hasInteriorPointers

canBeStackAllocated

boolean canBeStackAllocated

canBeThreadAllocated

boolean canBeThreadAllocated

makeHeap

boolean makeHeap

noSynchronization

boolean noSynchronization

allocationHeap

Temp allocationHeap

actualClass

HClass actualClass

Class harpoon.Analysis.BasicBlock implements Serializable

Serialized Fields

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

Class harpoon.Analysis.BasicBlock.Factory implements Serializable

Serialized Fields

hcode

HCode hcode

hceToBB

Map hceToBB

grapher

CFGrapher grapher

root

BasicBlock root

leaves

Set leaves

blocks

Set blocks

BBnum

int BBnum

Class harpoon.Analysis.DefaultAllocationInformation implements Serializable

Serialization Methods

readResolve

private Object readResolve()
                    throws ObjectStreamException


Package harpoon.Analysis.Counters

Class harpoon.Analysis.Counters.RuntimeMethodCloner implements Serializable

Serialized Fields

old2new

Map old2new

badboys

Set badboys

linker

Linker linker

needsNullCheck

Set needsNullCheck


Package harpoon.Analysis.EnvBuilder

Class harpoon.Analysis.EnvBuilder.EnvCode implements Serializable


Package harpoon.Analysis.EventDriven

Class harpoon.Analysis.EventDriven.ContCode implements Serializable

Class harpoon.Analysis.EventDriven.ContCodeNoSSA implements Serializable

Class harpoon.Analysis.EventDriven.ContCodeSSI implements Serializable

Class harpoon.Analysis.EventDriven.EventDrivenCode implements Serializable


Package harpoon.Analysis.GraphColoring

Class harpoon.Analysis.GraphColoring.ColorableGraph.AlreadyColoredException implements Serializable

Serialized Fields

node

Object node
The node that was targetted for coloring.

Class harpoon.Analysis.GraphColoring.ColorableGraph.AlreadyHiddenException implements Serializable

Class harpoon.Analysis.GraphColoring.ColorableGraph.IllegalColor implements Serializable

Serialized Fields

color

Color color
Color intended for assignment.


node

Object node
Node intended to be assigned to color.

Class harpoon.Analysis.GraphColoring.EdgeNotPresentException implements Serializable

Class harpoon.Analysis.GraphColoring.IllegalEdgeException implements Serializable

Class harpoon.Analysis.GraphColoring.NodeAlreadyColoredException implements Serializable

Class harpoon.Analysis.GraphColoring.NodeNotColoredException implements Serializable

Class harpoon.Analysis.GraphColoring.NodeNotPresentInGraphException implements Serializable

Class harpoon.Analysis.GraphColoring.NodeNotRemovedException implements Serializable

Class harpoon.Analysis.GraphColoring.NoFactorySetException implements Serializable

Class harpoon.Analysis.GraphColoring.ObjectNotModifiableException implements Serializable

Class harpoon.Analysis.GraphColoring.UnableToColorGraph implements Serializable

Serialized Fields

rmvSuggsLarge

Collection rmvSuggsLarge

rmvSuggs

Collection rmvSuggs

Class harpoon.Analysis.GraphColoring.WrongNodeTypeException implements Serializable


Package harpoon.Analysis.Instr

Class harpoon.Analysis.Instr.LocalCffRegAlloc.PreassignTemp implements Serializable

Serialized Fields

reg

Temp reg


Package harpoon.Analysis.LowQuad.Loop

Class harpoon.Analysis.LowQuad.Loop.MyLowQuadNoSSA implements Serializable

Serialized Fields

dT

HashMap dT

tT

HashMap tT

parentDerivation

Derivation parentDerivation

quadmap

Map quadmap

tempMap

TempMap tempMap

Class harpoon.Analysis.LowQuad.Loop.MyLowQuadSSI implements Serializable

Serialized Fields

dT

HashMap dT

tT

HashMap tT

parentDerivation

Derivation parentDerivation

quadmap

Map quadmap

tempMap

TempMap tempMap

quadmapchanges

Map quadmapchanges


Package harpoon.Analysis.Maps

Class harpoon.Analysis.Maps.ExactTypeMap.ExactType implements Serializable

Serialized Fields

type

HClass type

isExact

boolean isExact

Class harpoon.Analysis.Maps.TypeMap.TypeNotKnownException implements Serializable


Package harpoon.Analysis.MetaMethods

Class harpoon.Analysis.MetaMethods.FakeMetaCallGraph implements Serializable

Class harpoon.Analysis.MetaMethods.GenType implements Serializable

Serialized Fields

hclass

HClass hclass

kind

int kind

Class harpoon.Analysis.MetaMethods.MetaAllCallers implements Serializable

Serialized Fields

callers_cmpct

Map callers_cmpct

empty_array

MetaMethod[] empty_array

Class harpoon.Analysis.MetaMethods.MetaCallGraphAbstr implements Serializable

Serialized Fields

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

Class harpoon.Analysis.MetaMethods.MetaCallGraphImpl implements Serializable

Serialized Fields

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

Class harpoon.Analysis.MetaMethods.MetaMethod implements Serializable

Serialized Fields

hm

HMethod hm

types

GenType[] types


Package harpoon.Analysis.PointerAnalysis

Class harpoon.Analysis.PointerAnalysis.ActionRepository implements Serializable

Serialized Fields

alpha_ld

HashSet alpha_ld

pi_ld

Relation pi_ld

alpha_sync

Relation alpha_sync

pi_sync

Hashtable pi_sync

Class harpoon.Analysis.PointerAnalysis.AllocationNumbering implements Serializable

Serialized Fields

hcf

CachingCodeFactory hcf

alloc2int

Map alloc2int

call2int

Map call2int

n

int n

c

int c

Class harpoon.Analysis.PointerAnalysis.ArtificialTempFactory implements Serializable

Class harpoon.Analysis.PointerAnalysis.Debug implements Serializable

Class harpoon.Analysis.PointerAnalysis.EdgeOrdering implements Serializable

Serialized Fields

after

Relation after

Class harpoon.Analysis.PointerAnalysis.EdgesNCallees implements Serializable

Serialized Fields

edges

Map edges

strict

boolean strict

Class harpoon.Analysis.PointerAnalysis.InstrumentAllocs implements Serializable

Serialized Fields

count

int count

main

HMethod main

linker

Linker linker

parenthcf

HCodeFactory parenthcf

an

AllocationNumbering an

syncs

boolean syncs

callchains

boolean callchains

Class harpoon.Analysis.PointerAnalysis.InstrumentSyncOps implements Serializable

Serialized Fields

pa

PointerAnalysis pa

newmap

InstrumentSyncOps.QuadMap newmap

monitorentermap

InstrumentSyncOps.QuadMap monitorentermap

monitorexitmap

InstrumentSyncOps.QuadMap monitorexitmap

locks

HashMap[] locks

ocs

HashMap[] ocs

Class harpoon.Analysis.PointerAnalysis.InterProcPA implements Serializable

Class harpoon.Analysis.PointerAnalysis.InterThreadPA implements Serializable

Class harpoon.Analysis.PointerAnalysis.LightPAEdgeSet implements Serializable

Serialized Fields

var_edges

Relation var_edges

node_edges

Map node_edges

Class harpoon.Analysis.PointerAnalysis.ListCell implements Serializable

Serialized Fields

info

Object info

next

ListCell next

Class harpoon.Analysis.PointerAnalysis.MAInfo implements Serializable

Serialized Fields

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

Class harpoon.Analysis.PointerAnalysis.MAInfo.MAInfoOptions implements Serializable

Serialized Fields

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.

Class harpoon.Analysis.PointerAnalysis.MethodHole implements Serializable

Serialized Fields

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

Class harpoon.Analysis.PointerAnalysis.MyAP implements Serializable

Serialized Fields

hip

boolean hip

sa

boolean sa

ta

boolean ta

uoh

boolean uoh

mh

boolean mh

ns

boolean ns

ah

Temp ah

actualClass

HClass actualClass

Class harpoon.Analysis.PointerAnalysis.NodeRepository implements Serializable

Serialized Fields

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

Class harpoon.Analysis.PointerAnalysis.ODMAInfo implements Serializable

Serialized Fields

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

Class harpoon.Analysis.PointerAnalysis.PAEdge implements Serializable

Serialized Fields

n1

PANode n1

f

String f

n2

PANode n2

Class harpoon.Analysis.PointerAnalysis.PAEscapeFunc implements Serializable

Serialized Fields

rel_n

Relation rel_n

rel_m

Relation rel_m

Class harpoon.Analysis.PointerAnalysis.PANode implements Serializable

Serialized Fields

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.

Class harpoon.Analysis.PointerAnalysis.ParIntGraph implements Serializable

Serialized Fields

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.

Class harpoon.Analysis.PointerAnalysis.PASync implements Serializable

Serialized Fields

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.

Class harpoon.Analysis.PointerAnalysis.PAThreadMap implements Serializable

Serialized Fields

hash

Hashtable hash

Class harpoon.Analysis.PointerAnalysis.PAWorkList implements Serializable

Serialized Fields

list

LinkedList list

set

HashSet set

Class harpoon.Analysis.PointerAnalysis.PAWorkSet implements Serializable

Class harpoon.Analysis.PointerAnalysis.PAWorkStack implements Serializable

Serialized Fields

list

LinkedList list

set

HashSet set

Class harpoon.Analysis.PointerAnalysis.PointerAnalysis implements Serializable

Serialized Fields

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

Class harpoon.Analysis.PointerAnalysis.PointsToGraph implements Serializable

Serialized Fields

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

Class harpoon.Analysis.PointerAnalysis.SyncElimination implements Serializable

Serialized Fields

pa

PointerAnalysis pa

necessarySyncs

Set necessarySyncs

necessaryQuads

Set necessaryQuads

callpath2syncops

Relation callpath2syncops

method2speccall

Relation method2speccall


Package harpoon.Analysis.PreciseGC

Class harpoon.Analysis.PreciseGC.AllocationHoisting implements Serializable

Serialized Fields

parent

HCodeFactory parent

ch

ClassHierarchy ch

linker

Linker linker

iMap

Map iMap

iMap2

Map iMap2

mraf

MRAFactory mraf

Class harpoon.Analysis.PreciseGC.RCTransformer implements Serializable

Serialized Fields

recursiveConstructors

Set recursiveConstructors

Class harpoon.Analysis.PreciseGC.WriteBarrierPrePass implements Serializable

Serialized Fields

dummyHM

HMethod dummyHM

JLT

HClass JLT

Class harpoon.Analysis.PreciseGC.WriteBarrierQuadPass implements Serializable

Serialized Fields

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

Class harpoon.Analysis.Quads.ArrayInitRemover implements Serializable

Class harpoon.Analysis.Quads.ArrayUnroller implements Serializable

Class harpoon.Analysis.Quads.CoalescingToNoSSA implements Serializable

Class harpoon.Analysis.Quads.ComponentOfReducer implements Serializable

Serialized Fields

etm

ExactTypeMap etm

Class harpoon.Analysis.Quads.DispatchTreeTransformation implements Serializable

Serialized Fields

ch

ClassHierarchy ch

Class harpoon.Analysis.Quads.InitializerTransform implements Serializable

Serialized Fields

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.

Class harpoon.Analysis.Quads.MemoryOptimization implements Serializable

Serialized Fields

cg

CallGraph cg

fso

FieldSyncOracle fso

Class harpoon.Analysis.Quads.MethodTraceFactory implements Serializable

Class harpoon.Analysis.Quads.NewMover implements Serializable

Class harpoon.Analysis.Quads.Nonvirtualize implements Serializable

Serialized Fields

fm

FinalMap fm
The FinalMap we will consult for our devirtualization.


callable

Set callable
An optional set of callable methods to limit our devirtualization.

Class harpoon.Analysis.Quads.QuadClassHierarchy implements Serializable

Serialized Fields

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

Class harpoon.Analysis.Quads.QuadCounter implements Serializable

Serialized Fields

numQuads

long numQuads

parent

HCodeFactory parent

Class harpoon.Analysis.Quads.TypeSwitchRemover implements Serializable


Package harpoon.Analysis.Realtime

Class harpoon.Analysis.Realtime.ClassReplacer implements Serializable

Serialized Fields

methodMap

HashMap methodMap

fromClass

HClass fromClass

toClass

HClass toClass

ignorePackages

Set ignorePackages

ignoreClasses

Set ignoreClasses

codeName

String codeName

Class harpoon.Analysis.Realtime.QuantaChecker implements Serializable


Package harpoon.Analysis.RoleInference

Class harpoon.Analysis.RoleInference.RoleInference implements Serializable

Serialized Fields

linker

Linker linker


Package harpoon.Analysis.SizeOpt

Class harpoon.Analysis.SizeOpt.FieldReducer implements Serializable

Serialized Fields

bwa

BitWidthAnalysis bwa

linker

Linker linker

hcf

HCodeFactory hcf

Class harpoon.Analysis.SizeOpt.MostlyZeroFinder implements Serializable

Serialized Fields

bfn

BitFieldNumbering bfn

pointersAreLong

boolean pointersAreLong

suffix

String suffix
See Also:
Constant Field Values

dio

DefiniteInitOracle dio

Class harpoon.Analysis.SizeOpt.SizeCounters implements Serializable

Serialized Fields

frame

Frame frame

tb

Runtime.TreeBuilder tb

bwa

BitWidthAnalysis bwa


Package harpoon.Analysis.Transactions

Class harpoon.Analysis.Transactions.ArrayCopyImplementer implements Serializable

Serialized Fields

HMsysac

HMethod HMsysac
Parent code factory.


HMimpac

HMethod HMimpac
Parent code factory.

Class harpoon.Analysis.Transactions.CloneImplementer implements Serializable

Serialized Fields

parent

HCodeFactory parent
Parent code factory.


cache

Map cache
Representation cache.

Class harpoon.Analysis.Transactions.SyncTransformer implements Serializable

Serialized Fields

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

Class harpoon.Analysis.Transformation.MethodMutator implements Serializable

Serialized Fields

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.

Class harpoon.Analysis.Transformation.MethodSplitter implements Serializable

Serialized Fields

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.

Class harpoon.Analysis.Transformation.MethodSplitter.Token implements Serializable

Serialization Methods

readResolve

protected abstract Object readResolve()
This method must be overridden to ensure that Tokens are still singletons after deserialization. See the template in the class description above.

Serialized Fields

suffix

String suffix


Package harpoon.Analysis.Tree

Class harpoon.Analysis.Tree.ConstantPropagation implements Serializable


Package harpoon.Analysis.TypeInference

Class harpoon.Analysis.TypeInference.SetHClass implements Serializable


Package harpoon.Backend.Generic

Class harpoon.Backend.Generic.RegFileInfo.SpillException implements Serializable


Package harpoon.Backend.Maps

Class harpoon.Backend.Maps.CHFinalMap implements Serializable

Serialized Fields

ch

ClassHierarchy ch

Class harpoon.Backend.Maps.DefaultFinalMap implements Serializable


Package harpoon.Backend.StrongARM

Class harpoon.Backend.StrongARM.TwoWordTemp implements Serializable

Serialized Fields

low

Temp low

high

Temp high


Package harpoon.ClassFile

Class harpoon.ClassFile.CachingCodeFactory implements Serializable

Serialization Methods

writeObject

private void writeObject(ObjectOutputStream out)
                  throws IOException
Serializable interface.

Serialized Fields

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?

Class harpoon.ClassFile.DuplicateClassException implements Serializable

Class harpoon.ClassFile.DuplicateMemberException implements Serializable

Class harpoon.ClassFile.NoSuchClassException implements Serializable

Class harpoon.ClassFile.NoSuchMemberException implements Serializable

Class harpoon.ClassFile.Relinker implements Serializable

Serialization Methods

readObject

private void readObject(ObjectInputStream in)
                 throws IOException,
                        ClassNotFoundException

writeObject

private void writeObject(ObjectOutputStream out)
                  throws IOException
Serialized Fields

linker

Linker linker


Package harpoon.IR.LowQuad

Class harpoon.IR.LowQuad.Code implements Serializable

Serialized Fields

m_derivation

Derivation m_derivation

Class harpoon.IR.LowQuad.LowQuad implements Serializable

Class harpoon.IR.LowQuad.LowQuadNoSSA implements Serializable

Class harpoon.IR.LowQuad.LowQuadSSA implements Serializable

Class harpoon.IR.LowQuad.LowQuadSSI implements Serializable

Class harpoon.IR.LowQuad.PAOFFSET implements Serializable

Serialized Fields

arrayType

HClass arrayType
The array type.


index

Temp index
The index into the array.

Class harpoon.IR.LowQuad.PARRAY implements Serializable

Class harpoon.IR.LowQuad.PCALL implements Serializable

Serialized Fields

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.

Class harpoon.IR.LowQuad.PCONST implements Serializable

Serialized Fields

dst

Temp dst
The Temp in which to store the offset or constant.

Class harpoon.IR.LowQuad.PFCONST implements Serializable

Serialized Fields

field

HField field
The HField to address.

Class harpoon.IR.LowQuad.PFIELD implements Serializable

Class harpoon.IR.LowQuad.PFOFFSET implements Serializable

Serialized Fields

field

HField field
The HField to address.

Class harpoon.IR.LowQuad.PGET implements Serializable

Serialized Fields

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.

Class harpoon.IR.LowQuad.PMCONST implements Serializable

Serialized Fields

method

HMethod method
The HMethod to address.

Class harpoon.IR.LowQuad.PMETHOD implements Serializable

Class harpoon.IR.LowQuad.PMOFFSET implements Serializable

Serialized Fields

method

HMethod method
The HMethod to address.

Class harpoon.IR.LowQuad.POPER implements Serializable

Class harpoon.IR.LowQuad.PPTR implements Serializable

Serialized Fields

dst

Temp dst
The Temp in which to store the computed POINTER value.


objectref

Temp objectref
The Temp holding the object reference to convert.

Class harpoon.IR.LowQuad.PSET implements Serializable

Serialized Fields

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.


Package harpoon.IR.Quads

Class harpoon.IR.Quads.AGET implements Serializable

Serialized Fields

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.

Class harpoon.IR.Quads.ALENGTH implements Serializable

Serialized Fields

dst

Temp dst
The Temp in which to store the array length.


objectref

Temp objectref
The array reference to query.

Class harpoon.IR.Quads.ANEW implements Serializable

Serialized Fields

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.

Class harpoon.IR.Quads.ARRAYINIT implements Serializable

Serialized Fields

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.

Class harpoon.IR.Quads.ASET implements Serializable

Serialized Fields

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.

Class harpoon.IR.Quads.CALL implements Serializable

Serialized Fields

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.

Class harpoon.IR.Quads.CJMP implements Serializable

Serialized Fields

test

Temp test

Class harpoon.IR.Quads.Code implements Serializable

Serialized Fields

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.

Class harpoon.IR.Quads.COMPONENTOF implements Serializable

Serialized Fields

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.

Class harpoon.IR.Quads.CONST implements Serializable

Serialized Fields

dst

Temp dst
The destination Temp.


value

Object value
An object representing the constant value.


type

HClass type
The type of the constant value.

Class harpoon.IR.Quads.DEBUG implements Serializable

Serialized Fields

str

String str
The debugging string.

Class harpoon.IR.Quads.Edge implements Serializable

Serialized Fields

from

Quad from

to

Quad to

from_index

int from_index

to_index

int to_index

Class harpoon.IR.Quads.FOOTER implements Serializable

Class harpoon.IR.Quads.GET implements Serializable

Serialized Fields

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.

Class harpoon.IR.Quads.HANDLER implements Serializable

Serialized Fields

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 Quads protected by this HANDLER.

Class harpoon.IR.Quads.HEADER implements Serializable

Class harpoon.IR.Quads.INSTANCEOF implements Serializable

Serialized Fields

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.

Class harpoon.IR.Quads.LABEL implements Serializable

Serialized Fields

label

String label
the (optional) name of this label.

null if the label has no name.

Class harpoon.IR.Quads.METHOD implements Serializable

Serialized Fields

params

Temp[] params
the temporary variables used for method formals.

Class harpoon.IR.Quads.MONITORENTER implements Serializable

Serialized Fields

lock

Temp lock
The object containing the monitor to be locked.

Class harpoon.IR.Quads.MONITOREXIT implements Serializable

Serialized Fields

lock

Temp lock
The object containing the monitor to be released.

Class harpoon.IR.Quads.MOVE implements Serializable

Serialized Fields

dst

Temp dst
The destination Temp.


src

Temp src
The source Temp.

Class harpoon.IR.Quads.NEW implements Serializable

Serialized Fields

dst

Temp dst
The Temp in which to store the new object.


hclass

HClass hclass
Description of the class to create.

Class harpoon.IR.Quads.NOP implements Serializable

Class harpoon.IR.Quads.OPER implements Serializable

Serialized Fields

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.

Class harpoon.IR.Quads.PHI implements Serializable

Serialized Fields

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.

Class harpoon.IR.Quads.Quad implements Serializable

Serialized Fields

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

Class harpoon.IR.Quads.QuadNoSSA implements Serializable

Serialized Fields

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 QuadNoSSAs).

Class harpoon.IR.Quads.QuadRSSx implements Serializable

Class harpoon.IR.Quads.QuadSSA implements Serializable

Class harpoon.IR.Quads.QuadSSI implements Serializable

Class harpoon.IR.Quads.QuadWithTry implements Serializable

Serialized Fields

typemap

TypeMap typemap

Class harpoon.IR.Quads.RETURN implements Serializable

Serialized Fields

retval

Temp retval
Return value. null if there is no return value.

Class harpoon.IR.Quads.SET implements Serializable

Serialized Fields

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.

Class harpoon.IR.Quads.SIGMA implements Serializable

Serialized Fields

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.

Class harpoon.IR.Quads.SWITCH implements Serializable

Serialized Fields

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.

Class harpoon.IR.Quads.TempChain implements Serializable

Serialized Fields

def

HCodeElement def

nextUse

TempChain nextUse

Class harpoon.IR.Quads.THROW implements Serializable

Serialized Fields

throwable

Temp throwable

Class harpoon.IR.Quads.TYPECAST implements Serializable

Serialized Fields

objectref

Temp objectref
The Temp to type cast.


hclass

HClass hclass
The class to cast to.

Class harpoon.IR.Quads.TYPESWITCH implements Serializable

Serialized Fields

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

Class harpoon.IR.RawClass.ClassDataException implements Serializable


Package harpoon.Interpret.Tree

Class harpoon.Interpret.Tree.InterfaceListPointer implements Serializable

Class harpoon.Interpret.Tree.PointerTypeChangedException implements Serializable

Serialized Fields

ptr

Pointer ptr
The Pointer whose type is changed.

Class harpoon.Interpret.Tree.StringPointer implements Serializable

Serialized Fields

ss

StaticState ss

value

Object value

Class harpoon.Interpret.Tree.UndefinedPointer implements Serializable


Package harpoon.Runtime.Transactions

Class harpoon.Runtime.Transactions.TransactionAbortException implements Serializable

Serialized Fields

abortUpTo

CommitRecord abortUpTo


Package harpoon.Temp

Class harpoon.Temp.Temp implements Serializable

Serialized Fields

tf

TempFactory tf

name

String name

hashcode

int hashcode

id

int id


Package harpoon.Util

Class harpoon.Util.BitString implements Serializable

Serialized Fields

bits

int[] bits

Class harpoon.Util.ParseUtil.BadLineException implements Serializable

Serialized Fields

line

int line
readResource will set this to the right value.

Class harpoon.Util.Tuple implements Serializable

Serialized Fields

objcmp

Comparator objcmp

elements

Object[] elements


Package harpoon.Util.BasicBlocks

Class harpoon.Util.BasicBlocks.BBConverter implements Serializable

Serialized Fields

hcf

HCodeFactory hcf

quad_with_try

boolean quad_with_try

Class harpoon.Util.BasicBlocks.CachingBBConverter implements Serializable

Serialized Fields

cache

Map cache

Class harpoon.Util.BasicBlocks.CachingSCCBBFactory implements Serializable

Serialized Fields

cache

Map cache

Class harpoon.Util.BasicBlocks.SCCBBFactory implements Serializable

Serialized Fields

bbconv

BBConverter bbconv
The BBConverter used to generate the BasicBlock views of the methods


Package harpoon.Util.Collections

Class harpoon.Util.Collections.AggregateMapFactory implements Serializable

Serialized Fields

m

Map m

Class harpoon.Util.Collections.AggregateSetFactory implements Serializable

Serialized Fields

s

Set s

Class harpoon.Util.Collections.LinearSet implements Serializable

Serialized Fields

list

List list

lf

ListFactory lf


Package harpoon.Util.Constraints

Class harpoon.Util.Constraints.Unfeasible implements Serializable


Package harpoon.Util.DataStructs

Class harpoon.Util.DataStructs.AbstrRelation implements Serializable

Serialized Fields

hashCode

int hashCode

Class harpoon.Util.DataStructs.AbstrRelationMapBased implements Serializable

Serialized Fields

map

Map map

Class harpoon.Util.DataStructs.LightMap implements Serializable

Serialized Fields

size

int size

root

harpoon.Util.DataStructs.LightMap.BinTreeNode root

hash_code

int hash_code

Class harpoon.Util.DataStructs.LightRelation implements Serializable

Class harpoon.Util.DataStructs.RelationImpl implements Serializable

Serialized Fields

hash

Hashtable hash
The top-level Hashtable.


Package harpoon.Util.Graphs

Class harpoon.Util.Graphs.SCComponent implements Serializable

Serialized Fields

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

Class harpoon.Util.Graphs.SCCTopSortedGraph implements Serializable

Serialized Fields

first

SCComponent first

last

SCComponent last


Package harpoon.Util.LightBasicBlocks

Class harpoon.Util.LightBasicBlocks.CachingLBBConverter implements Serializable

Serialized Fields

cache

Map cache

Class harpoon.Util.LightBasicBlocks.CachingSCCLBBFactory implements Serializable

Serialized Fields

cache

Map cache

Class harpoon.Util.LightBasicBlocks.LBBConverter implements Serializable

Serialized Fields

bbconv

BBConverter bbconv

Class harpoon.Util.LightBasicBlocks.LightBasicBlock implements Serializable

Serialized Fields

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.

Class harpoon.Util.LightBasicBlocks.LightBasicBlock.Factory implements Serializable

Serialized Fields

count

int count

hcode

HCode hcode

lbbs

LightBasicBlock[] lbbs

root_lbb

LightBasicBlock root_lbb

hce2lbb

Map hce2lbb

Class harpoon.Util.LightBasicBlocks.SCCLBBFactory implements Serializable

Serialized Fields

lbbconv

LBBConverter lbbconv
The LBBConverter used to generate the LightBasicBlock views of the methods


Package harpoon.Util.TypeInference

Class harpoon.Util.TypeInference.ArrayInfo implements Serializable

Class harpoon.Util.TypeInference.CachingArrayInfo implements Serializable

Serialized Fields

cache

Map cache

Class harpoon.Util.TypeInference.ExactTemp implements Serializable

Serialized Fields

q

Quad q

t

Temp t

hash

int hash

Class harpoon.Util.TypeInference.TypeInference implements Serializable

Serialized Fields

types

Relation types

rdef

ReachingDefs rdef

W

PAWorkList W

dependencies

Relation dependencies