aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorGav Wood <i@gavwood.com>2014-05-30 19:37:39 +0800
committerGav Wood <i@gavwood.com>2014-05-30 19:37:39 +0800
commitb64a96199fb17d624974d8d5efe8e0758ef117bf (patch)
tree307c2e2c77279b1e8bcd4b76bf48836159254b2f
parentde85b070b8c65f9ea7e1dd261467d759798629f7 (diff)
downloaddexon-solidity-b64a96199fb17d624974d8d5efe8e0758ef117bf.tar
dexon-solidity-b64a96199fb17d624974d8d5efe8e0758ef117bf.tar.gz
dexon-solidity-b64a96199fb17d624974d8d5efe8e0758ef117bf.tar.bz2
dexon-solidity-b64a96199fb17d624974d8d5efe8e0758ef117bf.tar.lz
dexon-solidity-b64a96199fb17d624974d8d5efe8e0758ef117bf.tar.xz
dexon-solidity-b64a96199fb17d624974d8d5efe8e0758ef117bf.tar.zst
dexon-solidity-b64a96199fb17d624974d8d5efe8e0758ef117bf.zip
Fix for nonce incrementing.
Messaging for some execution failures. State uses temporary for transaction trie. Additional optimisation.
-rw-r--r--Assembly.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/Assembly.cpp b/Assembly.cpp
index 1d9cb4bc..c0dc6fd5 100644
--- a/Assembly.cpp
+++ b/Assembly.cpp
@@ -213,7 +213,10 @@ void Assembly::optimise()
std::vector<pair<AssemblyItems, function<AssemblyItems(AssemblyItemsConstRef)>>> rules =
{
{ { Push, Instruction::POP }, [](AssemblyItemsConstRef) -> AssemblyItems { return {}; } },
+ { { PushTag, Instruction::POP }, [](AssemblyItemsConstRef) -> AssemblyItems { return {}; } },
+ { { PushString, Instruction::POP }, [](AssemblyItemsConstRef) -> AssemblyItems { return {}; } },
{ { Push, PushTag, Instruction::JUMPI }, [](AssemblyItemsConstRef m) -> AssemblyItems { if (m[0].data()) return { m[1], Instruction::JUMP }; else return {}; } },
+ { { Instruction::NOT, Instruction::NOT }, [](AssemblyItemsConstRef) -> AssemblyItems { return {}; } },
};
for (auto const& i: c_simple)