DOI QR코드

DOI QR Code

Static Type Assignment for SSA Form in CTOC

  • Kim, Ki-Tae (Dept. of Computer Science & Information Engineering, Inha University) ;
  • Yoo, Weon-Hee (Dept. of Computer Science & Information Engineering, Inha University)
  • Published : 2007.06.30

Abstract

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.

Keywords

References

  1. Tim Linholm and Frank Yellin, The Java Virtual Machine Specifications, The Java Series, Addison Wesley, Reading, MA, USA, Jan. 1997
  2. James Gosling, Bill Joy, and Guy Steel, 'The Java Language Specifications,' The Java Series, Addison Wesely, 1997
  3. Alfred V. Aho, Ravi Sethi, Jeffrey D. Ullman, Compilers Principles, Techniques and Tools, Addison Wesley, 1986
  4. Andrew W. appel, Modern Compiler Implementation in Java. CAMBRIDGE UNIVERSITY PRESS, 1998, pp 437-477
  5. Ron Cytron, Jeanne Ferrante, Barry K. Rosen, Mark N. Wegman, and F. Kenneth Zadeck, 'Efficiently Computing the Static Single Assignment Form and the Control Dependence Graph', March 1991, pp 451-490 https://doi.org/10.1145/115372.115320
  6. Don Lance, 'Java Program Analysis: A New Approach Using Java Virtual Machine Bytecodes', http://www.mtsu.edu/~java