solidity/test/cmdlineTests/optimizer_inliner_dynamic_reference/output

224 lines
5.8 KiB
Plaintext

======= optimizer_inliner_dynamic_reference/input.sol:C =======
EVM assembly:
/* "optimizer_inliner_dynamic_reference/input.sol":60:367 contract C {... */
mstore(0x40, 0x80)
callvalue
dup1
iszero
tag_1
jumpi
0x00
dup1
revert
tag_1:
pop
dataSize(sub_0)
dup1
dataOffset(sub_0)
0x00
codecopy
0x00
return
stop
sub_0: assembly {
/* "optimizer_inliner_dynamic_reference/input.sol":60:367 contract C {... */
mstore(0x40, 0x80)
callvalue
dup1
iszero
tag_1
jumpi
0x00
dup1
revert
tag_1:
pop
jumpi(tag_2, lt(calldatasize, 0x04))
shr(0xe0, calldataload(0x00))
dup1
0x0dbe671f
eq
tag_3
jumpi
dup1
0xb8c9d365
eq
tag_4
jumpi
dup1
0xe2179b8e
eq
tag_5
jumpi
tag_2:
0x00
dup1
revert
/* "optimizer_inliner_dynamic_reference/input.sol":160:215 function a() public pure returns (uint) { return f(); } */
tag_3:
/* "optimizer_inliner_dynamic_reference/input.sol":361:362 6 */
0x06
/* "optimizer_inliner_dynamic_reference/input.sol":160:215 function a() public pure returns (uint) { return f(); } */
tag_6:
mload(0x40)
/* "#utility.yul":160:185 */
swap1
dup2
mstore
/* "#utility.yul":148:150 */
0x20
/* "#utility.yul":133:151 */
add
/* "optimizer_inliner_dynamic_reference/input.sol":160:215 function a() public pure returns (uint) { return f(); } */
mload(0x40)
dup1
swap2
sub
swap1
return
/* "optimizer_inliner_dynamic_reference/input.sol":246:305 function h() public view returns (uint) { return x() + 1; } */
tag_4:
tag_6
tag_11
jump // in
/* "optimizer_inliner_dynamic_reference/input.sol":125:155 function g() public { x = f; } */
tag_5:
/* "optimizer_inliner_dynamic_reference/input.sol":147:148 x */
0x00
/* "optimizer_inliner_dynamic_reference/input.sol":147:152 x = f */
dup1
sload
not(0xffffffffffffffff)
and
/* "optimizer_inliner_dynamic_reference/input.sol":151:152 f */
tag_17
/* "optimizer_inliner_dynamic_reference/input.sol":147:152 x = f */
or
swap1
sstore
/* "optimizer_inliner_dynamic_reference/input.sol":125:155 function g() public { x = f; } */
stop
/* "optimizer_inliner_dynamic_reference/input.sol":209:212 f() */
tag_16:
/* "optimizer_inliner_dynamic_reference/input.sol":202:212 return f() */
swap1
pop
/* "optimizer_inliner_dynamic_reference/input.sol":160:215 function a() public pure returns (uint) { return f(); } */
swap1
jump // out
/* "optimizer_inliner_dynamic_reference/input.sol":246:305 function h() public view returns (uint) { return x() + 1; } */
tag_11:
/* "optimizer_inliner_dynamic_reference/input.sol":280:284 uint */
0x00
/* "optimizer_inliner_dynamic_reference/input.sol":295:296 x */
dup1
sload
/* "optimizer_inliner_dynamic_reference/input.sol":295:298 x() */
tag_19
swap1
/* "optimizer_inliner_dynamic_reference/input.sol":295:296 x */
dup1
iszero
tag_20
mul
or
/* "optimizer_inliner_dynamic_reference/input.sol":295:298 x() */
0xffffffff
and
jump // in
tag_19:
/* "optimizer_inliner_dynamic_reference/input.sol":295:302 x() + 1 */
tag_16
swap1
/* "optimizer_inliner_dynamic_reference/input.sol":301:302 1 */
0x01
/* "optimizer_inliner_dynamic_reference/input.sol":295:302 x() + 1 */
tag_22
jump // in
/* "optimizer_inliner_dynamic_reference/input.sol":310:365 function f() internal pure returns (uint) { return 6; } */
tag_17:
/* "optimizer_inliner_dynamic_reference/input.sol":361:362 6 */
0x06
swap1
/* "optimizer_inliner_dynamic_reference/input.sol":310:365 function f() internal pure returns (uint) { return 6; } */
jump // out
tag_20:
tag_25
tag_26
jump // in
tag_25:
jump // out
/* "#utility.yul":196:418 */
tag_22:
/* "#utility.yul":261:270 */
dup1
dup3
add
/* "#utility.yul":282:292 */
dup1
dup3
gt
/* "#utility.yul":279:412 */
iszero
tag_30
jumpi
/* "#utility.yul":334:344 */
0x4e487b71
/* "#utility.yul":329:332 */
0xe0
/* "#utility.yul":325:345 */
shl
/* "#utility.yul":322:323 */
0x00
/* "#utility.yul":315:346 */
mstore
/* "#utility.yul":369:373 */
0x11
/* "#utility.yul":366:367 */
0x04
/* "#utility.yul":359:374 */
mstore
/* "#utility.yul":397:401 */
0x24
/* "#utility.yul":394:395 */
0x00
/* "#utility.yul":387:402 */
revert
/* "#utility.yul":279:412 */
tag_30:
/* "#utility.yul":196:418 */
swap3
swap2
pop
pop
jump // out
/* "#utility.yul":423:550 */
tag_26:
/* "#utility.yul":484:494 */
0x4e487b71
/* "#utility.yul":479:482 */
0xe0
/* "#utility.yul":475:495 */
shl
/* "#utility.yul":472:473 */
0x00
/* "#utility.yul":465:496 */
mstore
/* "#utility.yul":515:519 */
0x51
/* "#utility.yul":512:513 */
0x04
/* "#utility.yul":505:520 */
mstore
/* "#utility.yul":539:543 */
0x24
/* "#utility.yul":536:537 */
0x00
/* "#utility.yul":529:544 */
revert
auxdata: <AUXDATA REMOVED>
}