From 6a260a9ff1c0c9c8ee14e988bd066b74555651e7 Mon Sep 17 00:00:00 2001 From: Alex Beregszaszi Date: Wed, 14 Jun 2017 20:26:26 +0100 Subject: Remove single use Assembly::popTo --- libevmasm/Assembly.h | 2 -- liblll/CodeFragment.cpp | 4 +++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/libevmasm/Assembly.h b/libevmasm/Assembly.h index 6549cc45..36fdda36 100644 --- a/libevmasm/Assembly.h +++ b/libevmasm/Assembly.h @@ -84,8 +84,6 @@ public: void ignored() { m_baseDeposit = m_deposit; } void endIgnored() { m_deposit = m_baseDeposit; m_baseDeposit = 0; } - void popTo(int _deposit) { while (m_deposit > _deposit) append(solidity::Instruction::POP); } - void injectStart(AssemblyItem const& _i); int deposit() const { return m_deposit; } void adjustDeposit(int _adjustment) { m_deposit += _adjustment; if (asserts(m_deposit >= 0)) BOOST_THROW_EXCEPTION(InvalidDeposit()); } diff --git a/liblll/CodeFragment.cpp b/liblll/CodeFragment.cpp index 0f7f48ba..47ddc4a6 100644 --- a/liblll/CodeFragment.cpp +++ b/liblll/CodeFragment.cpp @@ -571,7 +571,9 @@ void CodeFragment::constructOperation(sp::utree const& _t, CompilerState& _s) { for (auto const& i: code) m_asm.append(i.m_asm); - m_asm.popTo(1); + // Leave only the last item on stack. + while (m_asm.deposit() > 1) + m_asm.append(Instruction::POP); } else if (us == "BYTECODESIZE") { -- cgit v1.2.3