Better interface for instrInfo.

This commit is contained in:
Gav Wood 2014-08-26 22:27:45 +02:00
parent 74f198c043
commit 00caaf53d2
2 changed files with 4 additions and 4 deletions

View File

@ -31,7 +31,7 @@ int AssemblyItem::deposit() const
switch (m_type)
{
case Operation:
return c_instructionInfo.at((Instruction)(byte)m_data).ret - c_instructionInfo.at((Instruction)(byte)m_data).args;
return instructionInfo((Instruction)(byte)m_data).ret - instructionInfo((Instruction)(byte)m_data).args;
case Push: case PushString: case PushTag: case PushData: case PushSub: case PushSubSize:
return 1;
case Tag:
@ -116,7 +116,7 @@ ostream& eth::operator<<(ostream& _out, AssemblyItemsConstRef _i)
switch (i.type())
{
case Operation:
_out << " " << c_instructionInfo.at((Instruction)(byte)i.data()).name;
_out << " " << instructionInfo((Instruction)(byte)i.data()).name;
break;
case Push:
_out << " PUSH" << i.data();
@ -153,7 +153,7 @@ ostream& Assembly::streamOut(ostream& _out, string const& _prefix) const
switch (i.m_type)
{
case Operation:
_out << _prefix << " " << c_instructionInfo.at((Instruction)(byte)i.m_data).name << endl;
_out << _prefix << " " << instructionInfo((Instruction)(byte)i.m_data).name << endl;
break;
case Push:
_out << _prefix << " PUSH " << i.m_data << endl;

View File

@ -369,7 +369,7 @@ void CodeFragment::constructOperation(sp::utree const& _t, CompilerState& _s)
else if (c_instructions.count(us))
{
auto it = c_instructions.find(us);
int ea = c_instructionInfo.at(it->second).args;
int ea = instructionInfo(it->second).args;
if (ea >= 0)
requireSize(ea);
else