13 Commits (9a257917d322b59e8ef93e00eff3517f6057af36)

Author SHA1 Message Date
artur-zawlocki 71ccd3f353 Propagation of values between basic blocks (and the stack): initial implementation (probably buggy, but simple cases work). 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 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 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 10 years ago
Paweł Bylica 91770a2e4d Eliminating some `using namespace` 10 years ago
Paweł Bylica e33be3bbdb Change namespace from `evmcc` to `dev::eth::jit` 10 years ago
Paweł Bylica c019b0394a Macros grouping PUSH, DUP and SWAP switch cases 10 years ago
Paweł Bylica 2909cac50e Working longjmp solution 10 years ago
artur-zawlocki fc9b9f32c9 * codegen for CODECALL 10 years ago
artur-zawlocki 8e93171d3d Codegen for EXTCODESIZE & EXTCODECOPY 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) 10 years ago
Paweł Bylica 31a07cb1b8 Change a bit the implementation of GAS instruction 10 years ago
Paweł Bylica 01b95883f2 Count gas cost for SSTORE instruction 10 years ago
artur-zawlocki 2e3e764fb5 Codegen for CODECOPY. 10 years ago
Paweł Bylica 52d3a3beb0 Prealloc memory and count gas for CALL instruction 10 years ago
Paweł Bylica 8267b453c7 Prealloc memory and count gas for SHA3 and CREATE instructions 10 years ago
artur-zawlocki 2b383751b4 Fixes in CALLDATACOPY 10 years ago
artur-zawlocki d005896a0b Initial implementation for CALLDATACOPY 10 years ago
Paweł Bylica 2999de9f1a Give back an amount of gas not used by CALL instructions 10 years ago
Paweł Bylica c5c76cdf99 Count gas for CALL instructions 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 10 years ago
Paweł Bylica 48710b5e5c Count gas for additional memory 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. 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) 10 years ago