Paweł Bylica
8fc404f2bb
Style changes.
10 years ago
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
cf681e379c
Update min local stack size correctly.
10 years ago
Paweł Bylica
4904c602b0
"Tweak" version component.
Add "tweak" component for evmjit version to control cached objects.
Bump version to 0.9.0.1.
10 years ago
Paweł Bylica
5507cc870a
Check also stack underflow in evm.stack.require() function.
10 years ago
Paweł Bylica
864a3540a4
Clean up LazyFunction initialization in Array helper.
10 years ago
Paweł Bylica
94b3c55c7f
Remove explicit move constructor of BasicBlock.
10 years ago
Paweł Bylica
c8846eb01a
Do not modify pops counter of LocalStack during finalization.
That fixes LocalStack::size() returning incorrect values after LocalStack::finalize() has been called.
10 years ago
debris
e1a72950d5
now policy CMP0042 is set to OLD
This reverts commit 61e99b1040
.
10 years ago
Gav Wood
ae0205796c
JITEVM fixes.
10 years ago
Gav Wood
9f756124b0
First draft at splitting State.
Continuation of State split.
libethereum building again.
Compile fixes galore.
Remove a lot of code redundancy.
mix using new state/block classes
10 years ago
Gav Wood
61e99b1040
Revert "fixed cmake policy CMP0042, MACOSX RPATH"
10 years ago
debris
4374ec50c2
fixed cmake policy CMP0042, MACOSX RPATH
10 years ago
Lefteris Karapetsas
0ff32f7710
Detect existence of llvm 3.7 or 3.8 dev package
Determine if the user has llvm3.7-dev or llvm3.8-dev package in Ubuntu
and configure cmake accordingly
10 years ago
Lefteris Karapetsas
b64bf6d616
Temporarily use llvm3.8-dev in Ubuntu
Ubuntu 14.04 replaced llvm3.7-dev with llvm3.8-dev in anticipation of llvm 3.7 release.
We are forced to use the 3.8-dev package until llvm 3.7 release.
10 years ago
Paweł Bylica
2565fe1fa7
Fix EVM JIT stack limit checking.
Tests inlcuded.
10 years ago
Paweł Bylica
6e75177190
Fix MSVC problems with decltype()
10 years ago
Paweł Bylica
b8e969093e
Reimplement InsertPointGuard to avoid LLVM ABI incompatibility.
In general, the NDEBUG flag should match cpp-ethereum and LLVM builds. But this is hard to satisfy as we usually have one system-wide build of LLVM and different builds of cpp-ethereum. This ABI incompatibility hit OSX only in release builds as LLVM is built by homebrew with assertions by default.
10 years ago
Paweł Bylica
1d4eeb3a66
Fix evmjit Windows exports.
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
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
0e3629387a
Remove unused return codes.
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
e140fce280
Add support for cmake 2.8.
10 years ago
Paweł Bylica
a9024e5e90
Set EVM JIT version in cmake script.
10 years ago
Paweł Bylica
3dbf11468f
Check LLVM version manually.
10 years ago
Paweł Bylica
38fc24db9f
Ignore LLVM version requirements in cmake
Currently brew installs version 3.8 as 3.7 has been branched. Version 3.7 is not available in homebrew as it has not been released yet. Ignore LLVM version requirement until 3.7 is released.
10 years ago
arkpar
a6194d2d21
fixed build
10 years ago
Gav Wood
e14d000bea
All fields of BlockInfo now private.
10 years ago
arkpar
b3a1bfea4c
fixed build
10 years ago
Gav Wood
f693ac0cc4
All fields of BlockInfo now private.
10 years ago
arkpar
f817397991
fixed build
10 years ago
Gav Wood
ff2f952184
All fields of BlockInfo now private.
10 years ago
arkpar
438d8882ae
fixed build
10 years ago
Gav Wood
1e6bf809b4
All fields of BlockInfo now private.
10 years ago