Why SSA is good for Java compilation
"The strong typing in Java simplifies much of the compiler analysis. In particular, Java semantics ensure that a local variable can only be modified by explicit
assignment to the variable. In contrast, the creation of a pointer to a local variable in C allows a local variable to be modified at any time by any routine. Similarly, a field of a Java object can never be modified by an assignment to a different field. Because of these properties that make most data
dependences explicit in Java programs, we believe that static
single assignment (SSA) form is highly appropriate as an intermediate
representation for Java. SSA graphs make most or all of the dependences in a method explicit, but provide great freedom in optimizing and scheduling the resulting code."
- The Swift Java Compiler: Design and Implementation
0 Comments:
Post a Comment
Subscribe to Post Comments [Atom]
<< Home