72 Commits (f97dd8748f5646fccd1c97a7f943a4c8cd214c55)

Author SHA1 Message Date
Paweł Bylica 299fc12a58 Resolve jumps after code compilation. 10 years ago
Paweł Bylica 93f6e0abe7 Link consecutive basic blocks after all blocks are compiled. 10 years ago
Paweł Bylica 403b4c0399 Remove helper function for getting an item from global stack. 10 years ago
Paweł Bylica 5507cc870a Check also stack underflow in evm.stack.require() function. 10 years ago
Gav Wood 9f756124b0 First draft at splitting State. 10 years ago
Paweł Bylica 215ea7dde5 Remove vector of basic blocks from Compiler. 10 years ago
Paweł Bylica 6123352295 Replace map of basic blocks with vector. 10 years ago
Paweł Bylica b44d4846f5 Use llvm::SwitchInstr as a jump dest map. 10 years ago
Paweł Bylica 406e13dadf Use LLVM metadata for keeping information about jump target index. 10 years ago
Paweł Bylica f76d634769 Change the way Jump Table is created and filled. 10 years ago
Paweł Bylica f4b79cfee7 Do not remove dead blocks during compilation. 10 years ago
Paweł Bylica 7d1e35076f Fix local stack max size calculation. 10 years ago
Paweł Bylica 3ffdcd9f13 Test dynamic jumps. 10 years ago
Paweł Bylica 1e926fe6bc Move fields from BasicBlock to LocalStack. Remove dump() functions. 10 years ago
Paweł Bylica fcacf6e3a2 Remove code doing stack optimization with PHI nodes. 10 years ago
Paweł Bylica c80ded8f97 Move LocalStack out of BasicBlock. 10 years ago
Paweł Bylica 947b9e9664 Replace "bad jump" exit with "abort" exit. 10 years ago
Paweł Bylica 9d59ebb645 Cleanups. 10 years ago
Paweł Bylica ffc416e97e Another LLVM bug workaround. 10 years ago
Paweł Bylica 02c2829677 Better BYTE fix. 10 years ago
Paweł Bylica 6d7350f3ed Fix for incorrect BYTE instruction results. 10 years ago
Paweł Bylica efd1ff7bb5 Update llvm::IRBuilder::CreateCall to new API version. 10 years ago
Paweł Bylica f866a3ab08 Remove debug message. 10 years ago
Paweł Bylica 62af7a08a1 Skip all STOPs in the end in EVM JIT compiler 10 years ago
Paweł Bylica a53d50e9e5 Adjustments for llvm::IRBuilder API changes. 10 years ago
Paweł Bylica 002d9a9d69 Handle more edge cases in DIV, etc. 10 years ago
Paweł Bylica f19c7c4981 Add protection against hardware division by 0. 10 years ago
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 483403cc91 Lower DIV to a function call in the LLVM pass after optimization. 10 years ago
Paweł Bylica 08d94e0f52 Always exit through exit blocks (Stop, Abort, etc). 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
Paweł Bylica 56c3d18582 Remove some LLVM 3.5 bugs workarounds 10 years ago
Paweł Bylica dda4ccff3e Control stack size limit 10 years ago
Gav Wood 1619d230c3 Extensive pathway for reporting transaction execution results. 10 years ago
Paweł Bylica 1f231bafcc Update gas costs for PoC-9: changes in CALL gas price support 10 years ago
Paweł Bylica 6941a1c78c Fix memory leaks 10 years ago
Paweł Bylica d2c82bf9c9 Update gas.check helper function: Runtime pointer not needed 10 years ago
Paweł Bylica 7d7e6ec7f5 Using logs utils from LLVM 10 years ago
Paweł Bylica 681ba24d33 Free memory allocated for dynamic stack 10 years ago
Gav Wood e185d9a117 Add EVMJIT. 10 years ago
Paweł Bylica e5519d00d8 Optimizer: separate LLVM IR optimization passes from compiler 10 years ago
Paweł Bylica 5f4bda5cef Correct usage of LLVM builtin setjmp/longjmp. External setjmp was eliminated, hopefully Windows will be happier now. 10 years ago
Paweł Bylica 3365f3f438 #include cleanups 10 years ago
Paweł Bylica 99b7607ae2 Use code (and code size) as constants 10 years ago
Paweł Bylica b448dba6b9 Remove dead jump table block 10 years ago