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 |
Gav Wood
|
1f40799620
|
Squashed 'evmjit/' changes from 533531b..035c376
035c376 All jump support code paths tested. Thanks @CJentzsch.
5b4e130 Function rename
30f3e0d Fix evmcc
7b9d495 BLOCKHASH instruction
681adc1 Remove PREVHASH instruction
024639b Create bad jump block on demand
c21237f Remove unnecessary jump dest map. Create jump table block on demand.
ed614c5 Mandatory JUMPDEST for jumps and new static jumps recognition strategy
86553cd Remove terminate() function
5db00ad New CALL/CREATE depth limit semantics
e5d0fb3 Alloc stack elemnent for external function call argument on demand
4f4fc63 Alloc stack elemnent for external function call argument on demand
b6248cc Detemplatify createCall helper
b77a975 Create helper/external functions on demand
9bf0b75 Create helper/external functions on demand
git-subtree-dir: evmjit
git-subtree-split: 035c3760e0
|
10 years ago |
Paweł Bylica
|
035c3760e0
|
All jump support code paths tested. Thanks @CJentzsch.
|
10 years ago |
Paweł Bylica
|
7b9d4956a5
|
BLOCKHASH instruction
|
10 years ago |
Paweł Bylica
|
681adc12af
|
Remove PREVHASH instruction
|
10 years ago |
Paweł Bylica
|
024639bef6
|
Create bad jump block on demand
|
10 years ago |
Paweł Bylica
|
c21237f7b0
|
Remove unnecessary jump dest map. Create jump table block on demand.
|
10 years ago |
Paweł Bylica
|
ed614c5d2a
|
Mandatory JUMPDEST for jumps and new static jumps recognition strategy
|
10 years ago |