Lu Guanqun
699ab0045c
fix Mac build error for evmjit
We need to include <iostream>, otherwise it complains:
cpp-ethereum/evmjit/libevmjit/ExecutionEngine.cpp:147:2:
error: implicit instantiation of undefined template
'std::__1::basic_ostream<char, std::__1::char_traits<char> >'
clog(JIT) << " + " << std::chrono::duration_cast<std::chrono::milliseconds>(executionEndTime - executionStartTime).cou...
^
cpp-ethereum/evmjit/libevmjit/Utils.h:15:23: note:
expanded from macro 'clog' #define clog(CHANNEL) std::ostream(nullptr)
^
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../include/c++/v1/iosfwd:111:33: note:
template is declared here
class _LIBCPP_TYPE_VIS_ONLY basic_ostream;
^
10 years ago
Paweł Bylica
625095473a
Remove dead jump table block
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
ae7919722a
Workaround for linker removing JIT callback functions
10 years ago
Paweł Bylica
ce7edb4575
Warning fix
10 years ago
Paweł Bylica
522d5b5bb0
Remove Windows testing code
10 years ago
Paweł Bylica
6507a8b014
Get some information from Git about build version
10 years ago
Paweł Bylica
0210ae382c
Fix memory index having type i256
10 years ago
Paweł Bylica
a8f649c3ac
uint128 implementation for Windows and fixes arithmetic functions
10 years ago
Paweł Bylica
237fdb9949
Install evmjit.dll (called RUNTIME) on Windows
10 years ago
Paweł Bylica
00415c95b7
Fix type mismatch for shift operator instruction
10 years ago
Paweł Bylica
0737cc778b
Fix memory index having type i256
10 years ago
Paweł Bylica
360b15e5f6
Windows fixes: DLL exports and cmake options
10 years ago
Paweł Bylica
3ec710bf49
Check if uint128 is enabled
10 years ago
Paweł Bylica
725c65b31f
Remove gmp dependency
10 years ago
Paweł Bylica
a0736c2468
New addmod algorithm
10 years ago
Paweł Bylica
6c2aa13e11
New mulmod algorithm
10 years ago
Paweł Bylica
b4804e4939
Merge remote-tracking branch 'origin/evmjit' into evmjit
Conflicts:
evmjit/libevmjit/Arith256.cpp
evmjit/libevmjit/Arith256.h
10 years ago
Paweł Bylica
b118e4d50a
New exp algorithm
10 years ago
Paweł Bylica
4217843714
New unsigned div algorithm
10 years ago
Paweł Bylica
ebaeffe00a
Reimplementation of sdiv. Delegates work to div.
10 years ago
Paweł Bylica
a42c72464d
Combine div & mod into one function
10 years ago
Paweł Bylica
1990dde405
Change JIT C interface. Create ExecutionEngine on heap to allow one-pass copy of return data.
10 years ago
Paweł Bylica
06048c51a6
Change JIT return codes, use negative values for errors
10 years ago
Paweł Bylica
0f294ec820
Reorder JIT runtime data fields
10 years ago
Paweł Bylica
3e8c30d2fb
Flatten JIT RuntimeData
10 years ago
Paweł Bylica
06a3b8196d
Keep timestamp and block number as uint64 types
10 years ago
Paweł Bylica
8b72dd603f
Pass return data pointer using callData field
10 years ago
Paweł Bylica
d1d68505da
Do not accept contract code with gas greater than 2^63. Keep gas counter in int64 type.
10 years ago
Paweł Bylica
06a700c060
Use uint64 type for call data size
10 years ago
Paweł Bylica
a751baadcb
Use uint64 type for code size
10 years ago
Paweł Bylica
615bec97c0
LLVM lshr bug workaround
10 years ago
Paweł Bylica
dbabf56a68
Merge remote-tracking branch 'origin/develop-go' into develop
Conflicts:
libevmjit/CMakeLists.txt
10 years ago
Paweł Bylica
fb3dbcf341
Insert evmjit_run function declaration directly to vm_jit.go file
10 years ago
Paweł Bylica
cc89778189
Cleanup JIT interface header file
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
3dcf30463b
Removing boost dependency from libevmjit
10 years ago
Paweł Bylica
a21362a7f8
Removing boost dependency from libevmjit
10 years ago
Paweł Bylica
b3bad23757
Implementation of SDIV & SMOD with gmp
10 years ago
Paweł Bylica
a2822a37bf
Implementation of ADDMOD & MULMOD with gmp
10 years ago
Paweł Bylica
939e94a101
Implementation of EXP with gmp
10 years ago
Paweł Bylica
100de855ec
Implementation of DIV & MOD with gmp library
10 years ago
Paweł Bylica
de186f1ed1
Internal mul256 implementation
10 years ago
Paweł Bylica
003ba383c3
Do not copy return data inside JIT
10 years ago
Paweł Bylica
0ba0833138
Limited old cached objects detection
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
5152596cbd
JUMPI fix: an additional item was left on stack when condition is false
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
683de93578
Rename env_getExtCode -> env_extcode according to other renames
10 years ago
Paweł Bylica
f78fbbf50e
Fix BYTE instruction
10 years ago