solidity/test/cmdlineTests/yul_source_locations_in_asm/output.json

889 lines
14 KiB
JSON
Raw Normal View History

{"contracts":{"C":{"C":{"evm":{"assembly":" /* \"C\":79:428 contract C... */
mstore(0x40, 0xa0)
jumpi(tag_1, iszero(callvalue))
0x00
dup1
revert
tag_1:
bytecodeSize
codesize
dup2
swap1
sub
0xa0
0x1f
dup3
add
not(0x1f)
and
dup2
add
swap1
sub(shl(0x40, 0x01), 0x01)
dup3
gt
swap1
dup3
lt
or
iszero
tag_2
jumpi
mstore(0x00, shl(0xe0, 0x4e487b71))
mstore(0x04, 0x41)
revert(0x00, 0x24)
tag_2:
0x40
mstore
dup1
dup3
0xa0
codecopy
0x20
dup2
slt
iszero
tag_3
jumpi
0x00
dup1
revert
tag_3:
pop
pop
tag_4
mload(0xa0)
/* \"C\":147:149 42 */
mstore(0x80, 0x2a)
0x00
/* \"C\":79:428 contract C... */
sstore
/* \"C\":175:223 constructor(int _init)... */
jump
/* \"C\":79:428 contract C... */
tag_4:
mload(0x40)
dataSize(sub_0)
dup1
dataOffset(sub_0)
dup4
codecopy
mload(0x80)
dup3
assignImmutable(\"0xe4b1702d9298fee62dfeccc57d322a463ad55ca201256d01f62b45b2e1c21c10\")
dup1
dup3
return
stop
sub_0: assembly {
/* \"C\":79:428 contract C... */
mstore(0x40, 0x80)
jumpi(tag_1, lt(calldatasize, 0x04))
0x00
dup1
calldataload
0xe0
shr
0x26121ff0
dup2
eq
tag_3
jumpi
0x793816ec
dup2
eq
tag_4
jumpi
0x9942ec6f
dup2
eq
tag_5
jumpi
jump(tag_2)
tag_3:
jumpi(tag_6, iszero(callvalue))
dup2
dup3
revert
tag_6:
tag_7
calldatasize
tag_8
jump\t// in
tag_7:
/* \"C\":279:298 constVar + immutVar */
tag_9
/* \"C\":290:298 immutVar */
immutable(\"0xe4b1702d9298fee62dfeccc57d322a463ad55ca201256d01f62b45b2e1c21c10\")
/* \"C\":279:298 constVar + immutVar */
tag_10
jump\t// in
tag_9:
/* \"C\":79:428 contract C... */
mload(0x40)
dup2
dup2
mstore
0x20
dup2
return
tag_4:
jumpi(tag_13, iszero(callvalue))
dup2
dup3
revert
tag_13:
tag_14
calldatasize
tag_8
jump\t// in
tag_14:
dup2
sload
mload(0x40)
dup2
dup2
mstore
0x20
dup2
return
tag_5:
jumpi(tag_16, iszero(callvalue))
dup2
dup3
revert
tag_16:
tag_17
calldatasize
tag_8
jump\t// in
tag_17:
/* \"C\":375:378 int */
tag_9
tag_19
jump\t// in
/* \"C\":79:428 contract C... */
tag_2:
pop
pop
tag_1:
0x00
dup1
revert
tag_8:
0x00
not(0x03)
dup3
add
slt
iszero
tag_23
jumpi
0x00
dup1
revert
tag_23:
pop
jump\t// out
tag_24:
0x00
0x20
dup3
dup5
sub
slt
iszero
tag_26
jumpi
0x00
dup1
revert
tag_26:
pop
mload
swap2
swap1
pop
jump\t// out
tag_10:
0x00
sub(shl(0xff, 0x01), 0x2a)
dup3
sgt
0x01
and
iszero
tag_30
jumpi
tag_30
tag_31
jump\t// in
tag_30:
pop
/* \"C\":117:119 41 */
0x29
/* \"C\":79:428 contract C... */
add
swap1
jump\t// out
tag_32:
0x00
dup1
dup3
slt
dup1
iszero
sub(shl(0xff, 0x01), 0x01)
dup5
swap1
sub
dup6
sgt
and
iszero
tag_35
jumpi
tag_35
tag_31
jump\t// in
tag_35:
shl(0xff, 0x01)
dup4
swap1
sub
dup5
slt
dup2
and
iszero
tag_37
jumpi
tag_37
tag_31
jump\t// in
tag_37:
pop
pop
add
swap1
jump\t// out
/* \"C\":304:341 modifier m()... */
tag_19:
0x00
/* \"C\":79:428 contract C... */
dup1
sload
/* \"C\":304:341 modifier m()... */
dup2
swap1
sub(shl(0xff, 0x01), 0x01)
/* \"C\":79:428 contract C... */
dup2
eq
iszero
tag_40
jumpi
tag_40
tag_31
jump\t// in
tag_40:
0x01
add
dup1
dup3
sstore
/* \"C\":403:407 this */
address
/* \"C\":403:411 this.f() */
extcodesize
tag_41
jumpi
/* \"C\":79:428 contract C... */
dup2
dup3
revert
/* \"C\":403:411 this.f() */
tag_41:
/* \"C\":79:428 contract C... */
mload(0x40)
shl(0xe4, 0x026121ff)
/* \"C\":403:411 this.f() */
dup2
mstore
0x20
/* \"C\":79:428 contract C... */
dup2
/* \"C\":403:411 this.f() */
0x04
/* \"C\":79:428 contract C... */
dup2
/* \"C\":403:407 this */
address
/* \"C\":403:411 this.f() */
gas
staticcall
dup1
tag_42
jumpi
/* \"C\":79:428 contract C... */
mload(0x40)
returndatasize
dup6
dup3
returndatacopy
returndatasize
dup2
revert
/* \"C\":403:411 this.f() */
tag_42:
/* \"C\":79:428 contract C... */
dup4
/* \"C\":403:411 this.f() */
dup2
iszero
tag_43
jumpi
returndatasize
/* \"C\":79:428 contract C... */
0x1f
add
not(0x1f)
and
/* \"C\":117:119 41 */
dup4
add
0xffffffffffffffff
dup2
gt
dup5
dup3
lt
or
iszero
tag_44
jumpi
shl(0xe0, 0x4e487b71)
/* \"C\":79:428 contract C... */
dup7
mstore
0x41
/* \"C\":403:411 this.f() */
0x04
/* \"C\":79:428 contract C... */
mstore
0x24
dup7
revert
/* \"C\":117:119 41 */
tag_44:
/* \"C\":79:428 contract C... */
0x40
/* \"C\":117:119 41 */
mstore
/* \"C\":403:411 this.f() */
tag_45
returndatasize
dup5
add
dup5
tag_24
jump\t// in
tag_45:
swap1
pop
tag_43:
/* \"C\":392:411 stateVar + this.f() */
tag_46
dup2
dup6
tag_32
jump\t// in
tag_46:
swap5
pop
pop
pop
pop
pop
/* \"C\":392:422 stateVar + this.f() + immutVar */
tag_47
/* \"C\":414:422 immutVar */
immutable(\"0xe4b1702d9298fee62dfeccc57d322a463ad55ca201256d01f62b45b2e1c21c10\")
/* \"C\":392:422 stateVar + this.f() + immutVar */
dup3
tag_32
jump\t// in
tag_47:
/* \"C\":336:337 _ */
swap2
pop
pop
/* \"C\":304:341 modifier m()... */
swap1
jump\t// out
/* \"C\":79:428 contract C... */
tag_31:
mstore(0x00, shl(0xe0, 0x4e487b71))
mstore(0x04, 0x11)
revert(0x00, 0x24)
auxdata: <AUXDATA REMOVED>
}
"}}},"D":{"D":{"evm":{"assembly":" /* \"D\":91:166 contract D is C(3)... */
mstore(0x40, 0xa0)
jumpi(tag_1, iszero(callvalue))
0x00
dup1
revert
tag_1:
bytecodeSize
codesize
dup2
swap1
sub
0xa0
0x1f
dup3
add
not(0x1f)
and
dup2
add
swap1
sub(shl(0x40, 0x01), 0x01)
dup3
gt
swap1
dup3
lt
or
iszero
tag_2
jumpi
mstore(0x00, shl(0xe0, 0x4e487b71))
mstore(0x04, 0x41)
revert(0x00, 0x24)
tag_2:
0x40
mstore
dup1
dup3
0xa0
codecopy
0x20
dup2
slt
iszero
tag_3
jumpi
0x00
dup1
revert
tag_3:
pop
pop
tag_4
mload(0xa0)
tag_5
jump\t// in
tag_4:
mload(0x40)
dataSize(sub_0)
dup1
dataOffset(sub_0)
dup4
codecopy
mload(0x80)
dup3
assignImmutable(\"0xe4b1702d9298fee62dfeccc57d322a463ad55ca201256d01f62b45b2e1c21c10\")
dup1
dup3
return
/* \"D\":113:164 constructor(int _init2)... */
tag_5:
/* \"C\":147:149 42 */
mstore(0x80, 0x2a)
/* \"D\":107:108 3 */
0x03
0x00
/* \"D\":91:166 contract D is C(3)... */
sstore
sub(shl(0xff, 0x01), 0x04)
dup2
sgt
0x01
and
iszero
tag_8
jumpi
mstore(0x00, shl(0xe0, 0x4e487b71))
mstore(0x04, 0x11)
revert(0x00, 0x24)
tag_8:
/* \"D\":107:108 3 */
0x03
/* \"D\":91:166 contract D is C(3)... */
add
0x00
sstore
/* \"D\":113:164 constructor(int _init2)... */
jump\t// out
stop
sub_0: assembly {
/* \"D\":91:166 contract D is C(3)... */
mstore(0x40, 0x80)
jumpi(tag_1, lt(calldatasize, 0x04))
0x00
dup1
calldataload
0xe0
shr
0x26121ff0
dup2
eq
tag_3
jumpi
0x793816ec
dup2
eq
tag_4
jumpi
0x9942ec6f
dup2
eq
tag_5
jumpi
jump(tag_2)
tag_3:
jumpi(tag_6, iszero(callvalue))
dup2
dup3
revert
tag_6:
tag_7
calldatasize
tag_8
jump\t// in
tag_7:
/* \"C\":279:298 constVar + immutVar */
tag_9
/* \"C\":290:298 immutVar */
immutable(\"0xe4b1702d9298fee62dfeccc57d322a463ad55ca201256d01f62b45b2e1c21c10\")
/* \"C\":279:298 constVar + immutVar */
tag_10
jump\t// in
tag_9:
/* \"D\":91:166 contract D is C(3)... */
mload(0x40)
dup2
dup2
mstore
0x20
dup2
return
tag_4:
jumpi(tag_13, iszero(callvalue))
dup2
dup3
revert
tag_13:
tag_14
calldatasize
tag_8
jump\t// in
tag_14:
dup2
sload
mload(0x40)
dup2
dup2
mstore
0x20
dup2
return
tag_5:
jumpi(tag_16, iszero(callvalue))
dup2
dup3
revert
tag_16:
tag_17
calldatasize
tag_8
jump\t// in
tag_17:
/* \"C\":375:378 int */
tag_9
tag_19
jump\t// in
/* \"D\":91:166 contract D is C(3)... */
tag_2:
pop
pop
tag_1:
0x00
dup1
revert
tag_8:
0x00
not(0x03)
dup3
add
slt
iszero
tag_23
jumpi
0x00
dup1
revert
tag_23:
pop
jump\t// out
tag_24:
0x00
0x20
dup3
dup5
sub
slt
iszero
tag_26
jumpi
0x00
dup1
revert
tag_26:
pop
mload
swap2
swap1
pop
jump\t// out
tag_10:
0x00
sub(shl(0xff, 0x01), 0x2a)
dup3
sgt
0x01
and
iszero
tag_30
jumpi
tag_30
tag_31
jump\t// in
tag_30:
pop
/* \"C\":117:119 41 */
0x29
/* \"D\":91:166 contract D is C(3)... */
add
swap1
jump\t// out
tag_32:
0x00
dup1
dup3
slt
dup1
iszero
sub(shl(0xff, 0x01), 0x01)
dup5
swap1
sub
dup6
sgt
and
iszero
tag_35
jumpi
tag_35
tag_31
jump\t// in
tag_35:
shl(0xff, 0x01)
dup4
swap1
sub
dup5
slt
dup2
and
iszero
tag_37
jumpi
tag_37
tag_31
jump\t// in
tag_37:
pop
pop
add
swap1
jump\t// out
/* \"C\":304:341 modifier m()... */
tag_19:
0x00
/* \"D\":91:166 contract D is C(3)... */
dup1
sload
/* \"C\":304:341 modifier m()... */
dup2
swap1
sub(shl(0xff, 0x01), 0x01)
/* \"D\":91:166 contract D is C(3)... */
dup2
eq
iszero
tag_40
jumpi
tag_40
tag_31
jump\t// in
tag_40:
0x01
add
dup1
dup3
sstore
/* \"C\":403:407 this */
address
/* \"C\":403:411 this.f() */
extcodesize
tag_41
jumpi
/* \"D\":91:166 contract D is C(3)... */
dup2
dup3
revert
/* \"C\":403:411 this.f() */
tag_41:
/* \"D\":91:166 contract D is C(3)... */
mload(0x40)
shl(0xe4, 0x026121ff)
/* \"C\":403:411 this.f() */
dup2
mstore
0x20
/* \"D\":91:166 contract D is C(3)... */
dup2
/* \"C\":403:411 this.f() */
0x04
/* \"D\":91:166 contract D is C(3)... */
dup2
/* \"C\":403:407 this */
address
/* \"C\":403:411 this.f() */
gas
staticcall
dup1
tag_42
jumpi
/* \"D\":91:166 contract D is C(3)... */
mload(0x40)
returndatasize
dup6
dup3
returndatacopy
returndatasize
dup2
revert
/* \"C\":403:411 this.f() */
tag_42:
/* \"D\":91:166 contract D is C(3)... */
dup4
/* \"C\":403:411 this.f() */
dup2
iszero
tag_43
jumpi
returndatasize
/* \"D\":91:166 contract D is C(3)... */
0x1f
add
not(0x1f)
and
/* \"C\":117:119 41 */
dup4
add
0xffffffffffffffff
dup2
gt
dup5
dup3
lt
or
iszero
tag_44
jumpi
shl(0xe0, 0x4e487b71)
/* \"D\":91:166 contract D is C(3)... */
dup7
mstore
0x41
/* \"C\":403:411 this.f() */
0x04
/* \"D\":91:166 contract D is C(3)... */
mstore
0x24
dup7
revert
/* \"C\":117:119 41 */
tag_44:
/* \"D\":91:166 contract D is C(3)... */
0x40
/* \"C\":117:119 41 */
mstore
/* \"C\":403:411 this.f() */
tag_45
returndatasize
dup5
add
dup5
tag_24
jump\t// in
tag_45:
swap1
pop
tag_43:
/* \"C\":392:411 stateVar + this.f() */
tag_46
dup2
dup6
tag_32
jump\t// in
tag_46:
swap5
pop
pop
pop
pop
pop
/* \"C\":392:422 stateVar + this.f() + immutVar */
tag_47
/* \"C\":414:422 immutVar */
immutable(\"0xe4b1702d9298fee62dfeccc57d322a463ad55ca201256d01f62b45b2e1c21c10\")
/* \"C\":392:422 stateVar + this.f() + immutVar */
dup3
tag_32
jump\t// in
tag_47:
/* \"C\":336:337 _ */
swap2
pop
pop
/* \"C\":304:341 modifier m()... */
swap1
jump\t// out
/* \"D\":91:166 contract D is C(3)... */
tag_31:
mstore(0x00, shl(0xe0, 0x4e487b71))
mstore(0x04, 0x11)
revert(0x00, 0x24)
auxdata: <AUXDATA REMOVED>
}
"}}}},"sources":{"C":{"id":0},"D":{"id":1}}}