solidity/test/cmdlineTests/optimizer_inliner_dynamic_reference_constructor/output
Alex Beregszaszi 0b6f87ef3c Update tests
2021-05-31 10:43:18 +01:00

270 lines
7.7 KiB
Plaintext

======= optimizer_inliner_dynamic_reference_constructor/input.sol:C =======
EVM assembly:
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":60:361 contract C {... */
mstore(0x40, 0x80)
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":77:101 constructor() { x = f; } */
jumpi(tag_2, iszero(callvalue))
tag_2
tag_3
jump // in
tag_2:
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":93:94 x */
0x00
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":93:98 x = f */
dup1
sload
not(sub(shl(0x40, 0x01), 0x01))
and
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":97:98 f */
or(tag_0_14, shl(0x20, tag_6))
sub(shl(0x40, 0x01), 0x01)
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":93:98 x = f */
and
or
swap1
sstore
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":60:361 contract C {... */
jump(tag_9)
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */
tag_6:
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":355:356 6 */
0x06
swap1
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */
jump // out
/* "#utility.yul":14:141 */
tag_3:
/* "#utility.yul":75:85 */
0x4e487b71
/* "#utility.yul":70:73 */
0xe0
/* "#utility.yul":66:86 */
shl
/* "#utility.yul":63:64 */
0x00
/* "#utility.yul":56:87 */
mstore
/* "#utility.yul":106:110 */
0x02
/* "#utility.yul":103:104 */
0x04
/* "#utility.yul":96:111 */
mstore
/* "#utility.yul":130:134 */
0x24
/* "#utility.yul":127:128 */
0x00
/* "#utility.yul":120:135 */
revert
/* "#utility.yul":46:141 */
tag_9:
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":60:361 contract C {... */
dataSize(sub_0)
dup1
dataOffset(sub_0)
0x00
codecopy
0x00
return
stop
sub_0: assembly {
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":60:361 contract C {... */
mstore(0x40, 0x80)
jumpi(tag_2, iszero(callvalue))
tag_2
tag_3
jump // in
tag_2:
jumpi(tag_4, lt(calldatasize, 0x04))
shr(0xe0, calldataload(0x00))
dup1
0x0dbe671f
eq
tag_5
jumpi
dup1
0xb8c9d365
eq
tag_6
jumpi
tag_4:
0x00
dup1
revert
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":154:209 function a() public pure returns (uint) { return f(); } */
tag_5:
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":355:356 6 */
0x06
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":154:209 function a() public pure returns (uint) { return f(); } */
tag_7:
mload(0x40)
/* "#utility.yul":160:185 */
swap1
dup2
mstore
/* "#utility.yul":148:150 */
0x20
/* "#utility.yul":133:151 */
add
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":154:209 function a() public pure returns (uint) { return f(); } */
mload(0x40)
dup1
swap2
sub
swap1
return
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":240:299 function h() public view returns (uint) { return x() + 1; } */
tag_6:
tag_7
tag_12
jump // in
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":203:206 f() */
tag_16:
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":196:206 return f() */
swap1
pop
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":154:209 function a() public pure returns (uint) { return f(); } */
swap1
jump // out
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":240:299 function h() public view returns (uint) { return x() + 1; } */
tag_12:
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":274:278 uint */
0x00
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":289:290 x */
dup1
sload
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":289:292 x() */
tag_18
swap1
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":289:290 x */
dup1
iszero
tag_19
mul
or
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":289:292 x() */
0xffffffff
and
jump // in
tag_18:
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":289:296 x() + 1 */
tag_16
swap1
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":295:296 1 */
0x01
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":289:296 x() + 1 */
tag_21
jump // in
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */
tag_14:
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":355:356 6 */
0x06
swap1
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */
jump // out
tag_19:
tag_23
tag_24
jump // in
tag_23:
jump // out
/* "#utility.yul":196:421 */
tag_21:
/* "#utility.yul":236:239 */
0x00
/* "#utility.yul":267:268 */
dup3
/* "#utility.yul":263:269 */
not
/* "#utility.yul":260:261 */
dup3
/* "#utility.yul":257:270 */
gt
/* "#utility.yul":254:256 */
iszero
tag_28
jumpi
/* "#utility.yul":312:322 */
0x4e487b71
/* "#utility.yul":307:310 */
0xe0
/* "#utility.yul":303:323 */
shl
/* "#utility.yul":300:301 */
0x00
/* "#utility.yul":293:324 */
mstore
/* "#utility.yul":347:351 */
0x11
/* "#utility.yul":344:345 */
0x04
/* "#utility.yul":337:352 */
mstore
/* "#utility.yul":375:379 */
0x24
/* "#utility.yul":372:373 */
0x00
/* "#utility.yul":365:380 */
revert
/* "#utility.yul":254:256 */
tag_28:
pop
/* "#utility.yul":406:415 */
add
swap1
/* "#utility.yul":244:421 */
jump // out
/* "#utility.yul":426:553 */
tag_3:
/* "#utility.yul":487:497 */
0x4e487b71
/* "#utility.yul":482:485 */
0xe0
/* "#utility.yul":478:498 */
shl
/* "#utility.yul":475:476 */
0x00
/* "#utility.yul":468:499 */
mstore
/* "#utility.yul":518:522 */
0x02
/* "#utility.yul":515:516 */
0x04
/* "#utility.yul":508:523 */
mstore
/* "#utility.yul":542:546 */
0x24
/* "#utility.yul":539:540 */
0x00
/* "#utility.yul":532:547 */
revert
/* "#utility.yul":558:685 */
tag_24:
/* "#utility.yul":619:629 */
0x4e487b71
/* "#utility.yul":614:617 */
0xe0
/* "#utility.yul":610:630 */
shl
/* "#utility.yul":607:608 */
0x00
/* "#utility.yul":600:631 */
mstore
/* "#utility.yul":650:654 */
0x51
/* "#utility.yul":647:648 */
0x04
/* "#utility.yul":640:655 */
mstore
/* "#utility.yul":674:678 */
0x24
/* "#utility.yul":671:672 */
0x00
/* "#utility.yul":664:679 */
revert
auxdata: <AUXDATA REMOVED>
}