Serialized Form
|
Package scale.alias.steensgaard |
type
AliasType type
- The (non-standard) inference type of the variable. The type of
an ECR is actually the type of the reprsentative element. If
this ECR is merged and is no longer the representative, then the
type field is invalid.
pending
HashSet pending
- A list of 'pending' joins for this ECR. We make conditional joins,
if the type for this variable is BOTTOM. Then, if the type for
this variable changes, we need to update the types of all the
ECRs on the pending list.
id
int id
- A unique identifier for the ECR.
color
int color
- the color of the ECR in the current visit
var
TypeVar var
- The (original) alias variable that this ECR represents.
support
Support support
- The type and level of support for this instance of annotation.
creator
Creator creator
- The creator for this instance of this annotation.
id
int id
- The node id.
name
java.lang.String name
- The name of the creator of the annotation.
user
int user
- The user belief.
system
int system
- The system belief.
rule
int rule
- The rule specifying how to combine user and system beliefs.
p
RoutineDecl p
- Decl of the routine.
callees
Vector callees
- all routines called by this routine.
callers
HashSet callers
- all routines calling this routine.
calleeCandidates
Vector calleeCandidates
- keep track of all function pointers in the body of this routine.
scribble
Scribble scribble
- Scribble graph generated for this call node.
callGraphs
HashMap callGraphs
- Map (file) names to call graphs.
rootRoutine
CallGraph rootRoutine
- The main procedure if one is found..
decls
HashMap decls
- Map from name to set of (Declaration, CallGraph) tuples.
root
Node root
- Root of Clef Tree.
symtab
Symtab symtab
- Symbol table.
sourceLang
SourceLanguage sourceLang
- source language.
isSubtree
boolean isSubtree
- Is this a subtree of a compiltation unit.
set1
int[] set1
- Vector of argument indecies that must be swapped together..
set2
int[] set2
- Vector of argument indecies that must be swapped together..
mangledName
java.lang.String mangledName
- The mangled name.
level
byte level
- Level of "pure function"..
sourceLine
int sourceLine
- The line number of the source line.
column
int column
- The column number in the source line.
fileName
java.lang.String fileName
- The file name for this source line.
decl
Declaration decl
- The variable associated with the temporary variable.
value
Expression value
- Should evaluate to a constant - may be null.
initializer
Vector initializer
- A Vector of initializers.
name
java.lang.String name
- Name of the declaration.
type
Type type
- Type of the declaration.
scope
SymtabScope scope
- The scope in which the declaration was declared.
parent
Node parent
- My parent in the Clef tree.
visibility
byte visibility
- Visibility of the declaration.
tag
int tag
- An integer value associated with the declaration that various algorithms may use.
map
scale.clef.decl.DeclTable.Entry[] map
- The array of lists indexed by the hash code.
number
int number
- The number of entries in the map..
base
VariableDecl base
- VariableDecl of the base variable that this variable is equivalenced to.
offset
long offset
- Offset of this variable in bytes into the base variable.
myStruct
AggregateType myStruct
- The aggregate structure (record or class) to which I belong.
accessibility
byte accessibility
- The accessibility of the field.
bits
byte bits
- The number of bits specified for the field - 0 means none specified.
decls
Vector decls
- A Vector of the declarations in this file.
passByMode
int passByMode
- The parameter passing mode.
initializedEntity
Declaration initializedEntity
- What is initialized.
argList
Vector argList
- A Vector of the initializer expressions.
parent
Declaration parent
- My parent in the Clef tree.
myClass
ClassType myClass
- The method's class.
accessibility
byte accessibility
- The accessibility of the class.
isAbstract
boolean isAbstract
- Is it abstract?
isVirtual
boolean isVirtual
- Is it virtual?
proc
RoutineDecl proc
- The routine referenced.
level
int level
- The nesting level.
parentRoutine
RoutineDecl parentRoutine
- If level > 0, the parent routine.
original
VariableDecl original
- The variable that this variable is based upon..
body
Statement body
- The body of the routine.
isSpecification
boolean isSpecification
- True if this routine does not have a body.
isRef
boolean isRef
- True if this routine has a body or is referenced in the Clef AST.
isMain
boolean isMain
- True if this is the program's main procedure.
usesVaStart
boolean usesVaStart
- True if this routine uses va_start.
ftnResultVar
VariableDecl ftnResultVar
- The declared result variable for a function (if any).
value
Expression value
- The value of the declaration.
alignment
int alignment
- Alignment required for this variable - 0 means none required.
residency
byte residency
- Where should this variable be assigned.
isRef
boolean isRef
- True if this variable is referenced in the Clef AST.
isTemp
boolean isTemp
- True if this variable is a temporary variable.
isFtnResultVar
boolean isFtnResultVar
- True if this variable is declared as the result variable for a function.
addressNeeded
boolean addressNeeded
- True if the address of this Declaration is used.
decl
Declaration decl
- The declaration associated with the AddressLiteral.
offset
int offset
- The offset from the begiining of the declaration.
expr
Expression expr
- The expression.
expr1
Expression expr1
- The structure expression.
expr2
Expression expr2
- The field expression.
value
Literal value
- The value of the element..
parent
Node parent
- Should be a literal.
elements
Vector elements
- A Vector of values.
alloctype
Type alloctype
- The object to allocate, not the expression type.
initializer
Expression initializer
- The initializer.
malloc
RoutineDecl malloc
- the allocation routine
alloctype
Type alloctype
- The object type, not the return type.
indices
Vector indices
- A Vector of indecies.
alloctype
Type alloctype
- The object to be allocated, not the result type.
expr
Expression expr
- The expression.
placement
Expression placement
- The placement expression.
alloctype
Type alloctype
- The object to allocate, not the result type.
argList
Vector argList
- A Vector of arguments.
expr
Expression expr
- The argument.
expr
Expression expr
- The argument.
expr1
Expression expr1
- The left argument.
expr2
Expression expr2
- The right argument.
isTerminated
boolean isTerminated
- The length function.
padding
Expression padding
- The padding.
lhs
Expression lhs
- the target.
rhs
Expression rhs
- the source.
expr2
Expression expr2
- The right argument.
expr2
Expression expr2
- The right argument.
mode
int mode
- The type of the shift.
expr2
Expression expr2
- The right argument.
mode
int mode
- The type of the shift.
expr
Expression expr
- The expression.
expr2
Expression expr2
- The right argument.
expr1
Expression expr1
- The left argument.
expr2
Expression expr2
- The right argument.
value
boolean value
- The value.
expr
Expression expr
- The expression.
object
Expression object
- The this object.
argList
Vector argList
- List of arguments to the function.
routine
Expression routine
- The expression specifying the function (e.g., an IdReferenceOp)..
value
char value
- The value.
str1
Expression str1
- The left argument.
str2
Expression str2
- The right argument.
position
int position
- Position of the element in the aggregation.
reps
int reps
- The number of times this element is repeated.
expr
Expression expr
- The expression.
expr
Expression expr
- The expression.
destructor
Expression destructor
- The destructor.
expr
Expression expr
- The expression.
expr2
Expression expr2
- The right argument.
parent
Node parent
- Either an expression, statement, or a declaration.
type
Type type
- The expression type (e.g., int, etc.).
expr1
Expression expr1
- The first expression.
expr2
Expression expr2
- The second expression.
expr3
Expression expr3
- The third expression.
value
double[] value
- The array of values.
vcount
int vcount
- The count of values.
value
double value
- The value.
decl
Declaration decl
- The declaration associated with the IdReferenceOp.
position
PositionOp position
- The position.
value
long[] value
- The array of values.
vcount
int vcount
- The number of values.
value
long value
- The value.
name
java.lang.String name
- name
expr
Expression expr
- The expression in parens.
bounds
Vector bounds
- bounds
expr
Expression expr
- The position.
expr1
Expression expr1
- The left argument.
expr2
Expression expr2
- The right argument.
expr1
Expression expr1
- The left argument.
expr2
Expression expr2
- The right argument.
value
Type value
- Either a type or a variable.
value
java.lang.String value
- The value of the string literal.
boundsChecking
boolean boundsChecking
- Bounds checking required?
expr
Expression expr
- The array.
indices
Vector indices
- A Vector of the index expressions.
ftn
int ftn
- ftn is the transcendental function.
ftn
int ftn
- ftn is the transcendental function.
expr2
Expression expr2
- The second value.
conversion
int conversion
- The name of the language defined conversion routine.
expr
Expression expr
- The expression that is converted.
vaList
IdReferenceOp vaList
- vaList
parmN
FormalDecl parmN
- The reference parameter of the calling function.
stmt
Statement stmt
- The statement.
keys
Vector keys
- A Vector of Keys.
parent
Node parent
- Parent node in the Clef tree.
expr
Expression expr
- The return expression.
lessLabel
LabelDecl lessLabel
- The label of the negative branch statement.
equalLabel
LabelDecl equalLabel
- The label of the zero branch statement.
moreLabel
LabelDecl moreLabel
- The label of the positive branch statement.
label
Declaration label
- The label.
value
Declaration value
- The value.
stmts
Vector stmts
- A Vector of the statements in the block.
scope
SymtabScope scope
- The symbol table scope for the block statement.
expr
Expression expr
- The selection expression.
alts
Vector alts
- A Vector of the cases.
vd
FormalDecl vd
- The FormalDecl.
decl
Declaration decl
- The declaration.
index
Expression index
- The loop index expression..
init
Expression init
- The initial loop index value..
term
Expression term
- The maximum value of the index..
inc
Expression inc
- The increment amount..
outerLoop
DoLoopStmt outerLoop
- A pointer to a nested loop. Null if there isn't a nested loop..
loopNest
int loopNest
- The loop nest level. Lower values for outer loops..
expr
Expression expr
- The expression evaluated.
keys
Vector keys
- A Vector of keys.
exception
ExceptionDecl exception
- The exception.
ident
java.lang.String ident
- The name of the exception.
exception
ExceptionDecl exception
- The exception.
parent
Statement parent
- The parent statement.
stmt
Statement stmt
- The statement.
expr
Expression expr
- the argument to the exit.
exprInit
Expression exprInit
- The initialization expression.
exprInc
Expression exprInc
- The increment expression.
label
LabelDecl label
- The label of the statement to branch to.
expr
Expression expr
- The expression that determines the branch taken.
thenStmt
Statement thenStmt
- The then statement.
elseStmt
Statement elseStmt
- The else statement.
label
LabelDecl label
- The statement's label.
stmt
Statement stmt
- The labeled statement.
stmt
Statement stmt
- The statement that is iterated.
expr
Expression expr
- The selection expression.
labels
Vector labels
- A Vector of statement labels.
exception
ExceptionDecl exception
- The exception thrown.
expr
Expression expr
- The expression.
expr
Expression expr
- The value to return.
parent
Node parent
- My parent in the Clef tree.
expr
Expression expr
- The selection expression
stmt
Statement stmt
- The statement.
expr
Expression expr
- The test expression.
handlers
Vector handlers
- A Vector of handlers.
stmt2
Statement stmt2
- The finally statement.
catchers
Vector catchers
- A Vector of catchers.
stmt
Statement stmt
- The statement.
keys
Vector keys
- A Vector of keys.
parent
Statement parent
- The parent statement.
type
Type type
- The type.
variable
VariableDecl variable
- The variable.
parent
Statement parent
- The parent statement.
expr
Expression expr
- The selection expression.
alts
Vector alts
- A Vector of the alternatives.
ident
java.lang.String ident
- The identification.
expr
Expression expr
- The expression.
stmt
Statement stmt
- The statement.
|
Package scale.clef.symtab |
rootScope
SymtabScope rootScope
- The root of the nested scopes.
currentScope
SymtabScope currentScope
- The current scope.
currentScopeDepth
int currentScopeDepth
- The current depth of the nested scopes.
The root of the scope tree has depth zero. This field
should always hold depth of currently active scope.
identifier
java.lang.String identifier
- Identifier shared by all these entries.
entries
java.lang.Object entries
- The SymtabEntry or a Vector of SymtabEntry.
scope
SymtabScope scope
- The scope for this symbol.
declaration
Declaration declaration
- The declaration for this symbol.
scopeNumber
int scopeNumber
- This field is this scope's unique identifier..
scopeDepth
int scopeDepth
- The depth of this scope in the scope tree..
localSymtab
SymtabLocal localSymtab
- This scope's local symbol table..
outerScope
SymtabScope outerScope
- Points to the outer scope containg this scope.
children
Vector children
- A vector of SymtabScope nodes.
order
Vector order
- The order that symbols are added.
fields
Vector fields
- The field declarations including methods.
scope
SymtabScope scope
- The scope in which the type was declared.
ordered
boolean ordered
- True if the fields should be compared in order.
lengthField
boolean lengthField
- The array structure contains a length field.
indicies
Vector indicies
- A RangeType entry for each dimension.
elementType
Type elementType
- The type of elements in the array.
min
Expression min
- The minimum allowed value.
max
Expression max
- The maximum allowd value.
format
int format
- The character format.
bases
Vector bases
- A Vector of the base classes.
isAbstract
boolean isAbstract
- Is the class abstract.
realMinbitSize
int realMinbitSize
- The minimum number of bits allowed for the real part.
imaginaryMinbitSize
int imaginaryMinbitSize
- The minimum number of bits allowed for the imaginary part.
enumVals
Vector enumVals
- A Vector of the enumerated values.
minScaleBits
int minScaleBits
- The minimum number of bits required in the representation of the scale value.
completeType
Type completeType
- The completed type.
minbitSize
int minbitSize
- The minimum number of bits that must be used for this type.
signed
boolean signed
- Is it signed or unsigned.
thisObject
FormalDecl thisObject
- Represents the this pointer.
aggregate
AggregateType aggregate
- The aggregate type.
pointedTo
Type pointedTo
- The type pointed to.
returnType
Type returnType
- The return type of the procedure.
formals
Vector formals
- A Vector of FormalDecls.
raises
Vector raises
- A Vector of the exceptions raised.
exception
ExceptionDecl exception
- The exception.
type
Type type
- The type.
baseType
IntegerType baseType
- The type of the individual values.
bound
Bound bound
- The range of the values.
minbitSize
int minbitSize
- The minimum number of bits required to represent a value of this type.
refTo
Type refTo
- The type referenced.
attribute
int attribute
- The attribute of this reference.
myDecl
Declaration myDecl
- The TypeDecl for this type if any.
d
Declaration d
- The declaration.
parent
Node parent
- The parent.
accessibility
byte accessibility
- The accessibility.
isVirtual
boolean isVirtual
- Is it virtual?
tag
int tag
- An integer value associated with the type that various algorithms may use.
color
int color
- The color value - used in traversing the CFG.
map
scale.clef.type.TypeTable.Entry[] map
- The array of lists indexed by the hash code.
number
int number
- The number of entries in the map..
lowered
Node lowered
- The lowered Clef node
vPtrId
Declaration vPtrId
- The declaration for the virtual function pointer.
vTblId
Declaration vTblId
- The declaration for the virtual function table.
index
int index
- The index value.
parent
DisjointSet parent
- A pointer to the parent.
rank
int rank
- The 'rank' of the element. The rank approximates the logarithm of the
subtree size. The value is used to improve the efficiency of the
union.
elements
Vector elements
- The list of elements in the disjoint set.
Only the representative element contains the list of elements.
All other elements are null (we do this to save space).
map
scale.common.IntMap.Entry[] map
- The array of lists indexed by the hash code.
number
int number
- The number of entries in the map..
nodeID
int nodeID
- The unique node id.
annotations
java.lang.Object annotations
- The annotations on this node.
map
scale.common.StringTable.Entry[] map
- The array of lists indexed by the hash code.
number
int number
- The number of entries in the map..
identifierCase
boolean identifierCase
- Are identifiers case sensitive.
memManage
boolean memManage
- The type of memory model used.
recordFieldOrderMatters
boolean recordFieldOrderMatters
- Does the order of record fields matter?
classFieldOrderMatters
boolean classFieldOrderMatters
- Does the order of class fields matter?
methodOrderMatters
boolean methodOrderMatters
- Does the order of methods matter?
frontiers
HashMap frontiers
- This field holds the actual dominance frontiers.
Dominances frontiers are computed for each node. The HashMap
holds tuples of the form , where the HashSet
defines the dominance frontier for the associated Chord.
dom
Domination dom
- This field holds the dominance relations.
begin
Chord begin
- This field holds the root of the CFG.
domination
HashMap domination
- Map from dominator node to domination information.
vertex
Chord[] vertex
- For computation of dominators.
parent
Chord[] parent
- For computation of dominators.
label
Chord[] label
- For computation of dominators.
ancestor
Chord[] ancestor
- For computation of dominators.
buckets
Vector[] buckets
- For computation of dominators.
semi
int[] semi
- For computation of dominators.
map
HashMap map
- for labeling the nodes.
post
boolean post
- Is it post dominators?
sections
java.util.Vector sections
- regular section descriptotor, sections to be RegularSectioned
begin
BeginChord begin
- First node in the CFG.
end
EndChord end
- Last node in the CFG.
declarations
Vector declarations
- A list of declarations that go with the graph.
routine
RoutineDecl routine
- The routine for which the graph was generated..
nonLocalVars
HashSet nonLocalVars
- List of variable declarations that are used in multiple basic blocks.
refs
References refs
- Def and use lists.
df
DominanceFrontier df
- The dominance frontier.
pdf
DominanceFrontier pdf
- Dominance frontier based on post dominators.
dom
Domination dom
- The dominance information..
pDom
Domination pDom
- The post dominance information..
containedGotos
boolean containedGotos
- Set true if the original graph may be irreducible.
sourceLang
SourceLanguage sourceLang
- source lang. used to generate Scribble.
loopTree
Loop loopTree
- The top level loop in the CFG.
ddGraph
DDGraph ddGraph
- The graph of dependence information.
|
Package scale.score.analyses |
aliasVar
AliasVar aliasVar
- The alias variable associated with a declaration.
supvv
SuperVirtualVar supvv
- - superset virtual variable
subsets
Vector subsets
- - a vector of the subset virtual variables that this variable encompasses
name
java.lang.String name
- - the name that will be used to create the subsets
var
ECR var
- A virtual variable represents a group of variables with similar alias
characteristics. We represent the group of variables using Steensgaard's
ECR data structure.
|
Package scale.score.chords |
inCfgEdges
java.lang.Object inCfgEdges
- This field holds the in-coming Cfg (Chord) edge or edges (Vector)..
label
int label
- This field is for the use of various algorithms so that they can label a CFG node with an integer value.
The Domination class uses it in computing dominators.
color
int color
- The color value - used in traversing the CFG.
loop
Loop loop
- The Loop instance associated with this CFG node.
predicateEdge
Expr predicateEdge
- Data edge for test expression.
reuseLevel
int reuseLevel
expr
Expr expr
- This field holds the expression for the computation..
trueEdge
Chord trueEdge
- The true CFG edge.
falseEdge
Chord falseEdge
- The false CFG edge.
trueEdgeMarker
boolean trueEdgeMarker
- Marker for the true edge.
falseEdgeMarker
boolean falseEdgeMarker
- Marker for the false edge.
resultValue
Expr resultValue
- This field holds the node's incoming data edge.
This field may have the null value, so all routines which
access this field must check its value first.
header
LoopHeaderChord header
- The loop header where the chord exits from.
parent
LoopHeaderChord parent
- The outer loop containing this loop.
children
java.lang.Object children
- Loops contained in this loop.
loopExits
java.lang.Object loopExits
- The LoopExitChord or a Vector of LoopExitChords for the loop if known.
loopTail
LoopTailChord loopTail
- The LoopTailChord for the loop if known.
loopTest
IfThenElseChord loopTest
- The loop test for the loop if known.
nextChord
Chord nextChord
- This field holds the node's outbound cfg edge..
marker
boolean marker
- Marker for the out-going CFG edge.
edges
Vector edges
- Out-going CFG edges.
|
Package scale.score.dependence |
loopDir
int loopDir
-
distance
int distance
- The dependence distance value.
direction
byte direction
- The dependence direction vector containing bits encoding the direction information.
distanceKnown
boolean distanceKnown
- Is the distance value known?
initialize
boolean initialize
- True if the memory for the allocated object should be cleared to zeros.
reuseLevel
int reuseLevel
la
Expr la
- Left argument.
ra
Expr ra
- Right argument.
mode
int mode
- Specify C or Java style shifting..
mayUse
Vector mayUse
- may use information - due to aliasing.
mayDef
Vector mayDef
- may def information - due to aliasing.
mode
int mode
- The compare mode.
conversion
int conversion
- The name of the language defined conversion routine.
high
Expr high
- The high level expression..
low
Expr low
- The low level expression..
type
Type type
- Expression type (e.g., int, etc.).
outDataEdge
Note outDataEdge
- The expression that usees this expression's value.
version
int version
- The version number.
canBeAvail
boolean canBeAvail
- canBeAvail
later
boolean later
- later
downSafe
boolean downSafe
- downSafe
willBeAvail
boolean willBeAvail
- willBeAvail
field
FieldDecl field
- Field specifies the field of the expression being loaded.
structure
Expr structure
- Structure is the expression that specifies the address of the structure accessed.
literal
Literal literal
- The literal of this expression.
useDef
StoreExpr useDef
- Use->def link.
decl
Declaration decl
- The declaration for the value loaded - if any.
mayUse
MayUseExpr mayUse
- may use information - due to aliasing.
ivar
InductionVar ivar
reuseLevel
int reuseLevel
- Reuse level of the array reference.
addr
Expr addr
- The argument of the operator..
graphNode
Expr graphNode
- A pointer back to the Scribble/Score node that we hang this may use information from.
graphNode
Expr graphNode
- A pointer back to the Scribble/Score node that we hang this
may use information from.
operands
Vector operands
- A Vector of expressions.
markers
java.util.BitSet markers
- Utility markers for various algorithms.
defUse
java.lang.Object defUse
- A def->use edge (Expr) or a set of def->use edges (Vector).
mayDef
MayDefExpr mayDef
- may definition information - due to aliasing.
boundsCheck
boolean boundsCheck
- True if run-time bounds checking required.
rowMajorOrder
boolean rowMajorOrder
- True if the subscripting is row major order.
array
Expr array
- The array address expression.
indices
Expr[] indices
- The array index expressions.
mins
Expr[] mins
- The array index origin expressions.
sizes
Expr[] sizes
- The array index size expressions.
loop
Loop loop
- The loop associated with the subscript.
la
Expr la
- Left argument.
ma
Expr ma
- Middle argument.
ra
Expr ra
- Right argument.
ftn
int ftn
- ftn is the transcendental function.
ftn
int ftn
arg
Expr arg
- The argument of the operator..
vaList
LoadDeclAddressExpr vaList
- vaList
parmN
FormalDecl parmN
- The reference parameter of the calling function.