aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIsaac van Bakel <ivb@vanbakel.io>2017-11-26 05:51:27 +0800
committerIsaac van Bakel <ivb@vanbakel.io>2017-11-26 05:51:27 +0800
commit83f326525e20fe18ae69849b1f5604ef3e88954e (patch)
tree7d02c7542deeb16dc1baada49ff1b6fbf6b111a6
parent3c8771c760a97067aae8245e5d102ff8181db095 (diff)
downloaddexon-solidity-83f326525e20fe18ae69849b1f5604ef3e88954e.tar.gz
dexon-solidity-83f326525e20fe18ae69849b1f5604ef3e88954e.tar.zst
dexon-solidity-83f326525e20fe18ae69849b1f5604ef3e88954e.zip
Replaced solAssert in Jumpdest optimization
This is the only use of solAssert in libevmasm, and the only dependency on libsolidity. There is no justification for why the illegal state is checked here.
-rw-r--r--libevmasm/JumpdestRemover.cpp4
1 files changed, 1 insertions, 3 deletions
diff --git a/libevmasm/JumpdestRemover.cpp b/libevmasm/JumpdestRemover.cpp
index b6016798..60493a99 100644
--- a/libevmasm/JumpdestRemover.cpp
+++ b/libevmasm/JumpdestRemover.cpp
@@ -21,8 +21,6 @@
#include "JumpdestRemover.h"
-#include <libsolidity/interface/Exceptions.h>
-
#include <libevmasm/AssemblyItem.h>
using namespace std;
@@ -45,7 +43,7 @@ bool JumpdestRemover::optimise(set<size_t> const& _tagsReferencedFromOutside)
if (_item.type() != Tag)
return false;
auto asmIdAndTag = _item.splitForeignPushTag();
- solAssert(asmIdAndTag.first == size_t(-1), "Sub-assembly tag used as label.");
+ assertThrow(asmIdAndTag.first == size_t(-1), OptimizerException, "Sub-assembly tag used as label.");
size_t tag = asmIdAndTag.second;
return !references.count(tag);
}