mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Add instructions for "evm384"
This commit is contained in:
parent
0bbfe45376
commit
0460c0d5df
@ -165,6 +165,9 @@ std::map<std::string, Instruction> const solidity::evmasm::c_instructions =
|
|||||||
{ "LOG2", Instruction::LOG2 },
|
{ "LOG2", Instruction::LOG2 },
|
||||||
{ "LOG3", Instruction::LOG3 },
|
{ "LOG3", Instruction::LOG3 },
|
||||||
{ "LOG4", Instruction::LOG4 },
|
{ "LOG4", Instruction::LOG4 },
|
||||||
|
{ "ADDMOD384", Instruction::ADDMOD384 },
|
||||||
|
{ "SUBMOD384", Instruction::SUBMOD384 },
|
||||||
|
{ "MULMODMONT384", Instruction::MULMODMONT384 },
|
||||||
{ "CREATE", Instruction::CREATE },
|
{ "CREATE", Instruction::CREATE },
|
||||||
{ "CALL", Instruction::CALL },
|
{ "CALL", Instruction::CALL },
|
||||||
{ "CALLCODE", Instruction::CALLCODE },
|
{ "CALLCODE", Instruction::CALLCODE },
|
||||||
@ -311,6 +314,11 @@ static std::map<Instruction, InstructionInfo> const c_instructionInfo =
|
|||||||
{ Instruction::LOG2, { "LOG2", 0, 4, 0, true, Tier::Special } },
|
{ Instruction::LOG2, { "LOG2", 0, 4, 0, true, Tier::Special } },
|
||||||
{ Instruction::LOG3, { "LOG3", 0, 5, 0, true, Tier::Special } },
|
{ Instruction::LOG3, { "LOG3", 0, 5, 0, true, Tier::Special } },
|
||||||
{ Instruction::LOG4, { "LOG4", 0, 6, 0, true, Tier::Special } },
|
{ Instruction::LOG4, { "LOG4", 0, 6, 0, true, Tier::Special } },
|
||||||
|
|
||||||
|
{ Instruction::ADDMOD384, { "ADDMOD384", 0, 3, 0, true, Tier::Low } },
|
||||||
|
{ Instruction::SUBMOD384, { "SUBMOD384", 0, 3, 0, true, Tier::Low } },
|
||||||
|
{ Instruction::MULMODMONT384, { "MULMODMONT384", 0, 4, 0, true, Tier::Low } },
|
||||||
|
|
||||||
{ Instruction::CREATE, { "CREATE", 0, 3, 1, true, Tier::Special } },
|
{ Instruction::CREATE, { "CREATE", 0, 3, 1, true, Tier::Special } },
|
||||||
{ Instruction::CALL, { "CALL", 0, 7, 1, true, Tier::Special } },
|
{ Instruction::CALL, { "CALL", 0, 7, 1, true, Tier::Special } },
|
||||||
{ Instruction::CALLCODE, { "CALLCODE", 0, 7, 1, true, Tier::Special } },
|
{ Instruction::CALLCODE, { "CALLCODE", 0, 7, 1, true, Tier::Special } },
|
||||||
|
@ -185,6 +185,10 @@ enum class Instruction: uint8_t
|
|||||||
PUTLOCAL, ///< pop top of stack to local variable -- not part of Instructions.cpp
|
PUTLOCAL, ///< pop top of stack to local variable -- not part of Instructions.cpp
|
||||||
GETLOCAL, ///< push local variable to top of stack -- not part of Instructions.cpp
|
GETLOCAL, ///< push local variable to top of stack -- not part of Instructions.cpp
|
||||||
|
|
||||||
|
ADDMOD384 = 0xc0,
|
||||||
|
SUBMOD384 = 0xc1,
|
||||||
|
MULMODMONT384 = 0xc2,
|
||||||
|
|
||||||
CREATE = 0xf0, ///< create a new account with associated code
|
CREATE = 0xf0, ///< create a new account with associated code
|
||||||
CALL, ///< message-call into an account
|
CALL, ///< message-call into an account
|
||||||
CALLCODE, ///< message-call with another account's code only
|
CALLCODE, ///< message-call with another account's code only
|
||||||
|
@ -417,6 +417,9 @@ u256 EVMInstructionInterpreter::eval(
|
|||||||
case Instruction::RETURNSUB:
|
case Instruction::RETURNSUB:
|
||||||
case Instruction::PUTLOCAL:
|
case Instruction::PUTLOCAL:
|
||||||
case Instruction::GETLOCAL:
|
case Instruction::GETLOCAL:
|
||||||
|
case Instruction::ADDMOD384:
|
||||||
|
case Instruction::SUBMOD384:
|
||||||
|
case Instruction::MULMODMONT384:
|
||||||
{
|
{
|
||||||
yulAssert(false, "");
|
yulAssert(false, "");
|
||||||
return 0;
|
return 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user