diff options
author | Christian <c@ethdev.com> | 2014-12-12 00:34:47 +0800 |
---|---|---|
committer | Christian <c@ethdev.com> | 2014-12-12 00:48:44 +0800 |
commit | e2547526ab82ce00511da0c69f7e7de5944d6530 (patch) | |
tree | 64346678a3978a75ce19275253ba8b6361e32bb6 /Compiler.cpp | |
parent | 66d95abfd9d0a1c3d6516dec39d085d7d96cccbf (diff) | |
download | dexon-solidity-e2547526ab82ce00511da0c69f7e7de5944d6530.tar.gz dexon-solidity-e2547526ab82ce00511da0c69f7e7de5944d6530.tar.zst dexon-solidity-e2547526ab82ce00511da0c69f7e7de5944d6530.zip |
Do not add at the end of the function selector "loop".
Diffstat (limited to 'Compiler.cpp')
-rw-r--r-- | Compiler.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/Compiler.cpp b/Compiler.cpp index d41bcffa..97431341 100644 --- a/Compiler.cpp +++ b/Compiler.cpp @@ -109,8 +109,8 @@ void Compiler::appendFunctionSelector(ContractDefinition const& _contract) callDataUnpackerEntryPoints.push_back(m_context.newTag()); m_context << eth::dupInstruction(2) << eth::dupInstruction(2) << eth::Instruction::EQ; m_context.appendConditionalJumpTo(callDataUnpackerEntryPoints.back()); - m_context << eth::dupInstruction(4) << eth::Instruction::ADD; - //@todo avoid the last ADD (or remove it in the optimizer) + if (funid < interfaceFunctions.size() - 1) + m_context << eth::dupInstruction(4) << eth::Instruction::ADD; } m_context << eth::Instruction::STOP; // function not found |