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
chriseth
229b2486a4
Statically compile libevmjit-cpp.
10 years ago
Paweł Bylica
f86009c9e8
Add support for building with llvm-3.7-deb Debian package
10 years ago
Paweł Bylica
56c3d18582
Remove some LLVM 3.5 bugs workarounds
10 years ago
Paweł Bylica
777fcbd12e
Port to LLVM 3.7
10 years ago
Paweł Bylica
7226fe23aa
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
4cbc52afcf
Fix stack limit check
10 years ago
Paweł Bylica
dda4ccff3e
Control stack size limit
10 years ago
Paweł Bylica
d1f9f0290f
Add option to preload cache
10 years ago
Paweł Bylica
bd1e66dd11
Code cleanup
10 years ago
Paweł Bylica
8926a979ed
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
a86fa46e89
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
cc1be11d6c
Constant folding in div-based operators disabled
There is a bug in LLVM arbitrary precision division algorithm.
10 years ago
Paweł Bylica
609a811753
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
1619d230c3
Extensive pathway for reporting transaction execution results.
10 years ago
Paweł Bylica
4b37ed9e16
Additional cache options: readonly, writeonly and clear.
10 years ago
Paweł Bylica
06a17b1040
Better style
10 years ago
Paweł Bylica
a64b4d9f71
Workaround for buggy LLVM ctlz used in counting EXP cost
10 years ago
Paweł Bylica
52ca0bac51
Do not update the stack after it was freed by RETURN instruction
10 years ago
Paweł Bylica
7476979d0b
Style corrections, optimized but notworking mul256 implementation removed
10 years ago
Paweł Bylica
e93a87e08a
PoC-9 call depth handling update
10 years ago
Paweł Bylica
e7cff33889
Update gas costs for PoC-9: set nonzero storage clear cost
10 years ago
Paweł Bylica
1f231bafcc
Update gas costs for PoC-9: changes in CALL gas price support
10 years ago
Paweł Bylica
f1a1fe22a6
Update gas costs for PoC-9 (WIP)
10 years ago
CJentzsch
ad1fe7840f
fix evmjit build
10 years ago
CJentzsch
e938bbc8c6
fix evmjit build
10 years ago
Paweł Bylica
c97d2d44d3
Update cmake scripts, use static list of source files
10 years ago
CJentzsch
f15e53a8d6
fix evmjit build
10 years ago
Paweł Bylica
58e9beb98e
Cache pointers for emited functions
10 years ago
Paweł Bylica
24ba049938
Add library version stamp to cached objects
10 years ago
Paweł Bylica
5e3cf7f297
Ad-hoc constant fold arithmetic instructions
10 years ago
Paweł Bylica
cf236b6f9c
Mark arithmetic functions with nounwind and readnone attributes
10 years ago
Paweł Bylica
6d6256f83b
Allow mixing debug version of evmjit with release version of LLVM library
10 years ago