mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
added brackets for printing in/out
cleaned up
This commit is contained in:
parent
74a01826ee
commit
d5cbb2acd2
@ -177,9 +177,7 @@ void Compiler::appendFunctionSelector(ContractDefinition const& _contract)
|
|||||||
{
|
{
|
||||||
callDataUnpackerEntryPoints.insert(std::make_pair(it.first, m_context.newTag()));
|
callDataUnpackerEntryPoints.insert(std::make_pair(it.first, m_context.newTag()));
|
||||||
m_context << eth::dupInstruction(1) << u256(FixedHash<4>::Arith(it.first)) << eth::Instruction::EQ;
|
m_context << eth::dupInstruction(1) << u256(FixedHash<4>::Arith(it.first)) << eth::Instruction::EQ;
|
||||||
auto assemblyItem = callDataUnpackerEntryPoints.at(it.first);
|
m_context.appendConditionalJumpTo(callDataUnpackerEntryPoints.at(it.first));
|
||||||
//assemblyItem.setJumpType(eth::AssemblyItem::JumpType::IntoFunction);
|
|
||||||
m_context.appendConditionalJumpTo(assemblyItem);
|
|
||||||
}
|
}
|
||||||
if (FunctionDefinition const* fallback = _contract.getFallbackFunction())
|
if (FunctionDefinition const* fallback = _contract.getFallbackFunction())
|
||||||
{
|
{
|
||||||
@ -199,9 +197,7 @@ void Compiler::appendFunctionSelector(ContractDefinition const& _contract)
|
|||||||
m_context << callDataUnpackerEntryPoints.at(it.first);
|
m_context << callDataUnpackerEntryPoints.at(it.first);
|
||||||
eth::AssemblyItem returnTag = m_context.pushNewTag();
|
eth::AssemblyItem returnTag = m_context.pushNewTag();
|
||||||
appendCalldataUnpacker(functionType->getParameterTypes());
|
appendCalldataUnpacker(functionType->getParameterTypes());
|
||||||
auto assemblyItem = m_context.getFunctionEntryLabel(functionType->getDeclaration());
|
m_context.appendJumpTo(m_context.getFunctionEntryLabel(functionType->getDeclaration()));
|
||||||
//assemblyItem.setJumpType(eth::AssemblyItem::JumpType::IntoFunction);
|
|
||||||
m_context.appendJumpTo(assemblyItem);
|
|
||||||
m_context << returnTag;
|
m_context << returnTag;
|
||||||
appendReturnValuePacker(functionType->getReturnParameterTypes());
|
appendReturnValuePacker(functionType->getReturnParameterTypes());
|
||||||
}
|
}
|
||||||
|
@ -120,7 +120,7 @@ public:
|
|||||||
|
|
||||||
eth::Assembly const& getAssembly() const { return m_asm; }
|
eth::Assembly const& getAssembly() const { return m_asm; }
|
||||||
/// @arg _sourceCodes is the map of input files to source code strings
|
/// @arg _sourceCodes is the map of input files to source code strings
|
||||||
void streamAssembly(std::ostream& _stream, StringMap const& _sourceCodes = StringMap()) const { m_asm.streamRLP(_stream, "", _sourceCodes); }
|
void streamAssembly(std::ostream& _stream, StringMap const& _sourceCodes = StringMap()) const { m_asm.stream(_stream, "", _sourceCodes); }
|
||||||
|
|
||||||
bytes getAssembledBytecode(bool _optimize = false) { return m_asm.optimise(_optimize).assemble(); }
|
bytes getAssembledBytecode(bool _optimize = false) { return m_asm.optimise(_optimize).assemble(); }
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user