LLJVMLow Level Java Virtual Machine | |
Download |
LLJVM Ranking & Summary
Advertisement
LLJVM Tags
- virtual string machine Library Java library Java jvm low level access Low Level Format Low Level virtual machine Virtual Machine Monitor Virtual Machine Statistics Virtual Machine Manager low low-level noise Java virtual microscope Java Virtual Machine create virtual machine run virtual machine Parallels virtual machine Low to Agr tweak virtual machine virtual machine tweak Virtual Machine Scanner Manage Virtual Machine Java Machine Multiple Virtual Machine Virtual-Machine Runtime Low-Level Concurrency Virtual Machine Detector Virtual Machine Activity Hyper-V Virtual Machine create virtual machine code shared virtual machine virtual machine image analyzer system low-level access low level function virtual machine creator refresh virtual machine resize virtual machine move virtual machine virtual machine latency virtual machine performance Migrate Virtual Machine clone virtual machine virtual machine cloner copy virtual machine low level JVM compress virtual machine java virtual machine launcher
LLJVM Description
LLJVM provides a set of tools and libraries for running comparatively low level languages (such as C) on the JVM. The C to JVM bytecode compilation provided by LLJVM involves several steps. Source code is first compiled to LLVM intermediate representation (IR) by a frontend such as llvm-gcc or clang. LLVM IR is then translated to Jasmin assembly code, linked against other Java classes, and then assembled to JVM bytecode. The use of LLVM IR as the intermediate representation allows more information about the source program to be preserved, compared to other methods which use MIPS binary as the intermediate representation. For example, functions are mapped to individual JVM methods, and all function calls are made with native JVM invocation instructions. This allows compiled code to be linked against arbitrary Java classes, and Java programs to natively call individual functions in the compiled code. It also allows programs to be split across multiple classes (comparable to dynamic linking), rather than statically linking everything into a single class. To see what LLJVM is all about you can get the library and the demo, put them in the same folder then run the demo via command-line using the 'java -jar lljvm-demo-0.2.jar' command.
LLJVM Related Software