Paweł Bylica
62af7a08a1
Skip all STOPs in the end in EVM JIT compiler
10 years ago
Paweł Bylica
17f66be28a
Disable some warnings in LLVM headers for GCC/clang compilers.
10 years ago
Paweł Bylica
8b747d165c
Protect EVM JIT cache with mutex.
Fixes ethereum/cpp-ethereum#2086 .
10 years ago
Paweł Bylica
af95ae6a2d
Remove memory leak detector. Is it not thread-safe.
10 years ago
arkpar
4787970b0d
codeHash in ExtVM
10 years ago
winsvega
bf6ec8e32a
evmJit warnings fix
10 years ago
Paweł Bylica
f042abc3e7
Kill steps limit option in VM.
10 years ago
Paweł Bylica
72856a8af6
Change the way execution results are collected.
Changes handling ExecutionResult by Executive. From now execution results are collected on if a storage for results (ExecutionResult) is provided to an Executiove instance up front. This change allow better output management for calls - VM interface improved.
10 years ago
Paweł Bylica
1f17c569b9
Change VM interface to return a copy of output.
10 years ago
Paweł Bylica
f183ac4fbb
Cleanup unused code.
10 years ago
Paweł Bylica
3db8048627
Remove LLVM cmake files workaround.
10 years ago
Paweł Bylica
2bf4c443a9
Apply recent VM interface changes to EVM JIT.
10 years ago
Gav Wood
05ea9941c9
Move non-cryptopp dependent stuff into devcore.
10 years ago
Paweł Bylica
465179e6f9
Avoid forbidden function pointer cast.
10 years ago
Paweł Bylica
a53d50e9e5
Adjustments for llvm::IRBuilder API changes.
10 years ago
Paweł Bylica
073284feb0
MSVC fixes.
10 years ago
Paweł Bylica
4f67ec63c7
Do not override CMAKE_CXX_FLAGS in evmjit.
10 years ago
Paweł Bylica
83d27ed2e2
Remove evmcc tool.
10 years ago
Paweł Bylica
394676a1db
Better eth <-> jit integer conversions.
10 years ago
Paweł Bylica
5046dd4bb0
EVM JIT C++ interface in one header.
10 years ago
Paweł Bylica
b8a66c7f3e
JIT implementation cleanups.
10 years ago
Paweł Bylica
bcc0cfd055
Code migration.
10 years ago
Paweł Bylica
8e4881bcd0
Code migration.
10 years ago
Paweł Bylica
75e4e34647
Better style of ExecutionEngine initialization. Some eth::jit -> evmjit namespace transfers.
10 years ago
Paweł Bylica
d43991723f
Fix cache mode handling.
10 years ago
Paweł Bylica
3cb8f3a4b2
Merge ExecutionContext and Runtime classes
10 years ago
Paweł Bylica
b96d6ff088
Extract execution context from ExecutionEngine::run.
10 years ago
Paweł Bylica
9b66cea1c8
Enable function inlining optimization.
10 years ago
Paweł Bylica
002d9a9d69
Handle more edge cases in DIV, etc.
10 years ago
Paweł Bylica
f19c7c4981
Add protection against hardware division by 0.
10 years ago
Paweł Bylica
7dd279e64e
Remove unused code
10 years ago
Paweł Bylica
910732c2cb
Remove div by 0 check in udivrem implementation.
10 years ago
Paweł Bylica
3b8e2996a5
Lower ADDMOD & MULMOD (limited) to a function call in the LLVM pass after optimization.
10 years ago
Paweł Bylica
f041e68cfe
Add edge DIV/MOD cases. Migrate to new udivrem function.
10 years ago
Paweł Bylica
7de220228b
Lower MOD, SDIV & SMOD to a function call in the LLVM pass after optimization.
10 years ago
Paweł Bylica
03ea86c855
Eliminate dead instructions replaced in AP arithmetic lowering.
10 years ago
Paweł Bylica
483403cc91
Lower DIV to a function call in the LLVM pass after optimization.
10 years ago
Paweł Bylica
855d2f677c
VM cleanups
10 years ago
Paweł Bylica
6cf5976515
Remove gas counter from VM interface (VMFace)
10 years ago
Paweł Bylica
e659d3e761
Copy gas counter to local function stack (alloca)
10 years ago
Paweł Bylica
08d94e0f52
Always exit through exit blocks (Stop, Abort, etc).
Fixes ethereum/evmjit#6 .
10 years ago
Paweł Bylica
77f9d13977
Unpack runtime data at front. Not used one are removed by DCE pass.
10 years ago
Paweł Bylica
1e6659d1a9
Allow selecting VM kind manually
10 years ago
Paweł Bylica
898682d04d
JIT class: the EVM JIT facade.
The JIT class added, future public EVM JIT library interface. Currently it supports queries about EVM code status.
10 years ago
Paweł Bylica
73cc4e5b97
Return divrem results using vector <2 x i256>
10 years ago
chriseth
2111cd4894
Move assembly related files to libevmasm and Params.h/.cpp to libevmcore.
10 years ago
Paweł Bylica
78c97ea0af
Implementation of MUL workaround in "LLVM pass" way.
10 years ago
Paweł Bylica
008ca8d4f9
Move calldataload procedure to LLVM IR
10 years ago
Paweł Bylica
e968c65372
Remove unused stuff
10 years ago
Paweł Bylica
9aecd10a66
Revert not needed LLVM workarounds
10 years ago