artur-zawlocki
|
71ccd3f353
|
Propagation of values between basic blocks (and the stack): initial implementation (probably buggy, but simple cases work).
[#80895676]
|
10 years ago |
Paweł Bylica
|
b283a07f76
|
Fix SHA3 instruction :)
|
10 years ago |
Paweł Bylica
|
79f93faa7d
|
Fix compiling empty bytecode
|
10 years ago |
Paweł Bylica
|
340a84fbf4
|
Throw exception if EVM program is not jitable instead of terminating to make tests going
|
10 years ago |
Paweł Bylica
|
e34d69aeb0
|
BYTE reimplementation
[Delivers #80911670]
|
10 years ago |
Paweł Bylica
|
03f4a451aa
|
Add support for direct jump outside the code - terminates with STOP
|
10 years ago |
Paweł Bylica
|
008953a37c
|
Limit debug output
|
10 years ago |
Paweł Bylica
|
a13a660315
|
Fix for invalid jump table basic block
|
10 years ago |
Paweł Bylica
|
9552394cd1
|
VM execution wrapper with similar interface as libevm/VM
|
10 years ago |
Paweł Bylica
|
a6c58c38d8
|
Move JIT compiler project to library
|
10 years ago |
artur-zawlocki
|
92cf0b9ab0
|
Dumping CFG to .dot: showing indirect jumps with dashed lines
|
10 years ago |
artur-zawlocki
|
cc2809c9b6
|
Added dumping of CFG to a .dot file
[Delivers #80816506]
|
10 years ago |
Paweł Bylica
|
cbab654678
|
Get IR module from IR builder
|
10 years ago |
Paweł Bylica
|
83642fe9de
|
Introducing CompilerHelper - a base class for... compiler helper classes like Memory, GasMeter, etc.
|
10 years ago |
Paweł Bylica
|
837f17cea4
|
Cleanup block terminator generation
|
10 years ago |
Paweł Bylica
|
1367f89b84
|
Basic block compilation in separated function
|
10 years ago |
Paweł Bylica
|
08c7dcc3d2
|
Placing IRBuilder in Compiler class (for future refactoring)
|
10 years ago |
Paweł Bylica
|
3beeb4226e
|
Some changes about final/stop block
|
10 years ago |
Paweł Bylica
|
2c44470e87
|
Removing unnecessary `dev` name prefixes
[#80021262]
|
10 years ago |
Paweł Bylica
|
91770a2e4d
|
Eliminating some `using namespace`
[#80021262]
|
10 years ago |
Paweł Bylica
|
e33be3bbdb
|
Change namespace from `evmcc` to `dev::eth::jit`
[#80021262]
|
10 years ago |
Paweł Bylica
|
c019b0394a
|
Macros grouping PUSH, DUP and SWAP switch cases
|
10 years ago |
Paweł Bylica
|
2909cac50e
|
Working longjmp solution
[#80660432]
|
10 years ago |
artur-zawlocki
|
fc9b9f32c9
|
* codegen for CODECALL
* fixes for EXTCODECOPY
|
10 years ago |
artur-zawlocki
|
8e93171d3d
|
Codegen for EXTCODESIZE & EXTCODECOPY
[Delivers #80644732]
|
10 years ago |
Paweł Bylica
|
8498ab5695
|
Trying to implement "exceptions" with longjmp (does not work on Windows 64bit at least)
|
10 years ago |
Paweł Bylica
|
471586cc82
|
Use longjmp to return OutOfGas code from main function (WIP)
[#80660432]
|
10 years ago |
Paweł Bylica
|
31a07cb1b8
|
Change a bit the implementation of GAS instruction
[Delivers #79942174]
|
10 years ago |
Paweł Bylica
|
01b95883f2
|
Count gas cost for SSTORE instruction
[#79942174]
|
10 years ago |
artur-zawlocki
|
2e3e764fb5
|
Codegen for CODECOPY.
[Delivers #80644732]
|
10 years ago |
Paweł Bylica
|
52d3a3beb0
|
Prealloc memory and count gas for CALL instruction
[#79942174]
|
10 years ago |
Paweł Bylica
|
8267b453c7
|
Prealloc memory and count gas for SHA3 and CREATE instructions
[#79942174]
|
10 years ago |
artur-zawlocki
|
2b383751b4
|
Fixes in CALLDATACOPY
[Delivers #80644732]
|
10 years ago |
artur-zawlocki
|
d005896a0b
|
Initial implementation for CALLDATACOPY
[Delivers #80644732]
|
10 years ago |
Paweł Bylica
|
2999de9f1a
|
Give back an amount of gas not used by CALL instructions
[#79942174]
|
10 years ago |
Paweł Bylica
|
c5c76cdf99
|
Count gas for CALL instructions
[#79942174]
|
10 years ago |
Paweł Bylica
|
05952064dc
|
Use Constant::get() interface to create LLVM constants
|
10 years ago |
Paweł Bylica
|
f9f08d3223
|
Change the way compiled program returns
|
10 years ago |
artur-zawlocki
|
2031240485
|
Implemented ADDMOD, MULMOD and GAS [Delivers #80566276]
|
10 years ago |
artur-zawlocki
|
6eb64ddcda
|
Codegen for GAS
|
10 years ago |
Paweł Bylica
|
b56a815d2c
|
Report error if static-analysed stack is too small
|
10 years ago |
Paweł Bylica
|
3ec44144e5
|
Change basic block linking order to get better results (still not perfect)
|
10 years ago |
artur-zawlocki
|
1afcca2d0b
|
Implemented indirect JUMPI and fixes for JUMPs to invalid PCs
|
10 years ago |
Paweł Bylica
|
c0a7d82b21
|
Always commit cost blocks
[#79942174]
|
10 years ago |
Paweł Bylica
|
48710b5e5c
|
Count gas for additional memory
[#79942174]
|
10 years ago |
Paweł Bylica
|
35605271f1
|
Fix for finding jumpTableBlock
|
10 years ago |
artur-zawlocki
|
40e73d035c
|
Indirect jump: jump table generated in separate bblock.
|
10 years ago |
Paweł Bylica
|
936aeab43c
|
Group gas counting into block of instructions called cost-block.
[#79942174]
|
10 years ago |
artur-zawlocki
|
e915379539
|
Implementing JUMP/JUMPDEST (work in progress)
|
10 years ago |
Paweł Bylica
|
dd3ae798b4
|
Disable gas checking for now (does not work and makes IR code hard to read)
[#79942174]
|
10 years ago |