Static Type Assignment for SSA Form in CTOC
نویسندگان
چکیده
Although the Java bytecode has numerous advantages, it also has certain shortcomings such as its slow execution speed and difficulty of analysis. In order to overcome such disadvantages, a bytecode analysis and optimization must be performed. The control flow of the bytecode should be analyzed; next, information is required regarding where the variables are defined and used to conduct a dataflow analysis and optimization. There may be cases where variables with an identical name contain different values at different locations during execution, according to the value assigned to a given variable in each location. Therefore, in order to statically determine the value and type, the variables must be separated according to allocation. In order to achieve this, variables can be expressed using a static single assignment form. After transformation into a static single assignment form, the type information of each node expressed by each variable and expression must be configured to perform a static analysis and optimization. Based on the basic type information, this paper proposes a method for finding the related equivalent nodes, setting nodes with strong connection components, and efficiently assigning each node type
منابع مشابه
-SSA and its Construction through Symbolic Interpretation
In this paper, we propose a new variant of SSA called-SSA and discuss its construction through symbolic interpretation of programs. By relaxing a condition of SSA form without violating the fundamental nature of static single assignment,-SSA form results in a representation which uses fewer join functions than the minimal SSA form. A graph representation called Value Flow Graph (VFG) is used to...
متن کاملTask Static Single Assignment (T-SSA) and Its Use in Safe Program Parallelization (short paper)
The mechanism of copy-on-write is recently used in speculative and deterministic parallel systems. In these systems, copy-on-write happens when a task modifies a variable for the first time. At the program level, the copying is a form of renaming. This paper extends the formalism of static single assignment (SSA) to introduce a program representation called task static single assignment (T-SSA)...
متن کاملCharacterizing the Optimility of Minimal SSA Using the Value Flow Graph
In this paper, we introduce a graph representation called the Value Flow Graph (VFG). The VFG represents the ow of values between the versions of the same variable in the Static Sigle Assignment (SSA) form and visually characterizes the properties of SSA. We show the conventional deenition of the (most commonly used) SSA form is overly conservative and propose a new relaxed variation of SSA for...
متن کاملUsing Software Metrics to Evaluate Static Single Assignment Form in GCC
Over the past 20 years, static single assignment form (SSA) has risen to become the compiler intermediate representation of choice. Compiler developers cite many qualitative reasons for choosing SSA. However in this study, we present clear quantitative benefits of SSA, by applying several standard software metrics to compiler intermediate code in both SSA and non-SSA forms. The average complexi...
متن کاملTranslating Out of Predicated Static Single Assignment Form
Static Single Assignment (SSA) form is an intermediate representation that allows a compiler to perform advanced optimizations to extract parallelism. Predication is an architectural feature to maximize instruction level parallelism. If a compiler uses a predicated SSA form that is a combination of an SSA form and predication as an intermediate representation, it can perform advance optimizatio...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید
ثبت ناماگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید
ورودعنوان ژورنال:
- JIPS
دوره 3 شماره
صفحات -
تاریخ انتشار 2007