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 classBlock.FatBlock
-
Field Summary
Fields Modifier and Type Field Description (package private) static booleanDEBUGprivate static intdebug_blockCountprivate intitsBlockIDprivate intitsEndNodeIndexprivate java.util.BitSetitsLiveOnEntrySetprivate java.util.BitSetitsLiveOnExitSetprivate java.util.BitSetitsNotDefSetprivate Block[]itsPredecessorsprivate intitsStartNodeIndexprivate Block[]itsSuccessorsprivate java.util.BitSetitsUseBeforeDefSet
-
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 booleanassignType(int[] varTypes, int index, int type)private static Block[]buildBlocks(Node[] statementNodes)private booleandoReachedUseDataFlow()private booleandoTypeFlow(OptFunctionNode fn, Node[] statementNodes, int[] varTypes)private static booleanfindDefPoints(OptFunctionNode fn, Node n, int[] varTypes)private static intfindExpressionType(OptFunctionNode fn, Node n, int[] varTypes)private voidinitLiveOnEntrySets(OptFunctionNode fn, Node[] statementNodes)private voidlookForVariableAccess(OptFunctionNode fn, Node n)private voidmarkAnyTypeVariables(int[] varTypes)private static Block.FatBlocknewFatBlock(int startNodeIndex, int endNodeIndex)private voidprintLiveOnEntrySet(OptFunctionNode fn)private static voidreachingDefDataFlow(OptFunctionNode fn, Node[] statementNodes, Block[] theBlocks, int[] varTypes)(package private) static voidrunFlowAnalyzes(OptFunctionNode fn, Node[] statementNodes)private static java.lang.StringtoString(Block[] blockList, Node[] statementNodes)private static voidtypeFlow(OptFunctionNode fn, Node[] statementNodes, Block[] theBlocks, int[] varTypes)private static booleanupdateEntrySet(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)
-
-