Package org.mozilla.javascript.optimizer
Class Block
java.lang.Object
org.mozilla.javascript.optimizer.Block
-
Nested Class Summary
Nested Classes -
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate static boolean
assignType
(int[] varTypes, int index, int type) private static Block[]
buildBlocks
(Node[] statementNodes) private boolean
private boolean
doTypeFlow
(OptFunctionNode fn, Node[] statementNodes, int[] varTypes) private static boolean
findDefPoints
(OptFunctionNode fn, Node n, int[] varTypes) private static int
findExpressionType
(OptFunctionNode fn, Node n, int[] varTypes) private void
initLiveOnEntrySets
(OptFunctionNode fn, Node[] statementNodes) private void
private void
markAnyTypeVariables
(int[] varTypes) private static Block.FatBlock
newFatBlock
(int startNodeIndex, int endNodeIndex) private void
private static void
reachingDefDataFlow
(OptFunctionNode fn, Node[] statementNodes, Block[] theBlocks, int[] varTypes) (package private) static void
runFlowAnalyzes
(OptFunctionNode fn, Node[] statementNodes) private static String
private static void
typeFlow
(OptFunctionNode fn, Node[] statementNodes, Block[] theBlocks, int[] varTypes) private static boolean
updateEntrySet
(BitSet entrySet, BitSet exitSet, BitSet useBeforeDef, BitSet notDef)
-
Field Details
-
itsSuccessors
-
itsPredecessors
-
itsStartNodeIndex
private int itsStartNodeIndex -
itsEndNodeIndex
private int itsEndNodeIndex -
itsBlockID
private int itsBlockID -
itsLiveOnEntrySet
-
itsLiveOnExitSet
-
itsUseBeforeDefSet
-
itsNotDefSet
-
DEBUG
static final boolean DEBUG- See Also:
-
debug_blockCount
private static int debug_blockCount
-
-
Constructor Details
-
Block
Block(int startNodeIndex, int endNodeIndex)
-
-
Method Details
-
runFlowAnalyzes
-
buildBlocks
-
newFatBlock
-
toString
-
reachingDefDataFlow
private static void reachingDefDataFlow(OptFunctionNode fn, Node[] statementNodes, Block[] theBlocks, int[] varTypes) -
typeFlow
private static void typeFlow(OptFunctionNode fn, Node[] statementNodes, Block[] theBlocks, int[] varTypes) -
assignType
private static boolean assignType(int[] varTypes, int index, int type) -
markAnyTypeVariables
private void markAnyTypeVariables(int[] varTypes) -
lookForVariableAccess
-
initLiveOnEntrySets
-
doReachedUseDataFlow
private boolean doReachedUseDataFlow() -
updateEntrySet
-
findExpressionType
-
findDefPoints
-
doTypeFlow
-
printLiveOnEntrySet
-