mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-22 12:46:44 +00:00
test cases for JUMP(I)
This commit is contained in:
parent
d6e6a5f558
commit
2c3d0cc375
13 changed files with 69 additions and 8 deletions
1
evmcc/test/jump/badindirect1.evm
Normal file
1
evmcc/test/jump/badindirect1.evm
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
601b602502585d
|
||||||
9
evmcc/test/jump/badindirect1.lll
Normal file
9
evmcc/test/jump/badindirect1.lll
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
;; Indirect jump out of code
|
||||||
|
|
||||||
|
(asm
|
||||||
|
27
|
||||||
|
37
|
||||||
|
MUL
|
||||||
|
JUMP
|
||||||
|
JUMPDEST
|
||||||
|
)
|
||||||
1
evmcc/test/jump/badindirect2.evm
Normal file
1
evmcc/test/jump/badindirect2.evm
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
60016003600302596000600058
|
||||||
12
evmcc/test/jump/badindirect2.lll
Normal file
12
evmcc/test/jump/badindirect2.lll
Normal file
|
|
@ -0,0 +1,12 @@
|
||||||
|
;; Indirect jump into data
|
||||||
|
|
||||||
|
(asm
|
||||||
|
1 ;; 0
|
||||||
|
3
|
||||||
|
3
|
||||||
|
MUL ;; 6
|
||||||
|
JUMPI ;; 7
|
||||||
|
0 ;; 8
|
||||||
|
0
|
||||||
|
JUMP
|
||||||
|
)
|
||||||
|
|
@ -1 +1 @@
|
||||||
601b602502585d
|
6103e758
|
||||||
|
|
|
||||||
|
|
@ -1,9 +1,6 @@
|
||||||
;; Bad indirect jump. Should go to BadJumpBlock.
|
;; Direct jump out of code.
|
||||||
|
|
||||||
(asm
|
(asm
|
||||||
27
|
999
|
||||||
37
|
|
||||||
MUL
|
|
||||||
JUMP
|
JUMP
|
||||||
JUMPDEST
|
|
||||||
)
|
)
|
||||||
1
evmcc/test/jump/badjump2.evm
Normal file
1
evmcc/test/jump/badjump2.evm
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
6004586000600058
|
||||||
9
evmcc/test/jump/badjump2.lll
Normal file
9
evmcc/test/jump/badjump2.lll
Normal file
|
|
@ -0,0 +1,9 @@
|
||||||
|
;; Direct jump into data
|
||||||
|
|
||||||
|
(asm
|
||||||
|
4 ;; 0 0-3
|
||||||
|
JUMP ;; 2
|
||||||
|
0 ;; 3 3-4
|
||||||
|
0 ;; 5 4-7
|
||||||
|
JUMP ;; 6
|
||||||
|
)
|
||||||
|
|
@ -4,14 +4,14 @@
|
||||||
8 ;; 0
|
8 ;; 0
|
||||||
6 ;; 2
|
6 ;; 2
|
||||||
ADD ;; 4
|
ADD ;; 4
|
||||||
JUMP ;; 5
|
JUMP ;; 5 --> 14
|
||||||
STOP ;; 6
|
STOP ;; 6
|
||||||
JUMPDEST ;; 7
|
JUMPDEST ;; 7
|
||||||
1 ;; 8
|
1 ;; 8
|
||||||
0 ;; 10
|
0 ;; 10
|
||||||
MSTORE ;; 12
|
MSTORE ;; 12
|
||||||
STOP ;; 13
|
STOP ;; 13
|
||||||
JUMPDEST ;; 14
|
JUMPDEST ;; 14
|
||||||
2
|
2
|
||||||
0
|
0
|
||||||
MSTORE
|
MSTORE
|
||||||
|
|
|
||||||
1
evmcc/test/jump/indirect3.evm
Normal file
1
evmcc/test/jump/indirect3.evm
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
6001600460050159005d6001600054
|
||||||
14
evmcc/test/jump/indirect3.lll
Normal file
14
evmcc/test/jump/indirect3.lll
Normal file
|
|
@ -0,0 +1,14 @@
|
||||||
|
;; Indirect JUMP
|
||||||
|
|
||||||
|
(asm
|
||||||
|
1 ;; 0
|
||||||
|
4 ;; 2
|
||||||
|
5 ;; 4
|
||||||
|
ADD ;; 6
|
||||||
|
JUMPI ;; 7
|
||||||
|
STOP ;; 8
|
||||||
|
JUMPDEST ;; 9
|
||||||
|
1
|
||||||
|
0
|
||||||
|
MSTORE
|
||||||
|
)
|
||||||
1
evmcc/test/jump/indirect4.evm
Normal file
1
evmcc/test/jump/indirect4.evm
Normal file
|
|
@ -0,0 +1 @@
|
||||||
|
60006007600501596001600054005d00
|
||||||
15
evmcc/test/jump/indirect4.lll
Normal file
15
evmcc/test/jump/indirect4.lll
Normal file
|
|
@ -0,0 +1,15 @@
|
||||||
|
;; Indirect JUMP
|
||||||
|
|
||||||
|
(asm
|
||||||
|
0 ;; 0
|
||||||
|
7 ;; 2
|
||||||
|
5 ;; 4
|
||||||
|
ADD ;; 6
|
||||||
|
JUMPI ;; 7
|
||||||
|
1 ;; 8
|
||||||
|
0 ;; 9
|
||||||
|
MSTORE ;; 10
|
||||||
|
STOP ;; 11
|
||||||
|
JUMPDEST ;; 12
|
||||||
|
STOP
|
||||||
|
)
|
||||||
Loading…
Reference in a new issue