Java bytecode to native code translation: the caffeine prototype and preliminary results
Proceedings of the 29th annual ACM/IEEE international symposium on Microarchitecture
Inside Microsoft .NET IL Assembler
Inside Microsoft .NET IL Assembler
The C++ Programming Language
Inside the Java Virtual Machine
Inside the Java Virtual Machine
Java Virtual Machine Specification
Java Virtual Machine Specification
Reverse Engineering of Object Oriented Code (Monographs in Computer Science)
Reverse Engineering of Object Oriented Code (Monographs in Computer Science)
A study on optimization techniques for the smart virtual machine platform
FGIT'12 Proceedings of the 4th international conference on Future Generation Information Technology
Hi-index | 0.01 |
The ubiquitous game platform implemented by our team is composed of a C++ compiler, a java translator, and a virtual machine. The EVM (Embedded Virtual Machine) is a stack-based solution that supports object-oriented languages such as C++ and java. It uses the SIL (Standard Intermediate Language) as an intermediate language, which consists of an operation code set for procedural and object-oriented languages. The existing C++ compilers are used to execute programs after translating them into a target machine code. The downside of this method is its low practicality, along with its platform-dependency. To resolve this matter, we developed a C++ compiler that generates virtual machine codes based on platform-independent stacks that are not target machine codes. This paper presents a decompiler system that converts a C++ compiler generated intermediate language, namely SIL, to a representation of a C++ program. This method optimizes the simulation needed for the generation of exacted SIL code, and a solution that can verify the SIL code generation through a C++ program represented in the decompiler. Furthermore, the ease of extracting the meaning of a program, as opposed to assembly-structured SIL codes, allows much more convenience in changing the software structure and correcting it to improve performance.