mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-20 11:46:44 +00:00
test cases for jumps
This commit is contained in:
parent
dab29a94e7
commit
52d1ceb198
14 changed files with 58 additions and 0 deletions
1
evmcc/test/jump/badjump1.evm
Normal file
1
evmcc/test/jump/badjump1.evm
Normal file
|
|
@ -0,0 +1 @@
|
|||
601b602502585d
|
||||
9
evmcc/test/jump/badjump1.lll
Normal file
9
evmcc/test/jump/badjump1.lll
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
;; Bad indirect jump. Should go to BadJumpBlock.
|
||||
|
||||
(asm
|
||||
27
|
||||
37
|
||||
MUL
|
||||
JUMP
|
||||
JUMPDEST
|
||||
)
|
||||
3
evmcc/test/jump/call1.ethel
Normal file
3
evmcc/test/jump/call1.ethel
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
let f n = n + 1
|
||||
|
||||
return f 2
|
||||
1
evmcc/test/jump/call1.evm
Normal file
1
evmcc/test/jump/call1.evm
Normal file
|
|
@ -0,0 +1 @@
|
|||
630000000d60026300000016585d60005460206000f280600101915058
|
||||
5
evmcc/test/jump/fib1.ethel
Normal file
5
evmcc/test/jump/fib1.ethel
Normal file
|
|
@ -0,0 +1,5 @@
|
|||
let fib n =
|
||||
if n < 3 then 1
|
||||
else fib (n-1) + fib (n-2)
|
||||
|
||||
return fib 5
|
||||
1
evmcc/test/jump/fib1.evm
Normal file
1
evmcc/test/jump/fib1.evm
Normal file
|
|
@ -0,0 +1 @@
|
|||
630000000d60056300000016585d60005460206000f28060030a630000004759630000002f816001036300000016585d630000003f836002036300000016585d0163000000495860019350505058
|
||||
1
evmcc/test/jump/if1.ethel
Normal file
1
evmcc/test/jump/if1.ethel
Normal file
|
|
@ -0,0 +1 @@
|
|||
return if 0 then 1 else 2
|
||||
1
evmcc/test/jump/if1.evm
Normal file
1
evmcc/test/jump/if1.evm
Normal file
|
|
@ -0,0 +1 @@
|
|||
60006300000010596002630000001258600160005460206000f2
|
||||
1
evmcc/test/jump/if2.ethel
Normal file
1
evmcc/test/jump/if2.ethel
Normal file
|
|
@ -0,0 +1 @@
|
|||
return if 1 then 1 else 2
|
||||
1
evmcc/test/jump/if2.evm
Normal file
1
evmcc/test/jump/if2.evm
Normal file
|
|
@ -0,0 +1 @@
|
|||
60016300000010596002630000001258600160005460206000f2
|
||||
1
evmcc/test/jump/indirect1.evm
Normal file
1
evmcc/test/jump/indirect1.evm
Normal file
|
|
@ -0,0 +1 @@
|
|||
600460030158005d6001600054
|
||||
13
evmcc/test/jump/indirect1.lll
Normal file
13
evmcc/test/jump/indirect1.lll
Normal file
|
|
@ -0,0 +1,13 @@
|
|||
;; Indirect JUMP
|
||||
|
||||
(asm
|
||||
4 ;; 0
|
||||
3 ;; 2
|
||||
ADD ;; 4
|
||||
JUMP ;; 5
|
||||
STOP ;; 6
|
||||
JUMPDEST ;; 7
|
||||
1
|
||||
0
|
||||
MSTORE
|
||||
)
|
||||
1
evmcc/test/jump/indirect2.evm
Normal file
1
evmcc/test/jump/indirect2.evm
Normal file
|
|
@ -0,0 +1 @@
|
|||
600860060158005d6001600054005d600260005400
|
||||
19
evmcc/test/jump/indirect2.lll
Normal file
19
evmcc/test/jump/indirect2.lll
Normal file
|
|
@ -0,0 +1,19 @@
|
|||
;; Indirect JUMP
|
||||
|
||||
(asm
|
||||
8 ;; 0
|
||||
6 ;; 2
|
||||
ADD ;; 4
|
||||
JUMP ;; 5
|
||||
STOP ;; 6
|
||||
JUMPDEST ;; 7
|
||||
1 ;; 8
|
||||
0 ;; 10
|
||||
MSTORE ;; 12
|
||||
STOP ;; 13
|
||||
JUMPDEST ;; 14
|
||||
2
|
||||
0
|
||||
MSTORE
|
||||
STOP
|
||||
)
|
||||
Loading…
Reference in a new issue