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
4a68a237b0
Rename private members of LocalStack.
10 years ago
Paweł Bylica
1de60c02e6
Add test for global stack underflow.
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
b604dfefe6
Reimplementation of local stack handling during basic block compilation.
This change removed the intermediate stage when PHI nodes are inserted in place of items fetched from global stack. PHi stage requires information about other basic block therefore must be postponed to the point when all basic blocks has been compiled. In the same time this optimization has not been very effective.
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
e1634a9dcb
Clean up evmjit cmake files. Assign compiler flags to target.
10 years ago
Paweł Bylica
a9024e5e90
Set EVM JIT version in cmake script.
10 years ago
Gav Wood
e14d000bea
All fields of BlockInfo now private.
10 years ago
Gav Wood
f693ac0cc4
All fields of BlockInfo now private.
10 years ago
Gav Wood
ff2f952184
All fields of BlockInfo now private.
10 years ago
Gav Wood
1e6bf809b4
All fields of BlockInfo now private.
10 years ago
Gav Wood
5ee3e8e5fc
All fields of BlockInfo now private.
10 years ago
arkpar
e7f34beb45
fixed eth_copy_dlls
reverted libsecp256k1 changes
10 years ago
arkpar
63ef6a74f9
reverted libsecp256k1 changes
10 years ago
arkpar
016ce6964f
copy evmjit dll to output on windows
10 years ago
Gav Wood
487349bf09
All fields of BlockInfo now private.
10 years ago
Paweł Bylica
4039227faa
Extend JIT interface to allow only compilation of EVM code.
Make code availability checking thread-safe.
10 years ago
Paweł Bylica
d036c6dc16
Separate compile and execute jobs in JIT.
10 years ago
Paweł Bylica
9d59ebb645
Cleanups.
10 years ago
Paweł Bylica
b4ee363394
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.
It is actually a LLVM bug workaround.
10 years ago
Paweł Bylica
773c2303d8
Do not compute code hash twice in VM test engine.
10 years ago
Paweł Bylica
b2345b982b
Cleanup issues reported by clang.
10 years ago
Paweł Bylica
efd1ff7bb5
Update llvm::IRBuilder::CreateCall to new API version.
Buildbot bump.
10 years ago
Paweł Bylica
4b5a036a6b
Suppress LLVM compile warnings.
10 years ago
Paweł Bylica
7a276c2eee
Disable some warnings in LLVM headers for GCC/clang compilers.
10 years ago
Paweł Bylica
3f1944141c
Release aquired arg allocas in Ext::calldataload.
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
17f66be28a
Disable some warnings in LLVM headers for GCC/clang compilers.
10 years ago
Paweł Bylica
8b747d165c
Protect EVM JIT cache with mutex.
Fixes ethereum/cpp-ethereum#2086 .
10 years ago
Paweł Bylica
af95ae6a2d
Remove memory leak detector. Is it not thread-safe.
10 years ago
Paweł Bylica
f183ac4fbb
Cleanup unused code.
10 years ago
Paweł Bylica
465179e6f9
Avoid forbidden function pointer cast.
10 years ago
Paweł Bylica
a53d50e9e5
Adjustments for llvm::IRBuilder API changes.
10 years ago
Paweł Bylica
073284feb0
MSVC fixes.
10 years ago
Paweł Bylica
5046dd4bb0
EVM JIT C++ interface in one header.
10 years ago
Paweł Bylica
b8a66c7f3e
JIT implementation cleanups.
10 years ago
Paweł Bylica
bcc0cfd055
Code migration.
10 years ago