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

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

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.