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

Method run

libyul/backends/evm/StackLayoutGenerator.cpp:48–65  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

46using namespace solidity::yul;
47
48StackLayout StackLayoutGenerator::run(CFG const& _cfg, EVMDialect const& _evmDialect)
49{
50 StackLayout stackLayout{{}, {}};
51 StackLayoutGenerator{
52 stackLayout,
53 nullptr,
54 _evmDialect
55 }.processEntryPoint(*_cfg.entry);
56
57 for (auto& functionInfo: _cfg.functionInfo | ranges::views::values)
58 StackLayoutGenerator{
59 stackLayout,
60 &functionInfo,
61 _evmDialect
62 }.processEntryPoint(*functionInfo.entry, &functionInfo);
63
64 return stackLayout;
65}
66
67std::map<YulName, std::vector<StackLayoutGenerator::StackTooDeep>> StackLayoutGenerator::reportStackTooDeep(
68 CFG const& _cfg,

Callers 5

processEntryPointMethod · 0.45
collectBackwardsJumpsMethod · 0.45
reportStackTooDeepMethod · 0.45
fillInJunkMethod · 0.45

Calls 1

processEntryPointMethod · 0.80

Tested by

no test coverage detected