LLJVM

Low Level Java Virtual Machine
Download

LLJVM Ranking & Summary

Advertisement

  • Rating:
  • Publisher Name:
  • David A. Roberts
  • File Size:
  • 250 KB

LLJVM Tags


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