Class Block
- java.lang.Object
-
- org.htmlunit.corejs.javascript.optimizer.Block
-
class Block extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static class
Block.FatBlock
-
Field Summary
Fields Modifier and Type Field Description (package private) static boolean
DEBUG
private static int
debug_blockCount
private int
itsBlockID
private int
itsEndNodeIndex
private java.util.BitSet
itsLiveOnEntrySet
private java.util.BitSet
itsLiveOnExitSet
private java.util.BitSet
itsNotDefSet
private Block[]
itsPredecessors
private int
itsStartNodeIndex
private Block[]
itsSuccessors
private java.util.BitSet
itsUseBeforeDefSet
-
Constructor Summary
Constructors Constructor Description Block(int startNodeIndex, int endNodeIndex)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private static boolean
assignType(int[] varTypes, int index, int type)
private static Block[]
buildBlocks(Node[] statementNodes)
private boolean
doReachedUseDataFlow()
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
lookForVariableAccess(OptFunctionNode fn, Node n)
private void
markAnyTypeVariables(int[] varTypes)
private static Block.FatBlock
newFatBlock(int startNodeIndex, int endNodeIndex)
private void
printLiveOnEntrySet(OptFunctionNode fn)
private static void
reachingDefDataFlow(OptFunctionNode fn, Node[] statementNodes, Block[] theBlocks, int[] varTypes)
(package private) static void
runFlowAnalyzes(OptFunctionNode fn, Node[] statementNodes)
private static java.lang.String
toString(Block[] blockList, Node[] statementNodes)
private static void
typeFlow(OptFunctionNode fn, Node[] statementNodes, Block[] theBlocks, int[] varTypes)
private static boolean
updateEntrySet(java.util.BitSet entrySet, java.util.BitSet exitSet, java.util.BitSet useBeforeDef, java.util.BitSet notDef)
-
-
-
Field Detail
-
itsSuccessors
private Block[] itsSuccessors
-
itsPredecessors
private Block[] itsPredecessors
-
itsStartNodeIndex
private int itsStartNodeIndex
-
itsEndNodeIndex
private int itsEndNodeIndex
-
itsBlockID
private int itsBlockID
-
itsLiveOnEntrySet
private java.util.BitSet itsLiveOnEntrySet
-
itsLiveOnExitSet
private java.util.BitSet itsLiveOnExitSet
-
itsUseBeforeDefSet
private java.util.BitSet itsUseBeforeDefSet
-
itsNotDefSet
private java.util.BitSet itsNotDefSet
-
DEBUG
static final boolean DEBUG
- See Also:
- Constant Field Values
-
debug_blockCount
private static int debug_blockCount
-
-
Method Detail
-
runFlowAnalyzes
static void runFlowAnalyzes(OptFunctionNode fn, Node[] statementNodes)
-
newFatBlock
private static Block.FatBlock newFatBlock(int startNodeIndex, int endNodeIndex)
-
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
private void lookForVariableAccess(OptFunctionNode fn, Node n)
-
initLiveOnEntrySets
private void initLiveOnEntrySets(OptFunctionNode fn, Node[] statementNodes)
-
doReachedUseDataFlow
private boolean doReachedUseDataFlow()
-
updateEntrySet
private static boolean updateEntrySet(java.util.BitSet entrySet, java.util.BitSet exitSet, java.util.BitSet useBeforeDef, java.util.BitSet notDef)
-
findExpressionType
private static int findExpressionType(OptFunctionNode fn, Node n, int[] varTypes)
-
findDefPoints
private static boolean findDefPoints(OptFunctionNode fn, Node n, int[] varTypes)
-
doTypeFlow
private boolean doTypeFlow(OptFunctionNode fn, Node[] statementNodes, int[] varTypes)
-
printLiveOnEntrySet
private void printLiveOnEntrySet(OptFunctionNode fn)
-
-