artur-zawlocki
|
547ca3870d
|
Propagation of values between basic blocks' local stacks [#80895676]
|
10 years ago |
artur-zawlocki
|
d28139677b
|
Refactored local stack
[#81180320]
|
10 years ago |
artur-zawlocki
|
044e83860a
|
Fixed bug in phi node rewriting
[#80895676]
|
10 years ago |
artur-zawlocki
|
5a8ba36fe5
|
added assert in linkBasicBlocks()
|
10 years ago |
artur-zawlocki
|
080cf20f84
|
Handling pop() from the empty EVM stack.
[#80895676]
|
10 years ago |
Paweł Bylica
|
d95083ade4
|
Remove unreachable basic blocks before "linking"
|
10 years ago |
Paweł Bylica
|
a4416e563d
|
Remove unreachable basic blocks before "linking"
|
10 years ago |
artur-zawlocki
|
0a9e0f587f
|
Propagation of values between basic blocks (and the stack): initial implementation (probably buggy, but simple cases work).
[#80895676]
|
10 years ago |
Paweł Bylica
|
c7eac0d23c
|
Fix SHA3 instruction :)
|
10 years ago |
Paweł Bylica
|
51fc9adfab
|
Fix compiling empty bytecode
|
10 years ago |
Paweł Bylica
|
c97ca249a0
|
Throw exception if EVM program is not jitable instead of terminating to make tests going
|
10 years ago |
Paweł Bylica
|
607458b193
|
BYTE reimplementation
[Delivers #80911670]
|
10 years ago |
Paweł Bylica
|
52ba848c18
|
Add support for direct jump outside the code - terminates with STOP
|
10 years ago |
Paweł Bylica
|
6c3af96a40
|
Limit debug output
|
10 years ago |
Paweł Bylica
|
de8deab6ff
|
Fix for invalid jump table basic block
|
10 years ago |
Paweł Bylica
|
0f4c8eb63f
|
VM execution wrapper with similar interface as libevm/VM
|
10 years ago |
Paweł Bylica
|
7df24fad4a
|
Move JIT compiler project to library
|
10 years ago |
artur-zawlocki
|
f062fd0165
|
Dumping CFG to .dot: showing indirect jumps with dashed lines
|
10 years ago |
artur-zawlocki
|
f233122943
|
Added dumping of CFG to a .dot file
[Delivers #80816506]
|
10 years ago |
Paweł Bylica
|
c83739e9dc
|
Get IR module from IR builder
|
10 years ago |
Paweł Bylica
|
5e13d593be
|
Introducing CompilerHelper - a base class for... compiler helper classes like Memory, GasMeter, etc.
|
10 years ago |
Paweł Bylica
|
bb51b3476c
|
Cleanup block terminator generation
|
10 years ago |
Paweł Bylica
|
1463897efb
|
Basic block compilation in separated function
|
10 years ago |
Paweł Bylica
|
e094ba9e67
|
Placing IRBuilder in Compiler class (for future refactoring)
|
10 years ago |
Paweł Bylica
|
5586ff5bdc
|
Some changes about final/stop block
|
10 years ago |
Paweł Bylica
|
07f6bbffe5
|
Removing unnecessary `dev` name prefixes
[#80021262]
|
10 years ago |
Paweł Bylica
|
11bf67b2d8
|
Eliminating some `using namespace`
[#80021262]
|
10 years ago |
Paweł Bylica
|
a2da7c91c8
|
Change namespace from `evmcc` to `dev::eth::jit`
[#80021262]
|
10 years ago |
Paweł Bylica
|
f1ea6c9257
|
Macros grouping PUSH, DUP and SWAP switch cases
|
10 years ago |
Paweł Bylica
|
ec2013d5c9
|
Working longjmp solution
[#80660432]
|
10 years ago |
artur-zawlocki
|
00a872ec98
|
* codegen for CODECALL
* fixes for EXTCODECOPY
|
10 years ago |
artur-zawlocki
|
564a593bbe
|
Codegen for EXTCODESIZE & EXTCODECOPY
[Delivers #80644732]
|
10 years ago |
Paweł Bylica
|
7fcf24d3ac
|
Trying to implement "exceptions" with longjmp (does not work on Windows 64bit at least)
|
10 years ago |
Paweł Bylica
|
c57de781e4
|
Use longjmp to return OutOfGas code from main function (WIP)
[#80660432]
|
10 years ago |
Paweł Bylica
|
00e5afc1a5
|
Change a bit the implementation of GAS instruction
[Delivers #79942174]
|
10 years ago |
Paweł Bylica
|
0d679f0c73
|
Count gas cost for SSTORE instruction
[#79942174]
|
10 years ago |
artur-zawlocki
|
df932921dc
|
Codegen for CODECOPY.
[Delivers #80644732]
|
10 years ago |
Paweł Bylica
|
1c70f3d099
|
Prealloc memory and count gas for CALL instruction
[#79942174]
|
10 years ago |
Paweł Bylica
|
7d674765a4
|
Prealloc memory and count gas for SHA3 and CREATE instructions
[#79942174]
|
10 years ago |
artur-zawlocki
|
42b14ae334
|
Fixes in CALLDATACOPY
[Delivers #80644732]
|
10 years ago |
artur-zawlocki
|
0d9740514a
|
Initial implementation for CALLDATACOPY
[Delivers #80644732]
|
10 years ago |
Paweł Bylica
|
01ca987093
|
Give back an amount of gas not used by CALL instructions
[#79942174]
|
10 years ago |
Paweł Bylica
|
fb87a0b2ab
|
Count gas for CALL instructions
[#79942174]
|
10 years ago |
Paweł Bylica
|
7494fdba7a
|
Use Constant::get() interface to create LLVM constants
|
10 years ago |
Paweł Bylica
|
7a89751433
|
Change the way compiled program returns
|
10 years ago |
artur-zawlocki
|
6caff31697
|
Implemented ADDMOD, MULMOD and GAS [Delivers #80566276]
|
10 years ago |
artur-zawlocki
|
9b3c446578
|
Codegen for GAS
|
10 years ago |
Paweł Bylica
|
3a2596960b
|
Report error if static-analysed stack is too small
|
10 years ago |
Paweł Bylica
|
9bdfd59b6f
|
Change basic block linking order to get better results (still not perfect)
|
10 years ago |
artur-zawlocki
|
6e2bcefaca
|
Implemented indirect JUMPI and fixes for JUMPs to invalid PCs
|
10 years ago |