Java Doc for InductionVarAnalyzer.java in  » Database-DBMS » db4o-6.4 » EDU » purdue » cs » bloat » diva » 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.diva 
Source Cross Reference  Class Diagram Java Document (Java Doc) 


java.lang.Object
   EDU.purdue.cs.bloat.diva.InductionVarAnalyzer

InductionVarAnalyzer
public class InductionVarAnalyzer (Code)
InductionVarAnalyzer traverses a control flow graph and looks for array element swizzle operations inside loops. If possible, these swizzle operations are hoisted out of the loop and are replaced with range swizzle operations. The technique used is Demand-driven Induction Variable Analysis (DIVA).

To accomplish its tasks, InductionVarAnalyzer keeps track of a number of induction variables (represented by Swizzler objects) and local variables.
See Also:   Swizzler
See Also:   LocalExpr



Field Summary
 FlowGraphCFG
    
public static  booleanDEBUG
    
 HashMapIndStore
    
 HashMapLocalStore
    
 booleanchanged
    
 Exprind_inc
    
 Exprind_init
    
 Exprind_term
    
 Exprind_var
    
 SSAGraphssaGraph
    
 Exprtgt
    


Method Summary
public  voidDisplay_store()
     Displays (to System.out) all of the Swizzlers stored in the induction variable store.
public  voiddisplaySwizzler(Swizzler indswz)
     Displays the contents of a Swizzler object to System.out.
public  MemExprget_local(int vn)
     Searchs the stored list of local variables for a local variable with a given value number.
Parameters:
  vn - The value number to search for.
public  Objectget_swizzler(int vn)
     Searches the list of induction variables for an induction variable with a given value number.
Parameters:
  vn - Value number to search for.
public  voidinsert_aswrange(Swizzler indswz)
     Adds a swizzle range statement (SRStmt) to the end of each predacessor block of the block containing the phi statement that defines an induction variable provided that the phi block does not dominate its predacessor.
public  BlockisMu(PhiJoinStmt phi, FlowGraph cfg)
     Determines whether or not a phi statement is a mu function.
public  voidtransform(FlowGraph cfg)
     Performs DIVA on a CFG.

Field Detail
CFG
FlowGraph CFG(Code)



DEBUG
public static boolean DEBUG(Code)



IndStore
HashMap IndStore(Code)



LocalStore
HashMap LocalStore(Code)



changed
boolean changed(Code)



ind_inc
Expr ind_inc(Code)



ind_init
Expr ind_init(Code)



ind_term
Expr ind_term(Code)



ind_var
Expr ind_var(Code)



ssaGraph
SSAGraph ssaGraph(Code)



tgt
Expr tgt(Code)





Method Detail
Display_store
public void Display_store()(Code)
Displays (to System.out) all of the Swizzlers stored in the induction variable store.
See Also:   Swizzler



displaySwizzler
public void displaySwizzler(Swizzler indswz)(Code)
Displays the contents of a Swizzler object to System.out.
Parameters:
  indswz - The Swizzler to display.



get_local
public MemExpr get_local(int vn)(Code)
Searchs the stored list of local variables for a local variable with a given value number.
Parameters:
  vn - The value number to search for. The local variable with the given value number, or null, if notfound.



get_swizzler
public Object get_swizzler(int vn)(Code)
Searches the list of induction variables for an induction variable with a given value number.
Parameters:
  vn - Value number to search for. Swizzler object whose target has the desired value number ornull, if value number is not found.



insert_aswrange
public void insert_aswrange(Swizzler indswz)(Code)
Adds a swizzle range statement (SRStmt) to the end of each predacessor block of the block containing the phi statement that defines an induction variable provided that the phi block does not dominate its predacessor. Phew.
Parameters:
  indswz - Swizzler representing the induction variable on which therange swizzle statement is added.



isMu
public Block isMu(PhiJoinStmt phi, FlowGraph cfg)(Code)
Determines whether or not a phi statement is a mu function. A mu function is a phi function that merges values at loop headers, as opposed to those that occur as a result of forward branching. Mu functions always have two arguments.
Parameters:
  phi - phi statement that may be a mu function
Parameters:
  cfg - CFG to look through Get rid of thisparameter The block containing the mu functions external (that is, outsidethe loop) argument, also known as the external ssalink. If thephi statement is not a mu function, null is returned.



transform
public void transform(FlowGraph cfg)(Code)
Performs DIVA on a CFG.



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.