solidity/test/cmdlineTests/yul_source_locations_in_asm/output.json
2021-09-08 12:25:56 +02:00

893 lines
14 KiB
JSON

{"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)
/* \"C\":203:219 stateVar = _init */
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
/* \"C\":117:119 41 */
tag_25:
mstore(0x00, shl(0xe0, 0x4e487b71))
mstore(0x04, 0x11)
revert(0x00, 0x24)
tag_10:
0x00
sub(shl(0xff, 0x01), 0x2a)
dup3
sgt
0x01
and
iszero
tag_29
jumpi
tag_29
tag_25
jump\t// in
tag_29:
pop
0x29
add
swap1
jump\t// out
tag_30:
0x00
dup1
dup3
slt
dup1
iszero
sub(shl(0xff, 0x01), 0x01)
dup5
swap1
sub
dup6
sgt
and
iszero
tag_33
jumpi
tag_33
tag_25
jump\t// in
tag_33:
shl(0xff, 0x01)
dup4
swap1
sub
dup5
slt
dup2
and
iszero
tag_35
jumpi
tag_35
tag_25
jump\t// in
tag_35:
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_38
jumpi
tag_38
tag_25
jump\t// in
tag_38:
/* \"C\":117:119 41 */
0x01
/* \"C\":79:428 contract C... */
add
dup1
dup3
sstore
/* \"C\":403:407 this */
address
/* \"C\":403:411 this.f() */
extcodesize
tag_39
jumpi
/* \"C\":79:428 contract C... */
dup2
dup3
revert
/* \"C\":403:411 this.f() */
tag_39:
/* \"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_40
jumpi
/* \"C\":79:428 contract C... */
mload(0x40)
returndatasize
dup6
dup3
returndatacopy
returndatasize
dup2
revert
/* \"C\":403:411 this.f() */
tag_40:
/* \"C\":79:428 contract C... */
dup4
/* \"C\":403:411 this.f() */
dup2
iszero
tag_41
jumpi
returndatasize
/* \"C\":79:428 contract C... */
0x1f
add
not(0x1f)
and
dup4
add
0xffffffffffffffff
dup2
gt
dup5
dup3
lt
or
iszero
tag_42
jumpi
shl(0xe0, 0x4e487b71)
dup7
mstore
0x41
/* \"C\":403:411 this.f() */
0x04
/* \"C\":79:428 contract C... */
mstore
0x24
dup7
revert
tag_42:
0x40
mstore
/* \"C\":403:411 this.f() */
tag_43
returndatasize
dup5
add
dup5
tag_44
jump\t// in
tag_43:
swap1
pop
tag_41:
/* \"C\":392:411 stateVar + this.f() */
tag_45
dup2
dup6
tag_30
jump\t// in
tag_45:
swap5
pop
pop
pop
pop
pop
/* \"C\":392:422 stateVar + this.f() + immutVar */
tag_46
/* \"C\":414:422 immutVar */
immutable(\"0xe4b1702d9298fee62dfeccc57d322a463ad55ca201256d01f62b45b2e1c21c10\")
/* \"C\":392:422 stateVar + this.f() + immutVar */
dup3
tag_30
jump\t// in
tag_46:
/* \"C\":336:337 _ */
swap2
pop
pop
/* \"C\":304:341 modifier m()... */
swap1
jump\t// out
/* \"C\":79:428 contract C... */
tag_44:
0x00
0x20
dup3
dup5
sub
slt
iszero
tag_48
jumpi
0x00
dup1
revert
tag_48:
pop
mload
swap2
swap1
pop
jump\t// out
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
/* \"C\":203:219 stateVar = _init */
0x00
/* \"D\":91:166 contract D is C(3)... */
sstore
sub(shl(0xff, 0x01), 0x04)
dup2
sgt
0x01
and
iszero
tag_8
jumpi
shl(0xe0, 0x4e487b71)
/* \"C\":203:219 stateVar = _init */
0x00
/* \"D\":91:166 contract D is C(3)... */
mstore
mstore(0x04, 0x11)
0x24
/* \"C\":203:219 stateVar = _init */
0x00
/* \"D\":91:166 contract D is C(3)... */
revert
tag_8:
/* \"D\":107:108 3 */
0x03
/* \"D\":91:166 contract D is C(3)... */
add
/* \"C\":203:219 stateVar = _init */
0x00
/* \"D\":91:166 contract D is C(3)... */
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
/* \"C\":117:119 41 */
tag_25:
mstore(0x00, shl(0xe0, 0x4e487b71))
mstore(0x04, 0x11)
revert(0x00, 0x24)
tag_10:
0x00
sub(shl(0xff, 0x01), 0x2a)
dup3
sgt
0x01
and
iszero
tag_29
jumpi
tag_29
tag_25
jump\t// in
tag_29:
pop
0x29
add
swap1
jump\t// out
tag_30:
0x00
dup1
dup3
slt
dup1
iszero
sub(shl(0xff, 0x01), 0x01)
dup5
swap1
sub
dup6
sgt
and
iszero
tag_33
jumpi
tag_33
tag_25
jump\t// in
tag_33:
shl(0xff, 0x01)
dup4
swap1
sub
dup5
slt
dup2
and
iszero
tag_35
jumpi
tag_35
tag_25
jump\t// in
tag_35:
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_38
jumpi
tag_38
tag_25
jump\t// in
tag_38:
/* \"C\":117:119 41 */
0x01
/* \"D\":91:166 contract D is C(3)... */
add
dup1
dup3
sstore
/* \"C\":403:407 this */
address
/* \"C\":403:411 this.f() */
extcodesize
tag_39
jumpi
/* \"D\":91:166 contract D is C(3)... */
dup2
dup3
revert
/* \"C\":403:411 this.f() */
tag_39:
/* \"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_40
jumpi
/* \"D\":91:166 contract D is C(3)... */
mload(0x40)
returndatasize
dup6
dup3
returndatacopy
returndatasize
dup2
revert
/* \"C\":403:411 this.f() */
tag_40:
/* \"D\":91:166 contract D is C(3)... */
dup4
/* \"C\":403:411 this.f() */
dup2
iszero
tag_41
jumpi
returndatasize
/* \"D\":91:166 contract D is C(3)... */
0x1f
add
not(0x1f)
and
dup4
add
0xffffffffffffffff
dup2
gt
dup5
dup3
lt
or
iszero
tag_42
jumpi
shl(0xe0, 0x4e487b71)
dup7
mstore
0x41
/* \"C\":403:411 this.f() */
0x04
/* \"D\":91:166 contract D is C(3)... */
mstore
0x24
dup7
revert
tag_42:
0x40
mstore
/* \"C\":403:411 this.f() */
tag_43
returndatasize
dup5
add
dup5
tag_44
jump\t// in
tag_43:
swap1
pop
tag_41:
/* \"C\":392:411 stateVar + this.f() */
tag_45
dup2
dup6
tag_30
jump\t// in
tag_45:
swap5
pop
pop
pop
pop
pop
/* \"C\":392:422 stateVar + this.f() + immutVar */
tag_46
/* \"C\":414:422 immutVar */
immutable(\"0xe4b1702d9298fee62dfeccc57d322a463ad55ca201256d01f62b45b2e1c21c10\")
/* \"C\":392:422 stateVar + this.f() + immutVar */
dup3
tag_30
jump\t// in
tag_46:
/* \"C\":336:337 _ */
swap2
pop
pop
/* \"C\":304:341 modifier m()... */
swap1
jump\t// out
/* \"D\":91:166 contract D is C(3)... */
tag_44:
0x00
0x20
dup3
dup5
sub
slt
iszero
tag_48
jumpi
0x00
dup1
revert
tag_48:
pop
mload
swap2
swap1
pop
jump\t// out
auxdata: <AUXDATA REMOVED>
}
"}}}},"sources":{"C":{"id":0},"D":{"id":1}}}