MCPcopy Create free account
hub / github.com/argotorg/solidity / callLowLevelFunction

Method callLowLevelFunction

libsolidity/codegen/CompilerContext.cpp:122–137  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

120}
121
122void CompilerContext::callLowLevelFunction(
123 std::string const& _name,
124 unsigned _inArgs,
125 unsigned _outArgs,
126 std::function<void(CompilerContext&)> const& _generator
127)
128{
129 evmasm::AssemblyItem retTag = pushNewTag();
130 CompilerUtils(*this).moveIntoStack(_inArgs);
131
132 *this << lowLevelFunctionTag(_name, _inArgs, _outArgs, _generator);
133
134 appendJump(evmasm::AssemblyItem::JumpType::IntoFunction);
135 adjustStackOffset(static_cast<int>(_outArgs) - 1 - static_cast<int>(_inArgs));
136 *this << retTag.tag();
137}
138
139void CompilerContext::callYulFunction(
140 std::string const& _name,

Callers 5

clearArrayMethod · 0.80
clearStorageLoopMethod · 0.80
convertTypeMethod · 0.80
pushZeroValueMethod · 0.80

Calls 3

moveIntoStackMethod · 0.80
tagMethod · 0.80
CompilerUtilsClass · 0.70

Tested by

no test coverage detected