Download Shareware and Freeware Software for Windows, Linux, Macintosh, PDA

line Home  |  About Us  |  Link To Us  |  FAQ  |  Contact

Serving Software Downloads in 976 Categories, Downloaded 38.878.417 Times

joeq virtual machine 20030812

  Date Added: January 21, 2010  |  Visits: 1.082

joeq virtual machine

Report Broken Link
Printer Friendly Version

Product Homepage
Download (88 downloads)

Joeq is a virtual machine and compiler infrastructure designed to facilitate research in virtual machine technologies such as Just-In-Time and Ahead-Of-Time compilation, advanced garbage collection techniques, 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, so code from any supported language can be seamlessly compiled, linked, and executed -- all dynamically. 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 on five continents 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. We had three main goals in designing the system. First and foremost, we wanted the system to be flexible. We are interested in a variety of compiler and virtual machine research topics, and we wanted a system that would not be specific to researching a particular area. For example, we have interest in both static and dynamic compilation techniques, and in both type-safe and unsafe languages. We wanted a system that would be as open and general as possible, without sacrificing usability or performance. Second, we wanted the system to be easy to experiment with. As its primary focus is research, it should be straightforward to prototype new ideas in the framework. With this in mind, we tried to make the system as modular as possible, so that each component is easily replaceable. Learning from our experience with Jalapeno, another virtual machine written in Java, we decided to implement the entire system 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. Java, being a dynamic language, is also a good consumer for many of our dynamic compilation techniques; the fact that our dynamic compiler can compile the code of the virtual machine itself means that it can dynamically optimize the virtual machine code with respect to the application that is running on it. Javas object-oriented nature also facilitates modularity of the design and implementation. Third, we wanted the system to be useful to a wide audience. The fact that the system is written in Java means that much of the system 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, C, C++, Fortran, and even x86 binary code increases the scope of input programs. We released the system on the SourceForge web site as open source under the Library GNU Public License. It has been picked up by researchers on five continents for various purposes, among them: automatic extraction of component interfaces, static whole-program pointer analysis, context-sensitive call graph construction, automatic distributed computation, versioned type systems for operating systems, sophisticated profiling of applications, advanced dynamic compilation techniques, system checkpointing, anomaly detection, secure execution platforms and autonomous systems. In addition, Joeq is now used as the basis of the Advanced Compilation Techniques class taught at Stanford University. Joeq supports two modes of operation: native execution and hosted execution. In native execution, the Joeq code runs directly on the hardware. It uses its own run-time routines, thread package, garbage collector, etc. In hosted execution, the Joeq code runs on top of another virtual machine. Operations to access objects are translated into calls into the reflection library of the host virtual machine. The user code that executes is identical, and only a small amount of functionality involving unsafe operations is not available when running in hosted execution mode. Hosted execution is useful for debugging purposes and when the underlying machine architecture is not yet directly supported by Joeq. We also use hosted execution mode to bootstrap the system and perform checkpointing, a technique for optimizing application startup times. Joeq system consists of seven major parts: - Front-end: Handles the loading and parsing of input files, such as Java class files, SUIF files, and binary object files. - Compiler: A framework for performing analyses and optimizations on code. This includes the intermediate representation (IR) of our compiler. - Back-end: Converts the compilers intermediate representation into native, executable code. This code can be output to an object file or written into memory to be executed. In addition, it generates metadata about the generated code, such as garbage collection maps and exception handling information. - Interpreter: Directly interprets the various forms of compiler intermediate representations. - Memory Manager: Organizes and manages memory. Joeq supports both explicitly-managed and garbage-collected memory. - Dynamic: Provides profile data to the code analysis and optimization component, makes compilation policy decisions, and drives the dynamic compiler. - Run-time Support: Provides runtime support for introspection, thread scheduling, synchronization, exception handling, interfacing to external code, and language-specific features such as dynamic type checking..

Requirements: No special requirements
Platforms: Linux
Keyword: Assembler Tools Code In Java Java Java Virtual Java Virtual Machine Joeq Machine Programming Such As System Virtual Virtual Machine
Users rating: 0/10

License: Freeware Size: 1024 KB
More Reviews or Write Review

