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

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

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.