mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
[yul-phaser] Require specifying weights for Program::codeSize()
This commit is contained in:
@@ -41,6 +41,7 @@ namespace solidity::yul
|
||||
|
||||
struct AsmAnalysisInfo;
|
||||
struct Dialect;
|
||||
struct CodeWeights;
|
||||
|
||||
}
|
||||
|
||||
@@ -78,7 +79,7 @@ public:
|
||||
static std::variant<Program, langutil::ErrorList> load(langutil::CharStream& _sourceCode);
|
||||
void optimise(std::vector<std::string> const& _optimisationSteps);
|
||||
|
||||
size_t codeSize() const { return computeCodeSize(*m_ast); }
|
||||
size_t codeSize(yul::CodeWeights const& _weights) const { return computeCodeSize(*m_ast, _weights); }
|
||||
yul::Block const& ast() const { return *m_ast; }
|
||||
|
||||
friend std::ostream& operator<<(std::ostream& _stream, Program const& _program);
|
||||
@@ -113,7 +114,7 @@ private:
|
||||
std::unique_ptr<yul::Block> _ast,
|
||||
std::vector<std::string> const& _optimisationSteps
|
||||
);
|
||||
static size_t computeCodeSize(yul::Block const& _ast);
|
||||
static size_t computeCodeSize(yul::Block const& _ast, yul::CodeWeights const& _weights);
|
||||
|
||||
std::unique_ptr<yul::Block> m_ast;
|
||||
yul::Dialect const& m_dialect;
|
||||
|
||||
Reference in New Issue
Block a user