aboutsummaryrefslogtreecommitdiffstats
path: root/libsolidity/codegen/ContractCompiler.cpp
diff options
context:
space:
mode:
authorchriseth <chris@ethereum.org>2018-11-13 17:53:40 +0800
committerLeonardo Alt <leo@ethereum.org>2018-11-26 18:02:58 +0800
commit0e08fb7469dc376ff3ffced654446ef19eefbe9b (patch)
tree2573831ba325642d1259536d117317eaad24d59f /libsolidity/codegen/ContractCompiler.cpp
parent96333f303373e073ef58a676983ed368fcd4b9f4 (diff)
downloaddexon-solidity-0e08fb7469dc376ff3ffced654446ef19eefbe9b.tar
dexon-solidity-0e08fb7469dc376ff3ffced654446ef19eefbe9b.tar.gz
dexon-solidity-0e08fb7469dc376ff3ffced654446ef19eefbe9b.tar.bz2
dexon-solidity-0e08fb7469dc376ff3ffced654446ef19eefbe9b.tar.lz
dexon-solidity-0e08fb7469dc376ff3ffced654446ef19eefbe9b.tar.xz
dexon-solidity-0e08fb7469dc376ff3ffced654446ef19eefbe9b.tar.zst
dexon-solidity-0e08fb7469dc376ff3ffced654446ef19eefbe9b.zip
Use "in" tag for jumps from unpacker to function.
Diffstat (limited to 'libsolidity/codegen/ContractCompiler.cpp')
-rw-r--r--libsolidity/codegen/ContractCompiler.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/libsolidity/codegen/ContractCompiler.cpp b/libsolidity/codegen/ContractCompiler.cpp
index 157d5fa7..aabdbb79 100644
--- a/libsolidity/codegen/ContractCompiler.cpp
+++ b/libsolidity/codegen/ContractCompiler.cpp
@@ -344,7 +344,10 @@ void ContractCompiler::appendFunctionSelector(ContractDefinition const& _contrac
m_context << Instruction::DUP1 << Instruction::CALLDATASIZE << Instruction::SUB;
CompilerUtils(m_context).abiDecode(functionType->parameterTypes());
}
- m_context.appendJumpTo(m_context.functionEntryLabel(functionType->declaration()));
+ m_context.appendJumpTo(
+ m_context.functionEntryLabel(functionType->declaration()),
+ eth::AssemblyItem::JumpType::IntoFunction
+ );
m_context << returnTag;
// Return tag and input parameters get consumed.
m_context.adjustStackOffset(