The Joeq is a compiler system, a compiler analysis framework, and full virtual machine written in the Java programming language. Further, Joeq is a virtual machine and a compiler infrastructure rolled into one. It has been designed to facilitate research in virtual machine technologies and improve performance with the increasing demands from the enterprise community. Joeq is expected to enhance the performance of distributed computation, sophisticated scheduling algorithms, and advanced run time techniques.
Joeq is entirely implemented in Java, leading to reliability, portability, maintainability, and efficiency. It is also language-independent and platform-independent so that codes from any other supported language can be seamlessly integrated in Joeq. Each component of the virtual machine is written to be independent with a general but well-defined interface, making it easy to experiment with new ideas.
Joeq is released as open source software, and is being used as a framework by researchers all over the world on topics ranging from automatic distributed virtual machines to whole-program pointer analysis. Joeq is a virtual machine and compiler infrastructure designed to be a platform for research in compilation and virtual machine technologies. There are three main objectives for Joeq. First is flexibility. Joeq is a system that would be as open and general as possible, without sacrificing usability or performance. The system is as modular as possible so that each component is easily replaceable.
The entire Joeq system is in Java. This makes it easy to quickly implement and prototype new ideas, and features like garbage collection and exception tracebacks ease debugging and improve productivity. As Java is a dynamic language, it is also a good consumer for many of dynamic compilation techniques. Using Joeq, one can compile the code of the virtual machine meaning that it can dynamically optimize the virtual machine code with respect to the application that is running on it.
Java’s object-oriented nature also facilitates modularity of the design and implementation. Since the system is written in Java, it can be used on any platform that has an implementation of a Java virtual machine. The fact that Joeq supports popular input languages like Java bytecode, C, C++, and even x86 binary code increases the scope of input programs.
Java Development India offers Joeq development, Joeq consulting and Joeq related solutions from our offshore software development outsourcing centre at Kochi, Kerala in India.
|