Paweł Bylica
|
4bcee00be9
|
#include cleanups
|
10 years ago |
Paweł Bylica
|
9640644f72
|
Place warning pragmas for LLVM includes in separated files
|
10 years ago |
Paweł Bylica
|
8fd2b949c1
|
Fix cache bug: code was always compiled
|
10 years ago |
Paweł Bylica
|
83701a2fcd
|
Stats for execution states times
|
10 years ago |
Paweł Bylica
|
f70b7f5fd2
|
Use code (and code size) as constants
|
10 years ago |
Paweł Bylica
|
d27352b8e1
|
Start of stats collector
|
10 years ago |
Paweł Bylica
|
bb9df15d75
|
Generate BuildInfo header and display some information about evmjit library on demand
|
10 years ago |
Paweł Bylica
|
970939ddb7
|
Fix after-merge problems
|
10 years ago |
Paweł Bylica
|
c36cad8469
|
Environment options for EVM JIT updated:
- EVMJIT_CACHE=0 disables disk cache, default 1
- EVMJIT_DUMP=1 dumps LLVM module to error output, default 0
|
10 years ago |
Paweł Bylica
|
c914c877e3
|
Add code hash to RuntimeData. JIT is using it as an code identifier (do not need to invent any internal hashing)
|
10 years ago |
Paweł Bylica
|
64532b6b0a
|
Environment options for EVM JIT updated:
- EVMJIT_CACHE=0 disables disk cache, default 1
- EVMJIT_DUMP=1 dumps LLVM module to error output, default 0
|
10 years ago |
Paweł Bylica
|
5e29eef349
|
Replacing code references (usually vector<byte>&) with code_iterator pair. Code is now extracted from RuntimeData what removes copy in C interface.
|
10 years ago |
Paweł Bylica
|
25d8873440
|
Merge commit '3dcf30463b961e3fe47b48b2024bbf3d5b5ce675' into evmjit
Conflicts:
evmjit/CMakeLists.txt
evmjit/libevmjit-cpp/CMakeLists.txt
evmjit/libevmjit-cpp/Env.cpp
evmjit/libevmjit-cpp/JitVM.cpp
evmjit/libevmjit/Arith256.cpp
evmjit/libevmjit/BasicBlock.cpp
evmjit/libevmjit/BasicBlock.h
evmjit/libevmjit/CMakeLists.txt
evmjit/libevmjit/Cache.cpp
evmjit/libevmjit/Common.h
evmjit/libevmjit/Compiler.cpp
evmjit/libevmjit/ExecutionEngine.cpp
evmjit/libevmjit/ExecutionEngine.h
evmjit/libevmjit/Ext.cpp
evmjit/libevmjit/Ext.h
evmjit/libevmjit/Runtime.cpp
evmjit/libevmjit/Runtime.h
evmjit/libevmjit/RuntimeData.h
evmjit/libevmjit/Utils.cpp
evmjit/libevmjit/Utils.h
evmjit/libevmjit/interface.cpp
|
10 years ago |
Paweł Bylica
|
003ba383c3
|
Do not copy return data inside JIT
|
10 years ago |
Paweł Bylica
|
84b6251181
|
Remove env_sha3 symbol reference in evmjit shared library to be build with no unresolved symbols
|
10 years ago |
Paweł Bylica
|
0f53e2153a
|
Environment variable options for EVM JIT:
export EVMJIT_CACHE_OFF=1 disables cache
export EVMJIT_DUMP_MODULE=1 dumps LLVM module to standard output
|
10 years ago |
Paweł Bylica
|
1861843a24
|
EVM JIT called from Go, env_sha3 callback works
|
10 years ago |
Paweł Bylica
|
9c244ed08e
|
Load cached object without compiling LLVM module
|
10 years ago |
Paweł Bylica
|
b8f9f3cffe
|
Fix warnings
|
10 years ago |
Paweł Bylica
|
ec30ce47af
|
Object cache
|
10 years ago |
Paweł Bylica
|
3df5a125fa
|
Do not compile LLVM module if machine code available in memory
|
10 years ago |
Paweł Bylica
|
6a22491af2
|
Clean up ExecutionEngine
|
10 years ago |
Paweł Bylica
|
28a062318c
|
Clean up ExecutionEngine
|
10 years ago |
Paweł Bylica
|
de024259c2
|
Clean up ExecutionEngine
|
10 years ago |
Paweł Bylica
|
ece7fe7782
|
Clean up ExecutionEngine
|
10 years ago |
Paweł Bylica
|
fe90c6f107
|
Clean up ExecutionEngine
|
10 years ago |
Paweł Bylica
|
9d9e73ac91
|
Using one ExecutionEngine to cache compiled contracts
|
10 years ago |
Paweł Bylica
|
6643af5224
|
Use code hash as main function name
|
10 years ago |
Paweł Bylica
|
75fa67200e
|
Fix compilation with LLVM pre-3.5 (Ubuntu 14.04) (reverted from commit 6094aa30ad )
|
10 years ago |
Paweł Bylica
|
6094aa30ad
|
Fix compilation with LLVM pre-3.5 (Ubuntu 14.04)
|
10 years ago |
Paweł Bylica
|
6543cc4bfc
|
Execution Engine cleanups (reverted from commit bd85efa299 )
|
10 years ago |
Paweł Bylica
|
2b83b75c4b
|
Object cache wit memory leaks
|
10 years ago |
Paweł Bylica
|
de22a0a132
|
Execution Engine cleanups
|
10 years ago |
Paweł Bylica
|
bd85efa299
|
Execution Engine cleanups
|
10 years ago |
Paweł Bylica
|
a4927609d7
|
Using llvm::ExecutionEngine::getFunctionAddress() instead of getPointerToFunction(). Cleanups.
|
10 years ago |
Paweł Bylica
|
8f3edbcdb3
|
Disable cache. It's broken.
|
10 years ago |
Paweł Bylica
|
c2699b32ee
|
Comment about MCJIT and caching pointers to entry functions
|
10 years ago |
Paweł Bylica
|
47d92e933a
|
Remove dummy int argument in entry function
|
10 years ago |
Paweł Bylica
|
2e1c90f828
|
Change the way entry function is called.
|
10 years ago |
Paweł Bylica
|
4a9d08d1b0
|
Change the way entry function is called.
|
10 years ago |
Paweł Bylica
|
70279f8679
|
Changes in setjmps
|
10 years ago |
Paweł Bylica
|
70348d9586
|
Fix cache key and do not compile to LLVM module when it is not needed
|
10 years ago |
Paweł Bylica
|
da02a1869d
|
Cache key is contract code. Does not work
|
10 years ago |
Paweł Bylica
|
7c9cf6e5e7
|
Trying to cache compiled contracts with pointer to code as a key (it's not a good idea)
|
10 years ago |
Paweł Bylica
|
2a7111ce41
|
ExecBundle - all information needed to execute a JIT-compiled contracts
|
10 years ago |
Artur Zawłocki
|
63d699792c
|
added missing <csetjmp>
|
10 years ago |
Paweł Bylica
|
2fd2446330
|
Simplify ExecutionEngine interface. It is possible to pass raw code instead of LLVM module.
|
10 years ago |
Paweł Bylica
|
cc6bb83fc6
|
Simplify JIT logs
|
10 years ago |
Paweł Bylica
|
969f1b54a3
|
The way runtime data is passed to jit'ed contract changed
|
10 years ago |
Paweł Bylica
|
bb6e603568
|
Updating ExecutionEngine interface
|
10 years ago |