File tree Expand file tree Collapse file tree 4 files changed +182
-0
lines changed
cmdlineTests/asm_json_subassembly_id_representation
libevmasm/evmAssemblyTests/isoltestTesting Expand file tree Collapse file tree 4 files changed +182
-0
lines changed Original file line number Diff line number Diff line change
1
+ --asm-json --pretty-json --strict-assembly --json-indent 4
Original file line number Diff line number Diff line change
1
+ object "root" {
2
+ code {
3
+ // this produces non-zero PUSH #[$] assembly item values
4
+ mstore (42 , datasize ("sub1.sub1_2 " ))
5
+ mstore (42 , datasize ("sub2.sub2_2 " ))
6
+ }
7
+ object "sub1" {
8
+ code {}
9
+ object "sub1_2" {
10
+ code {}
11
+ }
12
+ }
13
+ object "sub2" {
14
+ code {}
15
+ object "sub2_2" {
16
+ code {}
17
+ }
18
+ }
19
+ }
Original file line number Diff line number Diff line change
1
+
2
+ ======= input.yul (EVM) =======
3
+
4
+ EVM assembly:
5
+ {
6
+ ".code": [
7
+ {
8
+ "begin": 60,
9
+ "end": 83,
10
+ "name": "PUSH #[$]",
11
+ "source": -1,
12
+ "value": "000000000000000000000000000000000000000000000000ffffffffffffffff"
13
+ },
14
+ {
15
+ "begin": 56,
16
+ "end": 58,
17
+ "name": "PUSH",
18
+ "source": -1,
19
+ "value": "2A"
20
+ },
21
+ {
22
+ "begin": 49,
23
+ "end": 84,
24
+ "name": "MSTORE",
25
+ "source": -1
26
+ },
27
+ {
28
+ "begin": 108,
29
+ "end": 131,
30
+ "name": "PUSH #[$]",
31
+ "source": -1,
32
+ "value": "000000000000000000000000000000000000000000000000fffffffffffffffe"
33
+ },
34
+ {
35
+ "begin": 104,
36
+ "end": 106,
37
+ "name": "PUSH",
38
+ "source": -1,
39
+ "value": "2A"
40
+ },
41
+ {
42
+ "begin": 97,
43
+ "end": 132,
44
+ "name": "MSTORE",
45
+ "source": -1
46
+ },
47
+ {
48
+ "begin": 25,
49
+ "end": 148,
50
+ "name": "STOP",
51
+ "source": -1
52
+ }
53
+ ],
54
+ ".data": {
55
+ "0": {
56
+ ".code": [
57
+ {
58
+ "begin": 182,
59
+ "end": 189,
60
+ "name": "STOP",
61
+ "source": -1
62
+ }
63
+ ],
64
+ ".data": {
65
+ "0": {
66
+ ".code": [
67
+ {
68
+ "begin": 233,
69
+ "end": 240,
70
+ "name": "STOP",
71
+ "source": -1
72
+ }
73
+ ]
74
+ }
75
+ }
76
+ },
77
+ "1": {
78
+ ".code": [
79
+ {
80
+ "begin": 290,
81
+ "end": 297,
82
+ "name": "STOP",
83
+ "source": -1
84
+ }
85
+ ],
86
+ ".data": {
87
+ "0": {
88
+ ".code": [
89
+ {
90
+ "begin": 341,
91
+ "end": 348,
92
+ "name": "STOP",
93
+ "source": -1
94
+ }
95
+ ]
96
+ }
97
+ }
98
+ }
99
+ },
100
+ "sourceList": []
101
+ }
Original file line number Diff line number Diff line change
1
+ // sub_0 and children
2
+ PUSH # [ $ ] 0x0000
3
+ // negative indices for nested subobjects in DFS order
4
+ PUSH # [ $ ] 0x000000000000000000000000000000000000000000000000ffffffffffffffff
5
+ PUSH # [ $ ] 0x000000000000000000000000000000000000000000000000fffffffffffffffe
6
+ PUSH # [ $ ] 0x000000000000000000000000000000000000000000000000fffffffffffffffd
7
+ PUSH # [ $ ] 0x000000000000000000000000000000000000000000000000fffffffffffffffc
8
+ // sub_1 and children
9
+ PUSH # [ $ ] 0x0001
10
+ PUSH # [ $ ] 0x000000000000000000000000000000000000000000000000fffffffffffffffb
11
+
12
+ . sub
13
+ // referencing sub_0.sub_0 from inside sub_0
14
+ PUSH # [ $ ] 0x0000
15
+ // referencing sub_0.sub_0.sub_0 from inside sub_0
16
+ PUSH # [ $ ] 0x000000000000000000000000000000000000000000000000ffffffffffffffff
17
+ . sub
18
+ . sub
19
+ . sub
20
+ . sub
21
+ . sub
22
+ . sub
23
+ // ----
24
+ // Assembly:
25
+ // dataSize(sub_0)
26
+ // dataSize(sub_0.sub_0)
27
+ // dataSize(sub_0.sub_0.sub_0)
28
+ // dataSize(sub_0.sub_1)
29
+ // dataSize(sub_0.sub_2)
30
+ // dataSize(sub_1)
31
+ // dataSize(sub_1.sub_0)
32
+ // stop
33
+ //
34
+ // sub_0: assembly {
35
+ // dataSize(sub_0)
36
+ // dataSize(sub_0.sub_0)
37
+ // stop
38
+ //
39
+ // sub_0: assembly {
40
+ // stop
41
+ //
42
+ // sub_0: assembly {
43
+ // }
44
+ // }
45
+ //
46
+ // sub_1: assembly {
47
+ // }
48
+ //
49
+ // sub_2: assembly {
50
+ // }
51
+ // }
52
+ //
53
+ // sub_1: assembly {
54
+ // stop
55
+ //
56
+ // sub_0: assembly {
57
+ // }
58
+ // }
59
+ // Bytecode: 6005600160006000600060016000fe
60
+ // Opcodes: PUSH1 0x5 PUSH1 0x1 PUSH1 0x0 PUSH1 0x0 PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 INVALID
61
+ // SourceMappings: ::: - : 0 ;;;;;;
You can’t perform that action at this time.
0 commit comments