Java Doc for Block.java in  » Database-DBMS » db4o-6.4 » EDU » purdue » cs » bloat » cfg » Java Source Code / Java DocumentationJava Source Code and Java Documentation

Java Source Code / Java Documentation
1. 6.0 JDK Core
2. 6.0 JDK Modules
3. 6.0 JDK Modules com.sun
4. 6.0 JDK Modules com.sun.java
5. 6.0 JDK Modules sun
6. 6.0 JDK Platform
7. Ajax
8. Apache Harmony Java SE
9. Aspect oriented
10. Authentication Authorization
11. Blogger System
12. Build
13. Byte Code
14. Cache
15. Chart
16. Chat
17. Code Analyzer
18. Collaboration
19. Content Management System
20. Database Client
21. Database DBMS
22. Database JDBC Connection Pool
23. Database ORM
24. Development
25. EJB Server geronimo
26. EJB Server GlassFish
27. EJB Server JBoss 4.2.1
28. EJB Server resin 3.1.5
29. ERP CRM Financial
30. ESB
31. Forum
32. GIS
33. Graphic Library
34. Groupware
35. HTML Parser
36. IDE
37. IDE Eclipse
38. IDE Netbeans
39. Installer
40. Internationalization Localization
41. Inversion of Control
42. Issue Tracking
43. J2EE
44. JBoss
45. JMS
46. JMX
47. Library
48. Mail Clients
49. Net
50. Parser
51. PDF
52. Portal
53. Profiler
54. Project Management
55. Report
56. RSS RDF
57. Rule Engine
58. Science
59. Scripting
60. Search Engine
61. Security
62. Sevlet Container
63. Source Control
64. Swing Library
65. Template Engine
66. Test Coverage
67. Testing
68. UML
69. Web Crawler
70. Web Framework
71. Web Mail
72. Web Server
73. Web Services
74. Web Services apache cxf 2.0.1
75. Web Services AXIS2
76. Wiki Engine
77. Workflow Engines
78. XML
79. XML UI
Java
Java Tutorial
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
SQL / MySQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
Java Source Code / Java Documentation » Database DBMS » db4o 6.4 » EDU.purdue.cs.bloat.cfg 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   EDU.purdue.cs.bloat.util.GraphNode
      EDU.purdue.cs.bloat.cfg.Block

Block
public class Block extends GraphNode (Code)
Block represents a basic block of code used in control flow graphs. A basic block is always entered at its beginning and exits at its end. That is, its first statement is a label and its last statement is a jump. There are no other labels or jumps in between.

Each Block knows its parent block and its children in the dominator and postdominator trees. It also knows which blocks are in its dominance frontier and its postdominance frontier.
See Also:   FlowGraph
See Also:   DominatorTree
See Also:   DominanceFrontier



Field Summary
final public static  intIRREDUCIBLE
    
final public static  intNON_HEADER
    
final public static  intREDUCIBLE
    
 intblockType
    
 SetdomChildren
    
 SetdomFrontier
    
 BlockdomParent
    
 FlowGraphgraph
    
 Blockheader
    
 Labellabel
    
 SetpdomChildren
    
 SetpdomFrontier
    
 BlockpdomParent
    
 StackOptimizerstackOptimizer
    
 Treetree
    

Constructor Summary
 Block(Label label, FlowGraph graph)
     Constructor.
Parameters:
  label - The block's label.

Method Summary
 intblockType()
     Returns the type of this Block.
 CollectiondomChildren()
     Returns the basic blocks that this Block immediately dominates.
 CollectiondomFrontier()
     Returns the blocks that are in this block's dominance frontier.
 BlockdomParent()
     Returns the immediate dominator of this Block.
public  booleandominates(Block block)
     Returns whether or this Block dominates another given Block.
public  FlowGraphgraph()
     Returns the CFG containing the block.
public  Blockheader()
    
public  Labellabel()
     Returns the label associated with this block.
 CollectionpdomChildren()
     Returns the children of this Block in the CFG's postdominator tree.
 CollectionpdomFrontier()
     Returns the postdominance frontier for this node.
 BlockpdomParent()
     Returns the parent of this Block in the CFG's postdominator tree.
public  booleanpostdominates(Block block)
     Determines whether or not this block postdominates a given block.
 voidsetBlockType(int blockType)
     Sets the type of this Block.
 voidsetDomParent(Block block)
     Specifies that Block dominates this Block (parent in the dominator tree, the immediate dominator).
public  voidsetHeader(Block header)
    
 voidsetPdomParent(Block block)
     Sets this Block's parent in the postdominator tree.
public  voidsetTree(Tree tree)
     Sets the expression tree for this block.
public  StackOptimizerstackOptimizer()
     Returns the stack optimizer for this block.
public  StringtoString()
     Returns a string representation of this block.
public  Treetree()
     Returns the expression tree for this block.
public  voidvisit(TreeVisitor visitor)
    
public  voidvisitChildren(TreeVisitor visitor)
     Visits the expression tree contained in this block.

Field Detail
IRREDUCIBLE
final public static int IRREDUCIBLE(Code)



NON_HEADER
final public static int NON_HEADER(Code)



