mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
227 lines
5.8 KiB
Plaintext
227 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
|
|
0x00
|
|
dup1
|
|
revert
|
|
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>
|
|
}
|