mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
f
This commit is contained in:
parent
4d4dfbc456
commit
26f5db3b84
@ -212,7 +212,7 @@ public:
|
|||||||
CompilerContext& appendJumpTo(
|
CompilerContext& appendJumpTo(
|
||||||
evmasm::AssemblyItem const& _tag,
|
evmasm::AssemblyItem const& _tag,
|
||||||
evmasm::AssemblyItem::JumpType _jumpType = evmasm::AssemblyItem::JumpType::Ordinary
|
evmasm::AssemblyItem::JumpType _jumpType = evmasm::AssemblyItem::JumpType::Ordinary
|
||||||
) { *m_asm << _tag.pushTag(); return appendJump(_jumpType); }
|
) { evmasm::AssemblyItem item = m_asm->appendStaticJump(_tag); item.setJumpType(_jumpType); return *this << item; }
|
||||||
/// Appends pushing of a new tag and @returns the new tag.
|
/// Appends pushing of a new tag and @returns the new tag.
|
||||||
evmasm::AssemblyItem pushNewTag() { return m_asm->append(m_asm->newPushTag()).tag(); }
|
evmasm::AssemblyItem pushNewTag() { return m_asm->append(m_asm->newPushTag()).tag(); }
|
||||||
/// @returns a new tag without pushing any opcodes or data
|
/// @returns a new tag without pushing any opcodes or data
|
||||||
|
@ -1269,15 +1269,15 @@ void CompilerStack::assemble(
|
|||||||
|
|
||||||
compiledContract.evmAssembly = _assembly;
|
compiledContract.evmAssembly = _assembly;
|
||||||
solAssert(compiledContract.evmAssembly, "");
|
solAssert(compiledContract.evmAssembly, "");
|
||||||
try
|
// try
|
||||||
{
|
// {
|
||||||
// Assemble deployment (incl. runtime) object.
|
// Assemble deployment (incl. runtime) object.
|
||||||
compiledContract.object = compiledContract.evmAssembly->assemble();
|
compiledContract.object = compiledContract.evmAssembly->assemble();
|
||||||
}
|
// }
|
||||||
catch (evmasm::AssemblyException const&)
|
// catch (evmasm::AssemblyException const&)
|
||||||
{
|
// {
|
||||||
solAssert(false, "Assembly exception for bytecode");
|
// solAssert(false, "Assembly exception for bytecode");
|
||||||
}
|
// }
|
||||||
solAssert(compiledContract.object.immutableReferences.empty(), "Leftover immutables.");
|
solAssert(compiledContract.object.immutableReferences.empty(), "Leftover immutables.");
|
||||||
|
|
||||||
compiledContract.evmRuntimeAssembly = _runtimeAssembly;
|
compiledContract.evmRuntimeAssembly = _runtimeAssembly;
|
||||||
|
@ -377,6 +377,8 @@ u256 EVMInstructionInterpreter::eval(
|
|||||||
case Instruction::JUMP:
|
case Instruction::JUMP:
|
||||||
case Instruction::JUMPI:
|
case Instruction::JUMPI:
|
||||||
case Instruction::JUMPDEST:
|
case Instruction::JUMPDEST:
|
||||||
|
case Instruction::RJUMP:
|
||||||
|
case Instruction::RJUMPI:
|
||||||
case Instruction::PUSH1:
|
case Instruction::PUSH1:
|
||||||
case Instruction::PUSH2:
|
case Instruction::PUSH2:
|
||||||
case Instruction::PUSH3:
|
case Instruction::PUSH3:
|
||||||
|
Loading…
Reference in New Issue
Block a user