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
95d3669d31
Constant folding in div-based operators disabled
There is a bug in LLVM arbitrary precision division algorithm.
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
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
b7d8f9851f
Update cmake scripts, use static list of source files
10 years ago
Paweł Bylica
d6f4b07a07
Cache pointers for emited functions
10 years ago
Paweł Bylica
48d152a199
Add library version stamp to cached objects
10 years ago
Paweł Bylica
6b7787cd2b
Ad-hoc constant fold arithmetic instructions
10 years ago
Paweł Bylica
41f9b66066
Mark arithmetic functions with nounwind and readnone attributes
10 years ago
Paweł Bylica
1923883034
Allow mixing debug version of evmjit with release version of LLVM library
10 years ago
Paweł Bylica
96e0e52e43
Increase memory limit to 2^33 (8GB)
10 years ago
Paweł Bylica
32a4bebb79
Fix memory leaks
10 years ago
Paweł Bylica
5524317d52
Delete old memory pointers
10 years ago
Paweł Bylica
164ef01a9c
Free memory data, place Runtime in ExecutionEngine
10 years ago
Paweł Bylica
8da5fc27b0
Fix wrong llvm::Twine usage (or MSVC bug)
10 years ago
Paweł Bylica
c4b9aca7ee
Change Runtime interface
10 years ago
Paweł Bylica
f84523cb51
Init memory array in LLVM
10 years ago
Paweł Bylica
3308917095
Quadratic memory cost
10 years ago
Paweł Bylica
2aa0548674
Reimplementation of mem.require helper function. Uses 64-bit arithmetics.
10 years ago
Paweł Bylica
5ddbb10ce5
Remove Runtime pointer from memory helper functions
10 years ago
Paweł Bylica
3197dca8a5
Remove old memory backend
10 years ago
Paweł Bylica
2293923a64
Load memory data from Array memory
10 years ago
Paweł Bylica
6d337d274a
Using Array as a second memory
10 years ago
Paweł Bylica
41f1e0d035
Create Array for memory
10 years ago
Paweł Bylica
e01a122b70
Remove external jmpBuf pointer
10 years ago
Paweł Bylica
dac3759ba9
Extract gas pointer from RuntimeData
10 years ago
Paweł Bylica
8bc19786d0
Pass jmpbuf as mem.require argument
10 years ago
Paweł Bylica
ffc2120149
Update gas.check helper function: Runtime pointer not needed
10 years ago
Paweł Bylica
04309bcaf6
Move Array helper to separated compilation unit
10 years ago
Paweł Bylica
40c63ba549
Unused class removed
10 years ago
Paweł Bylica
0602fcde6e
Reimplement no-op version of DLOG to avoid C++ compiler warning
10 years ago
Paweł Bylica
4b2db3a63e
Fix logging on GCC, release variant added
10 years ago
Paweł Bylica
341ead02fa
Using logs utils from LLVM
10 years ago
Paweł Bylica
4597f1e814
Typo fix
10 years ago
Paweł Bylica
d382f9a98f
Fixing EVMJIT build on Mac OS
10 years ago
Paweł Bylica
7c2008b664
Free memory allocated for dynamic stack
10 years ago