mirror of
https://github.com/status-im/evmc.git
synced 2025-02-24 08:58:12 +00:00
271 lines
3.3 KiB
C
271 lines
3.3 KiB
C
|
/* EVMC: Ethereum Client-VM Connector API.
|
||
|
* Copyright 2018 Pawel Bylica.
|
||
|
* Licensed under the MIT License. See the LICENSE file.
|
||
|
*/
|
||
|
|
||
|
#include <evmc/instructions.h>
|
||
|
|
||
|
static const char* names[256] = {
|
||
|
"STOP",
|
||
|
"ADD",
|
||
|
"MUL",
|
||
|
"SUB",
|
||
|
"DIV",
|
||
|
"SDIV",
|
||
|
"MOD",
|
||
|
"SMOD",
|
||
|
"ADDMOD",
|
||
|
"MULMOD",
|
||
|
"EXP",
|
||
|
"SIGNEXTEND",
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
"LT",
|
||
|
"GT",
|
||
|
"SLT",
|
||
|
"SGT",
|
||
|
"EQ",
|
||
|
"ISZERO",
|
||
|
"AND",
|
||
|
"OR",
|
||
|
"XOR",
|
||
|
"NOT",
|
||
|
"BYTE",
|
||
|
"SHL",
|
||
|
"SHR",
|
||
|
"SAR",
|
||
|
NULL,
|
||
|
NULL,
|
||
|
"SHA3",
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
"ADDRESS",
|
||
|
"BALANCE",
|
||
|
"ORIGIN",
|
||
|
"CALLER",
|
||
|
"CALLVALUE",
|
||
|
"CALLDATALOAD",
|
||
|
"CALLDATASIZE",
|
||
|
"CALLDATACOPY",
|
||
|
"CODESIZE",
|
||
|
"CODECOPY",
|
||
|
"GASPRICE",
|
||
|
"EXTCODESIZE",
|
||
|
"EXTCODECOPY",
|
||
|
"RETURNDATASIZE",
|
||
|
"RETURNDATACOPY",
|
||
|
NULL,
|
||
|
"BLOCKHASH",
|
||
|
"COINBASE",
|
||
|
"TIMESTAMP",
|
||
|
"NUMBER",
|
||
|
"DIFFICULTY",
|
||
|
"GASLIMIT",
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
"POP",
|
||
|
"MLOAD",
|
||
|
"MSTORE",
|
||
|
"MSTORE8",
|
||
|
"SLOAD",
|
||
|
"SSTORE",
|
||
|
"JUMP",
|
||
|
"JUMPI",
|
||
|
"PC",
|
||
|
"MSIZE",
|
||
|
"GAS",
|
||
|
"JUMPDEST",
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
"PUSH1",
|
||
|
"PUSH2",
|
||
|
"PUSH3",
|
||
|
"PUSH4",
|
||
|
"PUSH5",
|
||
|
"PUSH6",
|
||
|
"PUSH7",
|
||
|
"PUSH8",
|
||
|
"PUSH9",
|
||
|
"PUSH10",
|
||
|
"PUSH11",
|
||
|
"PUSH12",
|
||
|
"PUSH13",
|
||
|
"PUSH14",
|
||
|
"PUSH15",
|
||
|
"PUSH16",
|
||
|
"PUSH17",
|
||
|
"PUSH18",
|
||
|
"PUSH19",
|
||
|
"PUSH20",
|
||
|
"PUSH21",
|
||
|
"PUSH22",
|
||
|
"PUSH23",
|
||
|
"PUSH24",
|
||
|
"PUSH25",
|
||
|
"PUSH26",
|
||
|
"PUSH27",
|
||
|
"PUSH28",
|
||
|
"PUSH29",
|
||
|
"PUSH30",
|
||
|
"PUSH31",
|
||
|
"PUSH32",
|
||
|
"DUP1",
|
||
|
"DUP2",
|
||
|
"DUP3",
|
||
|
"DUP4",
|
||
|
"DUP5",
|
||
|
"DUP6",
|
||
|
"DUP7",
|
||
|
"DUP8",
|
||
|
"DUP9",
|
||
|
"DUP10",
|
||
|
"DUP11",
|
||
|
"DUP12",
|
||
|
"DUP13",
|
||
|
"DUP14",
|
||
|
"DUP15",
|
||
|
"DUP16",
|
||
|
"SWAP1",
|
||
|
"SWAP2",
|
||
|
"SWAP3",
|
||
|
"SWAP4",
|
||
|
"SWAP5",
|
||
|
"SWAP6",
|
||
|
"SWAP7",
|
||
|
"SWAP8",
|
||
|
"SWAP9",
|
||
|
"SWAP10",
|
||
|
"SWAP11",
|
||
|
"SWAP12",
|
||
|
"SWAP13",
|
||
|
"SWAP14",
|
||
|
"SWAP15",
|
||
|
"SWAP16",
|
||
|
"LOG0",
|
||
|
"LOG1",
|
||
|
"LOG2",
|
||
|
"LOG3",
|
||
|
"LOG4",
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
"CREATE",
|
||
|
"CALL",
|
||
|
"CALLCODE",
|
||
|
"RETURN",
|
||
|
"DELEGATECALL",
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
NULL,
|
||
|
"STATICCALL",
|
||
|
NULL,
|
||
|
NULL,
|
||
|
"REVERT",
|
||
|
"INVALID",
|
||
|
"SUICIDE",
|
||
|
};
|
||
|
|
||
|
const char* const* evmc_get_instruction_name_table()
|
||
|
{
|
||
|
return names;
|
||
|
}
|