REDUCIBLE
final public static int REDUCIBLE(Code)



blockType
int blockType(Code)



domChildren
Set domChildren(Code)



domFrontier
Set domFrontier(Code)



domParent
Block domParent(Code)



graph
FlowGraph graph(Code)



header
Block header(Code)



label
Label label(Code)



pdomChildren
Set pdomChildren(Code)



pdomFrontier
Set pdomFrontier(Code)



pdomParent
Block pdomParent(Code)



stackOptimizer
StackOptimizer stackOptimizer(Code)



tree
Tree tree(Code)




Constructor Detail
Block
Block(Label label, FlowGraph graph)(Code)
Constructor.
Parameters:
  label - The block's label. The label may be thought of as the line ofcode at which the block begins.
Parameters:
  graph - The CFG containing the block.




Method Detail
blockType
int blockType()(Code)
Returns the type of this Block.



domChildren
Collection domChildren()(Code)
Returns the basic blocks that this Block immediately dominates. That is, it returns this Block's children in the dominator tree for the CFG.



domFrontier
Collection domFrontier()(Code)
Returns the blocks that are in this block's dominance frontier. The dominance frontier of a node X in a CFG is the set of all nodes Y such that X dominates a predacessor of Y, but does not strictly dominate Y. Nodes in the dominance frontier always have more than one parent (a join).
See Also:   DominanceFrontier



domParent
Block domParent()(Code)
Returns the immediate dominator of this Block. That is, it returns the Block's parent in the dominator tree, its immediate dominator.



dominates
public boolean dominates(Block block)(Code)
Returns whether or this Block dominates another given Block. A node X dominates a node Y when every path from the first node in the CFG (Enter) to Y must pass through X.



graph
public FlowGraph graph()(Code)
Returns the CFG containing the block. The CFG.



header
public Block header()(Code)



label
public Label label()(Code)
Returns the label associated with this block.



pdomChildren
Collection pdomChildren()(Code)
Returns the children of this Block in the CFG's postdominator tree.



pdomFrontier
Collection pdomFrontier()(Code)
Returns the postdominance frontier for this node. A postdominace frontier is essentially the same as a dominace frontier, but the postdominance relationship is used instead of the dominance relationship.



pdomParent
Block pdomParent()(Code)
Returns the parent of this Block in the CFG's postdominator tree.



postdominates
public boolean postdominates(Block block)(Code)
Determines whether or not this block postdominates a given block. A block X is said to postdominate a block Y when every path from Y to the last node in the CFG (Exit) passes through X. This relationship can be thought of as the reverse of dominance. That is, X dominates Y in the reverse CFG.
See Also:   DominatorTree



setBlockType
void setBlockType(int blockType)(Code)
Sets the type of this Block. A Block may have one of three types:
  • NON_HEADER: Not the header of any loop
  • IRREDUCIBLE: Header of an irreducible loop
  • REDUCIBLE: Header of a reducible loop
A loop is a strongly connected component of a control flow graph. A loop's header is the block that dominates all other blocks in the loop. A loop is reducible if the only way to enter the loop is through the header.



setDomParent
void setDomParent(Block block)(Code)
Specifies that Block dominates this Block (parent in the dominator tree, the immediate dominator).
Parameters:
  block - Block that dominates this Block.



setHeader
public void setHeader(Block header)(Code)



setPdomParent
void setPdomParent(Block block)(Code)
Sets this Block's parent in the postdominator tree.



setTree
public void setTree(Tree tree)(Code)
Sets the expression tree for this block.



stackOptimizer
public StackOptimizer stackOptimizer()(Code)
Returns the stack optimizer for this block. The stack optimizer.



toString
public String toString()(Code)
Returns a string representation of this block.



tree
public Tree tree()(Code)
Returns the expression tree for this block. The tree.



visit
public void visit(TreeVisitor visitor)(Code)



visitChildren
public void visitChildren(TreeVisitor visitor)(Code)
Visits the expression tree contained in this block.



Fields inherited from EDU.purdue.cs.bloat.util.GraphNode
protected int postIndex(Code)(Java Doc)
protected int preIndex(Code)(Java Doc)
protected HashSet preds(Code)(Java Doc)
protected HashSet succs(Code)(Java Doc)

Methods inherited from EDU.purdue.cs.bloat.util.GraphNode
protected Collection preds()(Code)(Java Doc)
protected Collection succs()(Code)(Java Doc)

Methods inherited from java.lang.Object
native protected Object clone() throws CloneNotSupportedException(Code)(Java Doc)
public boolean equals(Object obj)(Code)(Java Doc)
protected void finalize() throws Throwable(Code)(Java Doc)
final native public Class getClass()(Code)(Java Doc)
native public int hashCode()(Code)(Java Doc)
final native public void notify()(Code)(Java Doc)
final native public void notifyAll()(Code)(Java Doc)
public String toString()(Code)(Java Doc)
final native public void wait(long timeout) throws InterruptedException(Code)(Java Doc)
final public void wait(long timeout, int nanos) throws InterruptedException(Code)(Java Doc)
final public void wait() throws InterruptedException(Code)(Java Doc)

www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.