[Soot-list] How does Jimple preserve semantics with its partial SSA without Phi-node mechanism?? (with an example illustrating my idea)

Quentin Sabah quentin.sabah at inria.fr
Thu Jul 12 06:40:02 EDT 2012


> Jimple is not SSA, but I think it is somewhat SSA because local variables have unique name whenver possible. Right?

Mmh, Single Static Assignment means a variable is assigned only once in a method body, thus Phi-nodes are required when a variable may take different values depending on the control-flow. 

In Jimple it is perfectly allowed to re-assign a variable. However it generates a lot of temporary variables (the one starting with a $ sign), these variables usually represent values located on the stack in the JVM (operands and results of instructions). Reusing variable names is an optimization for the bytecode generation.


-- 
Quentin Sabah, CIFRE Ph.D. student
Grenoble University
INRIA-SARDES                   | STMicroelectronics/AST
Montbonnot, France             | Grenoble, France
mailto:quentin.sabah at inria.fr  | mailto:quentin.sabah at st.com
phone: +33 476 61 52 42        | phone: +33 476 58 44 14



More information about the Soot-list mailing list