mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Better interface for instrInfo.
This commit is contained in:
parent
74f198c043
commit
00caaf53d2
@ -31,7 +31,7 @@ int AssemblyItem::deposit() const
|
|||||||
switch (m_type)
|
switch (m_type)
|
||||||
{
|
{
|
||||||
case Operation:
|
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:
|
case Push: case PushString: case PushTag: case PushData: case PushSub: case PushSubSize:
|
||||||
return 1;
|
return 1;
|
||||||
case Tag:
|
case Tag:
|
||||||
@ -116,7 +116,7 @@ ostream& eth::operator<<(ostream& _out, AssemblyItemsConstRef _i)
|
|||||||
switch (i.type())
|
switch (i.type())
|
||||||
{
|
{
|
||||||
case Operation:
|
case Operation:
|
||||||
_out << " " << c_instructionInfo.at((Instruction)(byte)i.data()).name;
|
_out << " " << instructionInfo((Instruction)(byte)i.data()).name;
|
||||||
break;
|
break;
|
||||||
case Push:
|
case Push:
|
||||||
_out << " PUSH" << i.data();
|
_out << " PUSH" << i.data();
|
||||||
@ -153,7 +153,7 @@ ostream& Assembly::streamOut(ostream& _out, string const& _prefix) const
|
|||||||
switch (i.m_type)
|
switch (i.m_type)
|
||||||
{
|
{
|
||||||
case Operation:
|
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;
|
break;
|
||||||
case Push:
|
case Push:
|
||||||
_out << _prefix << " PUSH " << i.m_data << endl;
|
_out << _prefix << " PUSH " << i.m_data << endl;
|
||||||
|
@ -369,7 +369,7 @@ void CodeFragment::constructOperation(sp::utree const& _t, CompilerState& _s)
|
|||||||
else if (c_instructions.count(us))
|
else if (c_instructions.count(us))
|
||||||
{
|
{
|
||||||
auto it = c_instructions.find(us);
|
auto it = c_instructions.find(us);
|
||||||
int ea = c_instructionInfo.at(it->second).args;
|
int ea = instructionInfo(it->second).args;
|
||||||
if (ea >= 0)
|
if (ea >= 0)
|
||||||
requireSize(ea);
|
requireSize(ea);
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user