Puzzles  -  Filler in Java 1.02
Filler in Java project is a graphical game where you occupy coloured hexes by changing colours. Its strengths are better computer players, internationalisability, and cross-platform deployability. Installing In the top directory (same...
378.88 KB  
Libraries  -  Fast MD5 Implementation in Java 2.6.1
Fast MD5 Implementation in Java is a heavily optimized implementation of the MD5 hashing algorithm written in Java. Fast MD5 Implementation in Java includes an optional native method for even greater speed improvements. How Fast Is It? Short...
74.75 KB  
Network & Internet  -  Bayesian Network tools in Java (BNJ) 1.0
Bayesian Network tools in Java (BNJ) is an open-source suite of software tools for research and development using graphical models of probability. It is published by the Kansas State University Laboratory for Knowledge Discovery in Databases (KDD).
1.87 MB  
Programming  -  CVS client interface in Java 0.4.1
An implementation of the CVS client/server protocol in Java. It also has classes for user interaction via a command line or using a Swing GUI.
979.97 KB  
Science  -  dcm4che, a DICOM Implementation in JAVA 1.0
dcm4che is an implementation of DICOM and IHE actors in Java. Homepage:, Forums:, Wiki:, Issue Tracking:
14.79 MB  
Utilities  -  Java FileTools 0.3.0
A set of tools written in Java to manipulate files, finding duplicated files into two directories, finding duplicated files in a single directory, finding duplicated files out and in .ZIP files, etc.
7.1 KB  
Programming  -  JLog/JScriptLog - Prolog in Java* 1.0
JLog is a Prolog interpreter written in Java. It is fast and perfectly suited for education. It includes source editor, query panels, online help, animation primitives, and a GUI debugger. JScriptLog is Prolog in JavaScript.
24.8 KB  
Programming  -  JMK - Make in Java 1.6
Make in Java (jmk) is an application which is used to ensure that a set of files is in a consistent state. The application is based on the make utility which is part of most Unix systems, but is designed to support the task of writing platform...
210.44 KB  
Multimedia & Graphics  -  jMusic - Composition in Java 1.6.3
As a library of classes for generating and manipulating music and sound, jMusic provides a solid framework for computer assisted composition in Java. jMusic has a music data structure based upon note/sound events and methods for modifying and structu
394.11 KB  
Business  -  POP3/IMAP server for GMAIL in JAVA 0.2.1
gavamail is a POP3/IMAP server implemented in JAVA for reading your gmail e-mail with your favorite mail client. Currently only POP3 is implemented but I hope to implement IMAP too. Libraries provided by the g4j and libgmail projects are used.
30.22 KB  
Linux Software  -  Driver Booster
Driver Booster 7 can update all outdated/faulty/missing drivers in 1-click with a database of 3, 500, 000+ drivers, which ensures all outdated drivers and game components can be updated for Windows users. And all the supported drivers have passed...
24.64 MB  
Linux Software  -  EasyEDA PCB Designer for Linux 2.0.0
EasyEDA, a great web based EDA(Electronics Design Automation) tool, online PCB tool, online PCB software for electronics engineers, educators, students, makers and enthusiasts. Theres no need to install any software. Just open EasyEDA in any...
34.4 MB  
Linux Software  -  wpCache® WordPress HTTP Cache 1.9
wpCache® is a high-performance, distributed object, caching system application, generic in nature, but intended for use in speeding up dynamic web applications, by decreasing database load time. wpCache® decreases dramatically the page...
3.51 MB  
Linux Software  -  Polling Autodialer Software 3.4
ICTBroadcast Auto Dialer software has a survey campaign for telephone surveys and polls. This auto dialer software automatically dials a list of numbers and asks them a set of questions that they can respond to, by using their telephone keypad....
488 B  
Linux Software  -  Total Video Converter Mac Free 3.5.5
Total Video Converter Mac Free developed by EffectMatrix Ltd is the official legal version of Total Video Converter which was a globally recognized brand since 2006. Total Video Converter Mac Free is a free but powerful all-in-one video...
17.7 MB  
Programming  -  Cedalion for Linux 0.2.6
Cedalion is a programming language that allows its users to add new abstractions and define (and use) internal DSLs. Its innovation is in the fact that it uses projectional editing to allow the new abstractions to have no syntactic limitations.
471.04 KB  
Programming  -  Math::GMPf 0.29
Math::GMPf - perl interface to the GMP library's floating point (mpf) functions.
30.72 KB  
Programming  -  Net::Wire10 1.08
Net::Wire10 is a Pure Perl connector that talks to Sphinx, MySQL and Drizzle servers. Net::Wire10 implements the low-level network protocol, alias the MySQL wire protocol version 10, necessary for talking to one of the aforementioned...
30.72 KB  
Programming  -  logilab-common 0.56.2
a bunch of modules providing low level functionnalities shared among some python projects devel Please note that some of the modules have some extra dependencies. For instance, logilab.common.db will require a db-api 2.0 compliant...
174.08 KB  
Programming  -  OpenSSL for linux 1.0.0a
The OpenSSL Project is a collaborative effort to develop a robust, commercial-grade, full-featured, and Open Source toolkit implementing the Secure Sockets Layer (SSL v2/v3) and Transport Layer Security (TLS v1) protocols as well as a...
3.83 MB