You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
Paweł Bylica 5f4bda5cef Correct usage of LLVM builtin setjmp/longjmp. External setjmp was eliminated, hopefully Windows will be happier now. 10 years ago
..
evmcc Add 'evmjit/' from commit '7906cdd2e8ba2a46763d45e4df8c57642d5df84c' 10 years ago
libevmjit Correct usage of LLVM builtin setjmp/longjmp. External setjmp was eliminated, hopefully Windows will be happier now. 10 years ago
libevmjit-cpp Workaround for linker removing JIT callback functions 10 years ago
.gitignore Merge commit '271b4ccde44e491f7daae3a097e3345d9a856c0d' into evmjit 10 years ago
CMakeLists.txt Add first instruction index to BasicBlock 10 years ago
LICENSE.md Merge commit '8cb2a56764220439033c62875b69c5d657cb395e' into evmjit 10 years ago
README.md Merge commit 'bb9df15d75281e9240b8ab5f21286948c00958d0' into evmjit 10 years ago

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

Linux / Ubuntu

  1. Install llvm-3.5-dev package
  2. For Ubuntu 14.04 using LLVM deb packages source: http://llvm.org/apt
  3. For Ubuntu 14.10 using Ubuntu packages
  4. Build library with cmake
  5. mkdir build && cd $_
  6. cmake .. && make
  7. Install library
  8. sudo make install
  9. sudo ldconfig

OSX

  1. Install llvm35
  2. brew install llvm35 --disable-shared --HEAD
  3. Build library with cmake
  4. mkdir build && cd $_
  5. cmake -DLLVM_DIR=/usr/local/lib/llvm-3.5/share/llvm/cmake .. && make
  6. Install library
  7. make install (with admin rights?)

Windows

Ask me.

Options

Options to evmjit library can be passed by environmental variables, e.g. EVMJIT_CACHE=0 testeth --jit.

Option Default value Description
EVMJIT_CACHE 1 Enables on disk cache for compiled EVM objects
EVMJIT_DUMP 0 Dumps generated LLVM module to standard output