Knowledge about storage.

This commit is contained in:
chriseth
2019-06-20 18:43:37 +02:00
parent 9bb7160c4c
commit 1f9d11c644
20 changed files with 537 additions and 6 deletions
+5
View File
@@ -63,6 +63,8 @@ void SideEffectsCollector::operator()(FunctionalInstruction const& _instr)
m_sideEffectFreeIfNoMSize = false;
if (_instr.instruction == eth::Instruction::MSIZE)
m_containsMSize = true;
if (eth::SemanticInformation::invalidatesStorage(_instr.instruction))
m_invalidatesStorage = true;
}
void SideEffectsCollector::operator()(FunctionCall const& _functionCall)
@@ -79,12 +81,15 @@ void SideEffectsCollector::operator()(FunctionCall const& _functionCall)
m_sideEffectFreeIfNoMSize = false;
if (f->isMSize)
m_containsMSize = true;
if (f->invalidatesStorage)
m_invalidatesStorage = true;
}
else
{
m_movable = false;
m_sideEffectFree = false;
m_sideEffectFreeIfNoMSize = false;
m_invalidatesStorage = true;
}
}