aboutsummaryrefslogtreecommitdiffstats
path: root/libevmasm/Assembly.h
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-03-05 19:10:49 +0800
committerGitHub <noreply@github.com>2018-03-05 19:10:49 +0800
commit6dc137317fa8249a9c1b19ff6430840974393f90 (patch)
tree2263fd97b42da5673b1dcce24ab4419ce8dc67b9 /libevmasm/Assembly.h
parente3c2ab39a125e68aea07ba9c8cacb0a55293bf0d (diff)
parent6ec4517929e8c0eca022f4771ba217db5d80beed (diff)
downloaddexon-solidity-6dc137317fa8249a9c1b19ff6430840974393f90.tar
dexon-solidity-6dc137317fa8249a9c1b19ff6430840974393f90.tar.gz
dexon-solidity-6dc137317fa8249a9c1b19ff6430840974393f90.tar.bz2
dexon-solidity-6dc137317fa8249a9c1b19ff6430840974393f90.tar.lz
dexon-solidity-6dc137317fa8249a9c1b19ff6430840974393f90.tar.xz
dexon-solidity-6dc137317fa8249a9c1b19ff6430840974393f90.tar.zst
dexon-solidity-6dc137317fa8249a9c1b19ff6430840974393f90.zip
Merge pull request #3569 from ethereum/evmVersion
EVM version
Diffstat (limited to 'libevmasm/Assembly.h')
-rw-r--r--libevmasm/Assembly.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/libevmasm/Assembly.h b/libevmasm/Assembly.h
index 885192e4..367c6daa 100644
--- a/libevmasm/Assembly.h
+++ b/libevmasm/Assembly.h
@@ -23,6 +23,8 @@
#include <libevmasm/LinkerObject.h>
#include <libevmasm/Exceptions.h>
+#include <libsolidity/interface/EVMVersion.h>
+
#include <libdevcore/Common.h>
#include <libdevcore/Assertions.h>
#include <libdevcore/SHA3.h>
@@ -107,6 +109,7 @@ public:
bool runDeduplicate = false;
bool runCSE = false;
bool runConstantOptimiser = false;
+ solidity::EVMVersion evmVersion;
/// This specifies an estimate on how often each opcode in this assembly will be executed,
/// i.e. use a small value to optimise for size and a large value to optimise for runtime gas usage.
size_t expectedExecutionsPerDeployment = 200;
@@ -120,7 +123,7 @@ public:
/// @a _runs specifes an estimate on how often each opcode in this assembly will be executed,
/// i.e. use a small value to optimise for size and a large value to optimise for runtime.
/// If @a _enable is not set, will perform some simple peephole optimizations.
- Assembly& optimise(bool _enable, bool _isCreation = true, size_t _runs = 200);
+ Assembly& optimise(bool _enable, EVMVersion _evmVersion, bool _isCreation = true, size_t _runs = 200);
/// Create a text representation of the assembly.
std::string assemblyString(