Paweł Bylica
c56858f498
Merge ExecutionContext and Runtime classes
10 years ago
Paweł Bylica
e0c176f377
Extract execution context from ExecutionEngine::run.
10 years ago
Paweł Bylica
a0ca973274
Enable function inlining optimization.
10 years ago
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
4992aa21c0
Remove unused code
10 years ago
Paweł Bylica
499ab22637
Remove div by 0 check in udivrem implementation.
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
f7a4e27d46
Eliminate dead instructions replaced in AP arithmetic lowering.
10 years ago
Paweł Bylica
f72bfb461e
Lower DIV to a function call in the LLVM pass after optimization.
10 years ago
Paweł Bylica
624677eb42
Copy gas counter to local function stack (alloca)
10 years ago
Paweł Bylica
9496f645e2
Always exit through exit blocks (Stop, Abort, etc).
Fixes ethereum/evmjit#6 .
10 years ago
Paweł Bylica
854d088da9
Unpack runtime data at front. Not used one are removed by DCE pass.
10 years ago
Paweł Bylica
1b797cb381
Merge remote-tracking branch 'origin/pr/evmjit' into evmjit-develop
10 years ago
Paweł Bylica
9c97f20674
Allow selecting VM kind manually
10 years ago
Paweł Bylica
9ca47fe0cf
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
d97217dcbc
Return divrem results using vector <2 x i256>
10 years ago
chriseth
c3fe9ad112
Move assembly related files to libevmasm and Params.h/.cpp to libevmcore.
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
chriseth
d6f4eb1eef
Statically compile libevmjit-cpp.
10 years ago
Paweł Bylica
b4960f4f42
Add support for building with llvm-3.7-deb Debian package
10 years ago
Paweł Bylica
2b9eab188a
Remove some LLVM 3.5 bugs workarounds
10 years ago
Paweł Bylica
5cd3ee6e99
Port to LLVM 3.7
10 years ago
Paweł Bylica
d4d33c026b
Change instruction scheduler
Try different instruction scheduler in LLVM, other crashes sometimes.
Also parse command line options properly for random tests.
10 years ago
Paweł Bylica
a4d4b08d02
Fix stack limit check
10 years ago
Paweł Bylica
84fa7bc945
Control stack size limit
10 years ago
Paweł Bylica
3c1e1081ef
Add option to preload cache
10 years ago
Paweł Bylica
6e2447c976
Code cleanup
10 years ago
Paweł Bylica
bc13e986cd
Select list-burr LLVM instruction scheduler
Workaround for LLVM bug https://llvm.org/bugs/show_bug.cgi?id=22304
in source scheduler.
10 years ago
Paweł Bylica
0ab3995297
Do not subbalance twice
VM does not need to subbalance a caller. Balance tranfer is taken care on higher level.
10 years ago
Paweł Bylica
95d3669d31
Constant folding in div-based operators disabled
There is a bug in LLVM arbitrary precision division algorithm.
10 years ago
Gav Wood
fc9b0ae384
Merge branch 'develop' of github.com:ethereum/cpp-ethereum into develop
Conflicts:
mix/MixClient.cpp
10 years ago
Paweł Bylica
17cc7420a7
Fixes and workarounds
- Fix data copy: padding memory was not zero'd.
- Fix inter-block stack optimization: incorrect phi node in first block.
- Workaround incorrect llvm::APInt::urem() implementation.
10 years ago
Gav Wood
be4e3e0025
Extensive pathway for reporting transaction execution results.
10 years ago
Paweł Bylica
16c26613f1
Additional cache options: readonly, writeonly and clear.
10 years ago
Paweł Bylica
47399e6fcb
Better style
10 years ago
Paweł Bylica
99252e6756
Workaround for buggy LLVM ctlz used in counting EXP cost
10 years ago
Paweł Bylica
1224e20c7f
Do not update the stack after it was freed by RETURN instruction
10 years ago
Paweł Bylica
19d6fd5a51
Style corrections, optimized but notworking mul256 implementation removed
10 years ago
Paweł Bylica
02316e3c21
PoC-9 call depth handling update
10 years ago
Paweł Bylica
770026c9f2
Update gas costs for PoC-9: set nonzero storage clear cost
10 years ago
Paweł Bylica
4954ae2cda
Update gas costs for PoC-9: changes in CALL gas price support
10 years ago
Paweł Bylica
e4a2386b99
Update gas costs for PoC-9 (WIP)
10 years ago
Paweł Bylica
546b799d6f
Merge remote-tracking branch 'upstream/develop' into evmjit
10 years ago
Paweł Bylica
b7d8f9851f
Update cmake scripts, use static list of source files
10 years ago