From 6f1f961f85040a6e4a87f8810ea93fdfb3385495 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pawe=C5=82=20Bylica?= Date: Mon, 11 Jun 2018 17:11:09 +0200 Subject: [PATCH] Use name prefix for EVM opcode enum items --- include/evmc/instructions.h | 282 +++++++++++++-------------- test/unittests/test_instructions.cpp | 32 +-- 2 files changed, 156 insertions(+), 158 deletions(-) diff --git a/include/evmc/instructions.h b/include/evmc/instructions.h index 71756d4..1f39eb0 100644 --- a/include/evmc/instructions.h +++ b/include/evmc/instructions.h @@ -14,159 +14,157 @@ extern "C" { #endif /** - * The list of EVM 1 instructions from every EVM revision. + * The list of EVM 1 opcodes from every EVM revision. */ -enum evmc_instruction +enum evmc_opcode { - STOP = 0x00, - ADD, - MUL, - SUB, - DIV, - SDIV, - MOD, - SMOD, - ADDMOD, - MULMOD, - EXP, - SIGNEXTEND, + OP_STOP = 0x00, + OP_ADD = 0x01, + OP_MUL = 0x02, + OP_SUB = 0x03, + OP_DIV = 0x04, + OP_SDIV = 0x05, + OP_MOD = 0x06, + OP_SMOD = 0x07, + OP_ADDMOD = 0x08, + OP_MULMOD = 0x09, + OP_EXP = 0x0a, + OP_SIGNEXTEND = 0x0b, - LT = 0x10, - GT, - SLT, - SGT, - EQ, - ISZERO, - AND, - OR, - XOR, - NOT, - BYTE, - SHL, - SHR, - SAR, + OP_LT = 0x10, + OP_GT = 0x11, + OP_SLT = 0x12, + OP_SGT = 0x13, + OP_EQ = 0x14, + OP_ISZERO = 0x15, + OP_AND = 0x16, + OP_OR = 0x17, + OP_XOR = 0x18, + OP_NOT = 0x19, + OP_BYTE = 0x1a, + OP_SHL = 0x1b, + OP_SHR = 0x1c, + OP_SAR = 0x1d, - SHA3 = 0x20, + OP_SHA3 = 0x20, - ADDRESS = 0x30, - BALANCE, - ORIGIN, - CALLER, - CALLVALUE, - CALLDATALOAD, - CALLDATASIZE, - CALLDATACOPY, - CODESIZE, - CODECOPY, - GASPRICE, - EXTCODESIZE, - EXTCODECOPY, - RETURNDATASIZE = 0x3d, - RETURNDATACOPY = 0x3e, + OP_ADDRESS = 0x30, + OP_BALANCE = 0x31, + OP_ORIGIN = 0x32, + OP_CALLER = 0x33, + OP_CALLVALUE = 0x34, + OP_CALLDATALOAD = 0x35, + OP_CALLDATASIZE = 0x36, + OP_CALLDATACOPY = 0x37, + OP_CODESIZE = 0x38, + OP_CODECOPY = 0x39, + OP_GASPRICE = 0x3a, + OP_EXTCODESIZE = 0x3b, + OP_EXTCODECOPY = 0x3c, + OP_RETURNDATASIZE = 0x3d, + OP_RETURNDATACOPY = 0x3e, - BLOCKHASH = 0x40, - COINBASE, - TIMESTAMP, - NUMBER, - DIFFICULTY, - GASLIMIT, + OP_BLOCKHASH = 0x40, + OP_COINBASE = 0x41, + OP_TIMESTAMP = 0x42, + OP_NUMBER = 0x43, + OP_DIFFICULTY = 0x44, + OP_GASLIMIT = 0x45, - POP = 0x50, - MLOAD, - MSTORE, - MSTORE8, - SLOAD, - SSTORE, - JUMP, - JUMPI, - PC, - MSIZE, - GAS, - JUMPDEST, + OP_POP = 0x50, + OP_MLOAD = 0x51, + OP_MSTORE = 0x52, + OP_MSTORE8 = 0x53, + OP_SLOAD = 0x54, + OP_SSTORE = 0x55, + OP_JUMP = 0x56, + OP_JUMPI = 0x57, + OP_PC = 0x58, + OP_MSIZE = 0x59, + OP_GAS = 0x5a, + OP_JUMPDEST = 0x5b, - PUSH1 = 0x60, - 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, + OP_PUSH1 = 0x60, + OP_PUSH2 = 0x61, + OP_PUSH3 = 0x62, + OP_PUSH4 = 0x63, + OP_PUSH5 = 0x64, + OP_PUSH6 = 0x65, + OP_PUSH7 = 0x66, + OP_PUSH8 = 0x67, + OP_PUSH9 = 0x68, + OP_PUSH10 = 0x69, + OP_PUSH11 = 0x6a, + OP_PUSH12 = 0x6b, + OP_PUSH13 = 0x6c, + OP_PUSH14 = 0x6d, + OP_PUSH15 = 0x6e, + OP_PUSH16 = 0x6f, + OP_PUSH17 = 0x70, + OP_PUSH18 = 0x71, + OP_PUSH19 = 0x72, + OP_PUSH20 = 0x73, + OP_PUSH21 = 0x74, + OP_PUSH22 = 0x75, + OP_PUSH23 = 0x76, + OP_PUSH24 = 0x77, + OP_PUSH25 = 0x78, + OP_PUSH26 = 0x79, + OP_PUSH27 = 0x7a, + OP_PUSH28 = 0x7b, + OP_PUSH29 = 0x7c, + OP_PUSH30 = 0x7d, + OP_PUSH31 = 0x7e, + OP_PUSH32 = 0x7f, + OP_DUP1 = 0x80, + OP_DUP2 = 0x81, + OP_DUP3 = 0x82, + OP_DUP4 = 0x83, + OP_DUP5 = 0x84, + OP_DUP6 = 0x85, + OP_DUP7 = 0x86, + OP_DUP8 = 0x87, + OP_DUP9 = 0x88, + OP_DUP10 = 0x89, + OP_DUP11 = 0x8a, + OP_DUP12 = 0x8b, + OP_DUP13 = 0x8c, + OP_DUP14 = 0x8d, + OP_DUP15 = 0x8e, + OP_DUP16 = 0x8f, + OP_SWAP1 = 0x90, + OP_SWAP2 = 0x91, + OP_SWAP3 = 0x92, + OP_SWAP4 = 0x93, + OP_SWAP5 = 0x94, + OP_SWAP6 = 0x95, + OP_SWAP7 = 0x96, + OP_SWAP8 = 0x97, + OP_SWAP9 = 0x98, + OP_SWAP10 = 0x99, + OP_SWAP11 = 0x9a, + OP_SWAP12 = 0x9b, + OP_SWAP13 = 0x9c, + OP_SWAP14 = 0x9d, + OP_SWAP15 = 0x9e, + OP_SWAP16 = 0x9f, + OP_LOG0 = 0xa0, + OP_LOG1 = 0xa1, + OP_LOG2 = 0xa2, + OP_LOG3 = 0xa3, + OP_LOG4 = 0xa4, - DUP1 = 0x80, - DUP2, - DUP3, - DUP4, - DUP5, - DUP6, - DUP7, - DUP8, - DUP9, - DUP10, - DUP11, - DUP12, - DUP13, - DUP14, - DUP15, - DUP16, + OP_CREATE = 0xf0, + OP_CALL = 0xf1, + OP_CALLCODE = 0xf2, + OP_RETURN = 0xf3, + OP_DELEGATECALL = 0xf4, - SWAP1 = 0x90, - SWAP2, - SWAP3, - SWAP4, - SWAP5, - SWAP6, - SWAP7, - SWAP8, - SWAP9, - SWAP10, - SWAP11, - SWAP12, - SWAP13, - SWAP14, - SWAP15, - SWAP16, + OP_STATICCALL = 0xfa, - LOG0 = 0xa0, - LOG1, - LOG2, - LOG3, - LOG4, - - CREATE = 0xf0, - CALL, - CALLCODE, - RETURN, - DELEGATECALL, - STATICCALL = 0xfa, - - REVERT = 0xfd, - INVALID = 0xfe, - SELFDESTRUCT = 0xff, + OP_REVERT = 0xfd, + OP_INVALID = 0xfe, + OP_SELFDESTRUCT = 0xff, }; /** diff --git a/test/unittests/test_instructions.cpp b/test/unittests/test_instructions.cpp index 0f6858d..5facae4 100644 --- a/test/unittests/test_instructions.cpp +++ b/test/unittests/test_instructions.cpp @@ -11,27 +11,27 @@ TEST(instructions, tangerine_whistle_hard_fork) const auto h = evmc_get_instruction_metrics_table(EVMC_HOMESTEAD); const auto tw = evmc_get_instruction_metrics_table(EVMC_TANGERINE_WHISTLE); - EXPECT_EQ(h[EXTCODESIZE].gas_cost, 20); - EXPECT_EQ(tw[EXTCODESIZE].gas_cost, 700); + EXPECT_EQ(h[OP_EXTCODESIZE].gas_cost, 20); + EXPECT_EQ(tw[OP_EXTCODESIZE].gas_cost, 700); - EXPECT_EQ(h[EXTCODECOPY].gas_cost, 20); - EXPECT_EQ(tw[EXTCODECOPY].gas_cost, 700); + EXPECT_EQ(h[OP_EXTCODECOPY].gas_cost, 20); + EXPECT_EQ(tw[OP_EXTCODECOPY].gas_cost, 700); - EXPECT_EQ(h[BALANCE].gas_cost, 20); - EXPECT_EQ(tw[BALANCE].gas_cost, 400); + EXPECT_EQ(h[OP_BALANCE].gas_cost, 20); + EXPECT_EQ(tw[OP_BALANCE].gas_cost, 400); - EXPECT_EQ(h[SLOAD].gas_cost, 50); - EXPECT_EQ(tw[SLOAD].gas_cost, 200); + EXPECT_EQ(h[OP_SLOAD].gas_cost, 50); + EXPECT_EQ(tw[OP_SLOAD].gas_cost, 200); - EXPECT_EQ(h[CALL].gas_cost, 40); - EXPECT_EQ(tw[CALL].gas_cost, 700); + EXPECT_EQ(h[OP_CALL].gas_cost, 40); + EXPECT_EQ(tw[OP_CALL].gas_cost, 700); - EXPECT_EQ(h[CALLCODE].gas_cost, 40); - EXPECT_EQ(tw[CALLCODE].gas_cost, 700); + EXPECT_EQ(h[OP_CALLCODE].gas_cost, 40); + EXPECT_EQ(tw[OP_CALLCODE].gas_cost, 700); - EXPECT_EQ(h[DELEGATECALL].gas_cost, 40); - EXPECT_EQ(tw[DELEGATECALL].gas_cost, 700); + EXPECT_EQ(h[OP_DELEGATECALL].gas_cost, 40); + EXPECT_EQ(tw[OP_DELEGATECALL].gas_cost, 700); - EXPECT_EQ(h[SELFDESTRUCT].gas_cost, 0); - EXPECT_EQ(tw[SELFDESTRUCT].gas_cost, 5000); + EXPECT_EQ(h[OP_SELFDESTRUCT].gas_cost, 0); + EXPECT_EQ(tw[OP_SELFDESTRUCT].gas_cost, 5000); } \ No newline at end of file