Paweł Bylica
|
25b080ee87
|
Handle more edge cases in DIV, etc.
|
10 years ago |
Paweł Bylica
|
edfb49e3ef
|
Add protection against hardware division by 0.
|
10 years ago |
Paweł Bylica
|
d8da43e939
|
Lower ADDMOD & MULMOD (limited) to a function call in the LLVM pass after optimization.
|
10 years ago |
Paweł Bylica
|
f1428f804a
|
Add edge DIV/MOD cases. Migrate to new udivrem function.
|
10 years ago |
Paweł Bylica
|
2603d3afbe
|
Lower MOD, SDIV & SMOD to a function call in the LLVM pass after optimization.
|
10 years ago |
Paweł Bylica
|
f72bfb461e
|
Lower DIV to a function call in the LLVM pass after optimization.
|
10 years ago |
Paweł Bylica
|
9496f645e2
|
Always exit through exit blocks (Stop, Abort, etc).
Fixes ethereum/evmjit#6.
|
10 years ago |
Paweł Bylica
|
463025e15d
|
Implementation of MUL workaround in "LLVM pass" way.
|
10 years ago |
Paweł Bylica
|
f1d8fbefbf
|
Move calldataload procedure to LLVM IR
|
10 years ago |
Paweł Bylica
|
228db6bc07
|
Remove unused stuff
|
10 years ago |
Paweł Bylica
|
f846adf915
|
Revert not needed LLVM workarounds
|
10 years ago |
Paweł Bylica
|
2b9eab188a
|
Remove some LLVM 3.5 bugs workarounds
|
10 years ago |
Paweł Bylica
|
84fa7bc945
|
Control stack size limit
|
10 years ago |
Gav Wood
|
be4e3e0025
|
Extensive pathway for reporting transaction execution results.
|
10 years ago |
Paweł Bylica
|
4954ae2cda
|
Update gas costs for PoC-9: changes in CALL gas price support
|
10 years ago |
Paweł Bylica
|
32a4bebb79
|
Fix memory leaks
|
10 years ago |
Paweł Bylica
|
ffc2120149
|
Update gas.check helper function: Runtime pointer not needed
|
10 years ago |
Paweł Bylica
|
341ead02fa
|
Using logs utils from LLVM
|
10 years ago |
Paweł Bylica
|
7c2008b664
|
Free memory allocated for dynamic stack
|
10 years ago |
Gav Wood
|
2c6b18f01b
|
Add EVMJIT.
|
10 years ago |
Paweł Bylica
|
fc5b300d38
|
Optimizer: separate LLVM IR optimization passes from compiler
|
10 years ago |
Paweł Bylica
|
93cb4866fd
|
Includes reordering, GCC conversion warnings enabled
Includes order as described in Coding Standards of cpp-ethereum project.
GCC warnings about lossy conversions enabled.
|
10 years ago |
Paweł Bylica
|
f47cd20e8e
|
Correct usage of LLVM builtin setjmp/longjmp. External setjmp was eliminated, hopefully Windows will be happier now.
|
10 years ago |
Paweł Bylica
|
4bcee00be9
|
#include cleanups
|
10 years ago |
Paweł Bylica
|
f70b7f5fd2
|
Use code (and code size) as constants
|
10 years ago |
Paweł Bylica
|
625095473a
|
Remove dead jump table block
|
10 years ago |
Paweł Bylica
|
3cbe1186cc
|
Pass gas counter to env_call as int64*
|
10 years ago |
Paweł Bylica
|
494e96a89c
|
Pass gas counter to env_create as int64*
|
10 years ago |
Paweł Bylica
|
407cae129f
|
Count gas using int64
|
10 years ago |
Paweł Bylica
|
27ca018c35
|
Add first instruction index to BasicBlock
|
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
|
00415c95b7
|
Fix type mismatch for shift operator instruction
|
10 years ago |
Paweł Bylica
|
a42c72464d
|
Combine div & mod into one function
|
10 years ago |
Paweł Bylica
|
0f294ec820
|
Reorder JIT runtime data fields
|
10 years ago |
Paweł Bylica
|
06a3b8196d
|
Keep timestamp and block number as uint64 types
|
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
|
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
|
5152596cbd
|
JUMPI fix: an additional item was left on stack when condition is false
|
10 years ago |
Paweł Bylica
|
f78fbbf50e
|
Fix BYTE instruction
|
10 years ago |
Gav Wood
|
695751672c
|
More consistency!
|
10 years ago |
Paweł Bylica
|
98a30815ac
|
Cleanups
|
10 years ago |
Paweł Bylica
|
6fee45a3e3
|
Set "jump dest" flag in constructor of BasicBlock
|
10 years ago |
Paweł Bylica
|
f0008a3124
|
Use iterators in BasicBlock
|
10 years ago |
Paweł Bylica
|
be7713ac33
|
Use iterators in basic block compilation
|
10 years ago |
Paweł Bylica
|
098632804d
|
Refactor / rename
|
10 years ago |
Paweł Bylica
|
bb37986cad
|
Rewrite basic block creation code
|
10 years ago |
Paweł Bylica
|
b4284f05dc
|
skipPushData() helper function
|
10 years ago |