aboutsummaryrefslogtreecommitdiffstats
path: root/libevmasm/Instruction.h
diff options
context:
space:
mode:
authorgcolvin <greg@colvin.org>2017-08-29 02:34:30 +0800
committerAlex Beregszaszi <alex@rtfs.hu>2017-08-29 06:27:13 +0800
commit7da86daa17a1a3086161de08e71cc26c7ae8bcfc (patch)
treecd40f11b545673675a64f9b8ff70c4f24e7c2841 /libevmasm/Instruction.h
parentb364bd048ffaf233782a23dabd13622431a75aa3 (diff)
downloaddexon-solidity-7da86daa17a1a3086161de08e71cc26c7ae8bcfc.tar.gz
dexon-solidity-7da86daa17a1a3086161de08e71cc26c7ae8bcfc.tar.zst
dexon-solidity-7da86daa17a1a3086161de08e71cc26c7ae8bcfc.zip
Reconcile EVM 1.5 instruction numbers with working draft EIP615
Diffstat (limited to 'libevmasm/Instruction.h')
-rw-r--r--libevmasm/Instruction.h20
1 files changed, 11 insertions, 9 deletions
diff --git a/libevmasm/Instruction.h b/libevmasm/Instruction.h
index 89a25fb7..afbef71d 100644
--- a/libevmasm/Instruction.h
+++ b/libevmasm/Instruction.h
@@ -87,13 +87,6 @@ enum class Instruction: uint8_t
DIFFICULTY, ///< get the block's difficulty
GASLIMIT, ///< get the block's gas limit
- JUMPTO = 0x4a, ///< alter the program counter to a jumpdest -- not part of Instructions.cpp
- JUMPIF, ///< conditionally alter the program counter -- not part of Instructions.cpp
- JUMPV, ///< alter the program counter to a jumpdest -- not part of Instructions.cpp
- JUMPSUB, ///< alter the program counter to a beginsub -- not part of Instructions.cpp
- JUMPSUBV, ///< alter the program counter to a beginsub -- not part of Instructions.cpp
- RETURNSUB, ///< return to subroutine jumped from -- not part of Instructions.cpp
-
POP = 0x50, ///< remove item from stack
MLOAD, ///< load word from memory
MSTORE, ///< save word to memory
@@ -106,8 +99,6 @@ enum class Instruction: uint8_t
MSIZE, ///< get the size of active memory
GAS, ///< get the amount of available gas
JUMPDEST, ///< set a potential jump destination
- BEGINSUB, ///< set a potential jumpsub destination -- not part of Instructions.cpp
- BEGINDATA, ///< begine the data section -- not part of Instructions.cpp
PUSH1 = 0x60, ///< place 1 byte item on stack
PUSH2, ///< place 2 byte item on stack
@@ -182,6 +173,17 @@ enum class Instruction: uint8_t
LOG3, ///< Makes a log entry; 3 topics.
LOG4, ///< Makes a log entry; 4 topics.
+ JUMPTO = 0xb0, ///< alter the program counter to a jumpdest -- not part of Instructions.cpp
+ JUMPIF, ///< conditionally alter the program counter -- not part of Instructions.cpp
+ JUMPV, ///< alter the program counter to a jumpdest -- not part of Instructions.cpp
+ JUMPSUB, ///< alter the program counter to a beginsub -- not part of Instructions.cpp
+ JUMPSUBV, ///< alter the program counter to a beginsub -- not part of Instructions.cpp
+ BEGINSUB, ///< set a potential jumpsub destination -- not part of Instructions.cpp
+ BEGINDATA, ///< begin the data section -- not part of Instructions.cpp
+ RETURNSUB, ///< return to subroutine jumped from -- 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
+
CREATE = 0xf0, ///< create a new account with associated code
CALL, ///< message-call into an account
CALLCODE, ///< message-call with another account's code only