Ethereum Just in Time Virtual Machine (Evacuated from NSA/Microsoft Github)

anonymous 76e5b4c6e9 working building preliminary debian package 7 anni fa
cmake 18c9072dc8 ProjectLLVM: Do not build LLVM tools 7 anni fa
debian 76e5b4c6e9 working building preliminary debian package 7 anni fa
docker 9fe95fc390 PoC of building inside docker container 8 anni fa
docs 53bc278de7 EVM-C: Extend docs of evm_update_fn 8 anni fa
examples 6419844268 Do not pollute the header with examplevm_create() 7 anni fa
include 6419844268 Do not pollute the header with examplevm_create() 7 anni fa
libevmjit cb445d28c0 EVM-C: Remove get_code_status() 7 anni fa
scripts 454d85498b EVM-C: Add examples of evm_result usages 7 anni fa
tests 3cf4dcf1d3 evmjit-standalone: Link with ncurses on Linux 7 anni fa
.clang-format 1b37c05a28 Copy .clang-format from cpp-ethereum 7 anni fa
.gitignore cdc03a9638 Improve LLVM build experience on CIs 8 anni fa
.travis.yml a771ba4477 Travis CI: Add new GitHub token 7 anni fa
CMakeLists.txt 881e737970 CMake: Remove MAP_IMPORTED_CONFIG mapping 7 anni fa
LICENSE.md 26e85c2c3d Create LICENSE.md 10 anni fa
README.md 541f2f799b Explain the documentation in the README 7 anni fa
appveyor.yml cd8f81f852 Improve LLVM project configuration 8 anni fa
circle.yml a901a93a58 Circle CI: Bump deps cache id 7 anni fa
wercker.yml 5009d8abe9 Wercker CI (#72) 8 anni fa

README.md

The Ethereum EVM JIT

EVM JIT is a library for just-in-time compilation of Ethereum EVM code. It can be used to substitute classic interpreter-like EVM Virtual Machine in Ethereum client.

Build

The EVMJIT project uses CMake tool to configure the build and depends only on the LLVM library. LLVM installation is not needed, because CMake will download and build LLVM from source. However, LLVM requires Python interpreter to be built.

mkdir build
cd build
cmake ..
cmake --build . --config RelWithDebInfo

Options

Options to evmjit library can be passed by environmental variable, e.g. EVMJIT="-help" testeth --jit.

Documentation

The documentation can be built using Doxygen:

doxygen docs/Doxyfile

And it is also available online to view.