SafeTSA

SafeTSA

SafeTSA is a static single assignment form (SSA) intermediate representation capable of representing all of the type safety of the Java programming language and the standard Java Virtual Machine (JVM) byte-code.

As of 2005, many optimizing compilers (including just-in-time compilers used by JVMs) use SSA representations internally.A typical just-in-time compiler for a JVM converts JVM stack-machine byte-code into an internal static-single-assignment representation, performs optimizations, converts the SSA form to a low-level form similar to the host CPU's machine code, and performs some platform-specific optimizations before finally creating the native code that gets executed.SafeTSA is an external representation similar to these SSA internal representations, yet SafeTSA still provides the full type safety (including security verifiability at class load time) of standard JVM byte-code.In theory, this preserves the advatages of the JVM while decreasing the amount of work the JVM needs to do in order to efficiently execute programs.

The creators of SafeTSA modified the IBM JikesRVM (called the Jalapeño JVM at the time) so that it could use standard JVM byte-code and also a SafeTSA bytecode.They then ran a standard suite of Java benchmarks and published a paper showing that SafeTSA input produced faster running native code output from the just-in-time compiler.In addition, the researchers also showed that SafeTSA required less time to compile to native code.

On the other hand, the advantages of a stack-machine byte-code (such as the standard JVM byte-code) include an easily implemented interpreter.

It should also be noted that most commercial JVMs in late 2005 use a mixture of byte-code interpretation and byte-code just-in-time optimized compilation whereas the JikesRVM used in the SafeTSA research uses only a mixture of two different optimization levels for just-in-time compilation.The research platform never used interpretation to run SafeTSA byte-code, so it's less clear how SafeTSA byte-code would perform in a modified version of a commercial JVM.

As of late 2005, it seems that SafeTSA has only been used in academia.

External links

* [http://citeseer.ist.psu.edu/484859.html A Type-Safe Mobile-Code Representation Aimed at Supporting Dynamic Optimization At The Target Site] W. Amme, N. Dalton, M. Franz, J. von Ronne
* [http://citeseer.ist.psu.edu/722869.html SafeTSA: A Type Safe and Referentially Secure Mobile-Code Representation Based on Static Single Assignment Form] (2001) W. Amme, N. Dalton, J. von Ronne, M. Franz
* [http://citeseer.ist.psu.edu/721276.html Using the SafeTSA Representation to Boost the Performance of an Existing Java Virtual Machine] (2002) W. Amme, J. von Ronne, M. Franz


Wikimedia Foundation. 2010.

Игры ⚽ Нужен реферат?

Look at other dictionaries:

  • Static single assignment form — In compiler design, static single assignment form (often abbreviated as SSA form or SSA) is an intermediate representation (IR) in which every variable is assigned exactly once. Existing variables in the original IR are split into versions , new… …   Wikipedia

  • Bounds-checking elimination — In computer science, bounds checking elimination is a compiler optimization useful in programming languages or runtimes that enforce bounds checking, the practice of consistently checking every index into an array to verify that the index is… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”