yulInterpreter: Add timeout based on the number of interpreted statements.

This commit is contained in:
Bhargava Shastry
2019-03-27 12:06:02 +01:00
parent 97818f6582
commit 10c3b31fa4
3 changed files with 9 additions and 0 deletions
@@ -128,6 +128,12 @@ void Interpreter::operator()(Continue const&)
void Interpreter::operator()(Block const& _block)
{
m_state.numSteps++;
if (m_state.maxSteps > 0 && m_state.numSteps >= m_state.maxSteps)
{
m_state.trace.emplace_back("Interpreter execution step limit reached.");
throw InterpreterTerminated();
}
openScope();
// Register functions.
for (auto const& statement: _block.statements)