aboutsummaryrefslogtreecommitdiffstats
path: root/libevmasm
diff options
context:
space:
mode:
authorchriseth <c@ethdev.com>2016-11-11 22:38:56 +0800
committerchriseth <c@ethdev.com>2016-11-16 21:37:19 +0800
commit390ba085b63e3968b555eeab0ddf8ef429e7c0ee (patch)
tree6010bcccfa565323c33620499d1272802c13e090 /libevmasm
parent739dabff8ba8b4a91100c1612a0ac2faf0ef78b5 (diff)
downloaddexon-solidity-390ba085b63e3968b555eeab0ddf8ef429e7c0ee.tar.gz
dexon-solidity-390ba085b63e3968b555eeab0ddf8ef429e7c0ee.tar.zst
dexon-solidity-390ba085b63e3968b555eeab0ddf8ef429e7c0ee.zip
fixup! Simple peephole optimizer that is activated even if not requested.
Diffstat (limited to 'libevmasm')
-rw-r--r--libevmasm/PeepholeOptimiser.cpp2
1 files changed, 2 insertions, 0 deletions
diff --git a/libevmasm/PeepholeOptimiser.cpp b/libevmasm/PeepholeOptimiser.cpp
index 91b0ece1..f42dba48 100644
--- a/libevmasm/PeepholeOptimiser.cpp
+++ b/libevmasm/PeepholeOptimiser.cpp
@@ -81,6 +81,8 @@ struct JumpToNext
_in[0].data() == _in[2].data()
)
{
+ if (_in[1] == Instruction::JUMPI)
+ *_out = AssemblyItem(Instruction::POP, _in[1].location());
*_out = _in[2];
return true;
}