mirror of
https://github.com/ethereum/go-ethereum.git
synced 2026-07-21 04:06: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