Projects tagged ‘jit’ and ‘llvm’


[6 total ]

2 Users
 

LLVM-Lua, is a JIT and static Lua compiler that uses Low Level Virtual Machine (LLVM) as the compiler backend.
Created about 1 year ago.

0 Users

What Castore is ?Castore is a Just-In-Time (JIT) compiler which aim is to be as pluggable and language/machine depended as possible. In order to perform this task the compiler has been splitted in ... [More] three level: High language level (bytecode/source code instructions) Middle language level (ml instructions - ml language) Low language level (machine instructions) Except for the middle language level the other two level should be able to work with different languages. For example at bytecode level castore should be able to run both Java Bytecode and Ecma-335 Bytecode (aka CIL). For this reason different front-end (decoder+runtime) should be potentially used. Machine language should also be generated for a wide range of different machines and Operatign Systems. In order to perform this task castore should be able to use different back-ends to generate machine code. Why another JIT compiler?This is a very good question. Mostly because I enjoy programming and I love the magic behind a compiler. Furthermore I'd like to produce a fast JIT-Compiler that can be used by many different language as Front-End. Where to startI suggest you from the installation process by clicking here if you are a standard user ot by clicking here if you are a developer interested in the last castore version. [Less]
Created about 1 month ago.

0 Users

This project is part of the Google Summer of Code 2007. The goal of this project is to modify the QEMU dynamic binary translator to use components of the LLVM compiler infrastructure to turn it into ... [More] a highly optimizing dynamic binary translator in order to increase the performance of QEMU even further. Instead of directly emitting code for the host architecture QEMU is running on, the target code is first translated to LLVM IR, then a selection of LLVM's optimization functions are applied to the IR and the LLVM JIT is used to generate code from the optimized IR for the host architecture. Since the translation to LLVM IR, the optimization and the code generation comes at a cost of an increased execution time, it's not feasible to apply this process to any piece of code, else the execution time would be even lower. Especially since on average a program spends 90% of its time within 10% of the code it is critical to get these 10% to execute fast, for the other 90% of the code parts might only execute once or only a few times and the extra time spent to generate the optimized code would not pay off. Therefore the idea is to identify the "hotspots" of the program. The most simple way is to count how many times a piece of code has been executed and performing an optimizing translation once a certain threshold is hit or falling back to the current binary translation of QEMU if not. Another approach could be to instrument the target code at LLVM IR level to get an execution profile (LLVM already contains support for profiling) and use it to identify hotspots and to be able to perform profile-guided optimizations during runtime. Possibly a combination of both approaches will lead to the biggest overall performance gain. Detailed speed measurements will be performed in order to evaluate the efficiency of the different approaches, especially in comparison to the approach currently used by QEMU. [Less]
Created 12 months ago.

0 Users

A compiler for the algo language used in EPITA, a french computer engineering school, to describe algorithms. The language is kind of related to Pascal, as these two languages really looks like the ... [More] same, even if the algo language is french based instead of english based. See (FR) http://nathalie.bouquet.free.fr/epita/algo/langage/structure.php for a more detailed explanation. This project is based on the boost C++ libraries and the LLVM compiler subsystem to create a robust and efficient compiler, which can interact with other programming languages like C or Pascal. [Less]
Created 9 months ago.

0 Users

Secure-VM is a safe virtual machine based on llvm written in c++. Note: The code was built against llvm-2.5. Using the current svn version probably will not work.
Created about 1 month ago.

0 Users

A project which aims to construct a LPC driver running on top of the LLVM framework. It will make a strong attempt at maintaining close to backward compatibility at the language level with the ... [More] existing MudOS flavor of the language (though there might be some differences) while aiming at modernizing the driver technology and introducing a few new ideas. [Less]
Created 12 months ago.