Some simplifications.

This commit is contained in:
Daniel Kirchner 2022-12-21 15:56:25 +01:00
parent 2618c84cb4
commit 4078802c72
7 changed files with 3 additions and 10 deletions

View File

@ -33,7 +33,6 @@ using namespace solidity::util;
CompilabilityChecker::CompilabilityChecker(
Dialect const& _dialect,
std::optional<uint8_t> _eofVersion,
Object const& _object,
bool _optimizeStackAllocation
)
@ -51,7 +50,7 @@ CompilabilityChecker::CompilabilityChecker(
builtinContext.subIDs[_object.name] = 1;
for (auto const& subNode: _object.subObjects)
builtinContext.subIDs[subNode->name] = 1;
NoOutputAssembly assembly(_eofVersion.has_value());
NoOutputAssembly assembly;
CodeTransform transform(
assembly,
analysisInfo,

View File

@ -46,7 +46,6 @@ struct CompilabilityChecker
{
CompilabilityChecker(
Dialect const& _dialect,
std::optional<uint8_t> _eofVersion,
Object const& _object,
bool _optimizeStackAllocation
);

View File

@ -52,8 +52,7 @@ struct NoOutputAssemblyContext
class NoOutputAssembly: public AbstractAssembly
{
public:
explicit NoOutputAssembly(bool _hasFunctions): m_hasFunctions(_hasFunctions), m_context(std::make_shared<NoOutputAssemblyContext>()) { }
NoOutputAssembly(bool _hasFunctions, std::shared_ptr<NoOutputAssemblyContext> _context): m_hasFunctions(_hasFunctions), m_context(_context) {}
explicit NoOutputAssembly(): m_context(std::make_shared<NoOutputAssemblyContext>()) { }
~NoOutputAssembly() override = default;
@ -92,7 +91,6 @@ public:
void markAsInvalid() override {}
private:
bool m_hasFunctions = false;
std::shared_ptr<NoOutputAssemblyContext> m_context;
int m_stackHeight = 0;
};

View File

@ -270,7 +270,7 @@ bool StackCompressor::run(
else
for (size_t iterations = 0; iterations < _maxIterations; iterations++)
{
map<YulString, int> stackSurplus = CompilabilityChecker(_dialect, _eofVersion, _object, _optimizeStackAllocation).stackDeficit;
map<YulString, int> stackSurplus = CompilabilityChecker(_dialect, _object, _optimizeStackAllocation).stackDeficit;
if (stackSurplus.empty())
return true;
eliminateVariables(

View File

@ -137,7 +137,6 @@ void StackLimitEvader::run(
else
run(_context, _object, CompilabilityChecker{
_context.dialect,
_context.eofVersion,
_object,
true
}.unreachableVariables);

View File

@ -41,7 +41,6 @@ string check(string const& _input)
BOOST_REQUIRE(obj.code);
auto functions = CompilabilityChecker(
EVMDialect::strictAssemblyForEVM(solidity::test::CommonOptions::get().evmVersion()),
solidity::test::CommonOptions::get().eofVersion(),
obj,
true
).stackDeficit;

View File

@ -348,7 +348,6 @@ YulOptimizerTestCommon::YulOptimizerTestCommon(
disambiguate();
StackLimitEvader::run(*m_context, *m_object, CompilabilityChecker{
*m_dialect,
nullopt, // TODO
*m_object,
true
}.unreachableVariables);