diff options
Diffstat (limited to 'libevmasm')
-rw-r--r-- | libevmasm/ConstantOptimiser.cpp | 4 | ||||
-rw-r--r-- | libevmasm/ConstantOptimiser.h | 4 |
2 files changed, 4 insertions, 4 deletions
diff --git a/libevmasm/ConstantOptimiser.cpp b/libevmasm/ConstantOptimiser.cpp index c1d61b88..d2ed4faf 100644 --- a/libevmasm/ConstantOptimiser.cpp +++ b/libevmasm/ConstantOptimiser.cpp @@ -232,11 +232,11 @@ AssemblyItems ComputeMethod::findRepresentation(u256 const& _value) } } -bool ComputeMethod::checkRepresentation(u256 const& _value) +bool ComputeMethod::checkRepresentation(u256 const& _value, AssemblyItems const& _routine) { // This is a tiny EVM that can only evaluate some instructions. vector<u256> stack; - for (AssemblyItem const& item: m_routine) + for (AssemblyItem const& item: _routine) { switch (item.type()) { diff --git a/libevmasm/ConstantOptimiser.h b/libevmasm/ConstantOptimiser.h index 2c112b2b..85bdabac 100644 --- a/libevmasm/ConstantOptimiser.h +++ b/libevmasm/ConstantOptimiser.h @@ -135,7 +135,7 @@ public: { m_routine = findRepresentation(m_value); assertThrow( - checkRepresentation(m_value), + checkRepresentation(m_value, m_routine), OptimizerException, "Invalid constant expression created." ); @@ -151,7 +151,7 @@ protected: /// Tries to recursively find a way to compute @a _value. AssemblyItems findRepresentation(u256 const& _value); /// Recomputes the value from the calculated representation and checks for correctness. - bool checkRepresentation(u256 const& _value); + bool checkRepresentation(u256 const& _value, AssemblyItems const& _routine); bigint gasNeeded(AssemblyItems const& _routine); /// Counter for the complexity of optimization, will stop when it reaches zero. |