| 137 | } |
| 138 | |
| 139 | void CompilerContext::callYulFunction( |
| 140 | std::string const& _name, |
| 141 | unsigned _inArgs, |
| 142 | unsigned _outArgs |
| 143 | ) |
| 144 | { |
| 145 | m_externallyUsedYulFunctions.insert(_name); |
| 146 | auto const retTag = pushNewTag(); |
| 147 | CompilerUtils(*this).moveIntoStack(_inArgs); |
| 148 | appendJumpTo(namedTag(_name, _inArgs, _outArgs, {}), evmasm::AssemblyItem::JumpType::IntoFunction); |
| 149 | adjustStackOffset(static_cast<int>(_outArgs) - 1 - static_cast<int>(_inArgs)); |
| 150 | *this << retTag.tag(); |
| 151 | } |
| 152 | |
| 153 | evmasm::AssemblyItem CompilerContext::lowLevelFunctionTag( |
| 154 | std::string const& _name, |
no test coverage detected