From 0e91b8fb98ee942aeb668ef5ff1c6e40c52a7a2e Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Thu, 27 Apr 2017 11:29:26 +0100 Subject: Do not use the member in checkRepresentation --- libevmasm/ConstantOptimiser.cpp | 4 ++-- libevmasm/ConstantOptimiser.h | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) (limited to 'libevmasm') 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 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. -- cgit v1.2.3