mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
Update tests
This commit is contained in:
parent
b098e2f1a5
commit
0b6f87ef3c
@ -3,14 +3,139 @@
|
||||
{
|
||||
"combined_json_generated_sources/input.sol:C":
|
||||
{
|
||||
"generated-sources": [],
|
||||
"generated-sources":
|
||||
[
|
||||
{
|
||||
"ast":
|
||||
{
|
||||
"nodeType": "YulBlock",
|
||||
"src": "0:190:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
"body":
|
||||
{
|
||||
"nodeType": "YulBlock",
|
||||
"src": "35:152:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
"expression":
|
||||
{
|
||||
"arguments":
|
||||
[
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "52:1:1",
|
||||
"type": "",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "55:77:1",
|
||||
"type": "",
|
||||
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
|
||||
}
|
||||
],
|
||||
"functionName":
|
||||
{
|
||||
"name": "mstore",
|
||||
"nodeType": "YulIdentifier",
|
||||
"src": "45:6:1"
|
||||
},
|
||||
"nodeType": "YulFunctionCall",
|
||||
"src": "45:88:1"
|
||||
},
|
||||
"nodeType": "YulExpressionStatement",
|
||||
"src": "45:88:1"
|
||||
},
|
||||
{
|
||||
"expression":
|
||||
{
|
||||
"arguments":
|
||||
[
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "149:1:1",
|
||||
"type": "",
|
||||
"value": "4"
|
||||
},
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "152:4:1",
|
||||
"type": "",
|
||||
"value": "0x02"
|
||||
}
|
||||
],
|
||||
"functionName":
|
||||
{
|
||||
"name": "mstore",
|
||||
"nodeType": "YulIdentifier",
|
||||
"src": "142:6:1"
|
||||
},
|
||||
"nodeType": "YulFunctionCall",
|
||||
"src": "142:15:1"
|
||||
},
|
||||
"nodeType": "YulExpressionStatement",
|
||||
"src": "142:15:1"
|
||||
},
|
||||
{
|
||||
"expression":
|
||||
{
|
||||
"arguments":
|
||||
[
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "173:1:1",
|
||||
"type": "",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "176:4:1",
|
||||
"type": "",
|
||||
"value": "0x24"
|
||||
}
|
||||
],
|
||||
"functionName":
|
||||
{
|
||||
"name": "revert",
|
||||
"nodeType": "YulIdentifier",
|
||||
"src": "166:6:1"
|
||||
},
|
||||
"nodeType": "YulFunctionCall",
|
||||
"src": "166:15:1"
|
||||
},
|
||||
"nodeType": "YulExpressionStatement",
|
||||
"src": "166:15:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "panic_error_0x02",
|
||||
"nodeType": "YulFunctionDefinition",
|
||||
"src": "7:180:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"contents": "{\n\n function panic_error_0x02() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x02)\n revert(0, 0x24)\n }\n\n}\n",
|
||||
"id": 1,
|
||||
"language": "Yul",
|
||||
"name": "#utility.yul"
|
||||
}
|
||||
],
|
||||
"generated-sources-runtime":
|
||||
[
|
||||
{
|
||||
"ast":
|
||||
{
|
||||
"nodeType": "YulBlock",
|
||||
"src": "0:1856:1",
|
||||
"src": "0:2042:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
@ -700,7 +825,7 @@
|
||||
"body":
|
||||
{
|
||||
"nodeType": "YulBlock",
|
||||
"src": "1333:28:1",
|
||||
"src": "1272:152:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
@ -711,14 +836,123 @@
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "1350:1:1",
|
||||
"src": "1289:1:1",
|
||||
"type": "",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "1353:1:1",
|
||||
"src": "1292:77:1",
|
||||
"type": "",
|
||||
"value": "35408467139433450592217433187231851964531694900788300625387963629091585785856"
|
||||
}
|
||||
],
|
||||
"functionName":
|
||||
{
|
||||
"name": "mstore",
|
||||
"nodeType": "YulIdentifier",
|
||||
"src": "1282:6:1"
|
||||
},
|
||||
"nodeType": "YulFunctionCall",
|
||||
"src": "1282:88:1"
|
||||
},
|
||||
"nodeType": "YulExpressionStatement",
|
||||
"src": "1282:88:1"
|
||||
},
|
||||
{
|
||||
"expression":
|
||||
{
|
||||
"arguments":
|
||||
[
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "1386:1:1",
|
||||
"type": "",
|
||||
"value": "4"
|
||||
},
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "1389:4:1",
|
||||
"type": "",
|
||||
"value": "0x02"
|
||||
}
|
||||
],
|
||||
"functionName":
|
||||
{
|
||||
"name": "mstore",
|
||||
"nodeType": "YulIdentifier",
|
||||
"src": "1379:6:1"
|
||||
},
|
||||
"nodeType": "YulFunctionCall",
|
||||
"src": "1379:15:1"
|
||||
},
|
||||
"nodeType": "YulExpressionStatement",
|
||||
"src": "1379:15:1"
|
||||
},
|
||||
{
|
||||
"expression":
|
||||
{
|
||||
"arguments":
|
||||
[
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "1410:1:1",
|
||||
"type": "",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "1413:4:1",
|
||||
"type": "",
|
||||
"value": "0x24"
|
||||
}
|
||||
],
|
||||
"functionName":
|
||||
{
|
||||
"name": "revert",
|
||||
"nodeType": "YulIdentifier",
|
||||
"src": "1403:6:1"
|
||||
},
|
||||
"nodeType": "YulFunctionCall",
|
||||
"src": "1403:15:1"
|
||||
},
|
||||
"nodeType": "YulExpressionStatement",
|
||||
"src": "1403:15:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "panic_error_0x02",
|
||||
"nodeType": "YulFunctionDefinition",
|
||||
"src": "1244:180:1"
|
||||
},
|
||||
{
|
||||
"body":
|
||||
{
|
||||
"nodeType": "YulBlock",
|
||||
"src": "1519:28:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
"expression":
|
||||
{
|
||||
"arguments":
|
||||
[
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "1536:1:1",
|
||||
"type": "",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "1539:1:1",
|
||||
"type": "",
|
||||
"value": "0"
|
||||
}
|
||||
@ -727,25 +961,25 @@
|
||||
{
|
||||
"name": "revert",
|
||||
"nodeType": "YulIdentifier",
|
||||
"src": "1343:6:1"
|
||||
"src": "1529:6:1"
|
||||
},
|
||||
"nodeType": "YulFunctionCall",
|
||||
"src": "1343:12:1"
|
||||
"src": "1529:12:1"
|
||||
},
|
||||
"nodeType": "YulExpressionStatement",
|
||||
"src": "1343:12:1"
|
||||
"src": "1529:12:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490",
|
||||
"nodeType": "YulFunctionDefinition",
|
||||
"src": "1244:117:1"
|
||||
"src": "1430:117:1"
|
||||
},
|
||||
{
|
||||
"body":
|
||||
{
|
||||
"nodeType": "YulBlock",
|
||||
"src": "1456:28:1",
|
||||
"src": "1642:28:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
@ -756,14 +990,14 @@
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "1473:1:1",
|
||||
"src": "1659:1:1",
|
||||
"type": "",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "1476:1:1",
|
||||
"src": "1662:1:1",
|
||||
"type": "",
|
||||
"value": "0"
|
||||
}
|
||||
@ -772,25 +1006,25 @@
|
||||
{
|
||||
"name": "revert",
|
||||
"nodeType": "YulIdentifier",
|
||||
"src": "1466:6:1"
|
||||
"src": "1652:6:1"
|
||||
},
|
||||
"nodeType": "YulFunctionCall",
|
||||
"src": "1466:12:1"
|
||||
"src": "1652:12:1"
|
||||
},
|
||||
"nodeType": "YulExpressionStatement",
|
||||
"src": "1466:12:1"
|
||||
"src": "1652:12:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d",
|
||||
"nodeType": "YulFunctionDefinition",
|
||||
"src": "1367:117:1"
|
||||
"src": "1553:117:1"
|
||||
},
|
||||
{
|
||||
"body":
|
||||
{
|
||||
"nodeType": "YulBlock",
|
||||
"src": "1579:28:1",
|
||||
"src": "1765:28:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
@ -801,14 +1035,14 @@
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "1596:1:1",
|
||||
"src": "1782:1:1",
|
||||
"type": "",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "1599:1:1",
|
||||
"src": "1785:1:1",
|
||||
"type": "",
|
||||
"value": "0"
|
||||
}
|
||||
@ -817,25 +1051,25 @@
|
||||
{
|
||||
"name": "revert",
|
||||
"nodeType": "YulIdentifier",
|
||||
"src": "1589:6:1"
|
||||
"src": "1775:6:1"
|
||||
},
|
||||
"nodeType": "YulFunctionCall",
|
||||
"src": "1589:12:1"
|
||||
"src": "1775:12:1"
|
||||
},
|
||||
"nodeType": "YulExpressionStatement",
|
||||
"src": "1589:12:1"
|
||||
"src": "1775:12:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef",
|
||||
"nodeType": "YulFunctionDefinition",
|
||||
"src": "1490:117:1"
|
||||
"src": "1676:117:1"
|
||||
},
|
||||
{
|
||||
"body":
|
||||
{
|
||||
"nodeType": "YulBlock",
|
||||
"src": "1702:28:1",
|
||||
"src": "1888:28:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
@ -846,14 +1080,14 @@
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "1719:1:1",
|
||||
"src": "1905:1:1",
|
||||
"type": "",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "1722:1:1",
|
||||
"src": "1908:1:1",
|
||||
"type": "",
|
||||
"value": "0"
|
||||
}
|
||||
@ -862,25 +1096,25 @@
|
||||
{
|
||||
"name": "revert",
|
||||
"nodeType": "YulIdentifier",
|
||||
"src": "1712:6:1"
|
||||
"src": "1898:6:1"
|
||||
},
|
||||
"nodeType": "YulFunctionCall",
|
||||
"src": "1712:12:1"
|
||||
"src": "1898:12:1"
|
||||
},
|
||||
"nodeType": "YulExpressionStatement",
|
||||
"src": "1712:12:1"
|
||||
"src": "1898:12:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db",
|
||||
"nodeType": "YulFunctionDefinition",
|
||||
"src": "1613:117:1"
|
||||
"src": "1799:117:1"
|
||||
},
|
||||
{
|
||||
"body":
|
||||
{
|
||||
"nodeType": "YulBlock",
|
||||
"src": "1825:28:1",
|
||||
"src": "2011:28:1",
|
||||
"statements":
|
||||
[
|
||||
{
|
||||
@ -891,14 +1125,14 @@
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "1842:1:1",
|
||||
"src": "2028:1:1",
|
||||
"type": "",
|
||||
"value": "0"
|
||||
},
|
||||
{
|
||||
"kind": "number",
|
||||
"nodeType": "YulLiteral",
|
||||
"src": "1845:1:1",
|
||||
"src": "2031:1:1",
|
||||
"type": "",
|
||||
"value": "0"
|
||||
}
|
||||
@ -907,23 +1141,23 @@
|
||||
{
|
||||
"name": "revert",
|
||||
"nodeType": "YulIdentifier",
|
||||
"src": "1835:6:1"
|
||||
"src": "2021:6:1"
|
||||
},
|
||||
"nodeType": "YulFunctionCall",
|
||||
"src": "1835:12:1"
|
||||
"src": "2021:12:1"
|
||||
},
|
||||
"nodeType": "YulExpressionStatement",
|
||||
"src": "1835:12:1"
|
||||
"src": "2021:12:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"name": "revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b",
|
||||
"nodeType": "YulFunctionDefinition",
|
||||
"src": "1736:117:1"
|
||||
"src": "1922:117:1"
|
||||
}
|
||||
]
|
||||
},
|
||||
"contents": "{\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n}\n",
|
||||
"contents": "{\n\n // uint256[]\n function abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(offset, end) -> arrayPos, length {\n if iszero(slt(add(offset, 0x1f), end)) { revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() }\n length := calldataload(offset)\n if gt(length, 0xffffffffffffffff) { revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() }\n arrayPos := add(offset, 0x20)\n if gt(add(arrayPos, mul(length, 0x20)), end) { revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() }\n }\n\n function abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 32) { revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() }\n\n value0, value1 := abi_decode_t_array$_t_uint256_$dyn_calldata_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function panic_error_0x02() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x02)\n revert(0, 0x24)\n }\n\n function revert_error_15abf5612cd996bc235ba1e55a4a30ac60e6bb601ff7ba4ad3f179b6be8d0490() {\n revert(0, 0)\n }\n\n function revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d() {\n revert(0, 0)\n }\n\n function revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef() {\n revert(0, 0)\n }\n\n function revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db() {\n revert(0, 0)\n }\n\n function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {\n revert(0, 0)\n }\n\n}\n",
|
||||
"id": 1,
|
||||
"language": "Yul",
|
||||
"name": "#utility.yul"
|
||||
|
@ -10,7 +10,12 @@ object "C_12" {
|
||||
code {
|
||||
{
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(0, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
sstore(0, shl(180, 1))
|
||||
let _1 := datasize("C_12_deployed")
|
||||
codecopy(128, dataoffset("C_12_deployed"), _1)
|
||||
@ -21,7 +26,12 @@ object "C_12" {
|
||||
code {
|
||||
{
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
sstore(0, 0x1000000000000000000000000000000000000000000000)
|
||||
stop()
|
||||
}
|
||||
|
@ -3,16 +3,35 @@
|
||||
EVM assembly:
|
||||
/* "dup_opt_peephole/input.sol":0:111 contract C {... */
|
||||
mstore(0x40, 0x80)
|
||||
callvalue
|
||||
dup1
|
||||
iszero
|
||||
tag_1
|
||||
jumpi
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
jumpi(tag_1, iszero(callvalue))
|
||||
tag_2
|
||||
tag_3
|
||||
jump // in
|
||||
tag_2:
|
||||
tag_1:
|
||||
pop
|
||||
jump(tag_4)
|
||||
/* "#utility.yul":7:187 */
|
||||
tag_3:
|
||||
/* "#utility.yul":55:132 */
|
||||
0x4e487b7100000000000000000000000000000000000000000000000000000000
|
||||
/* "#utility.yul":52:53 */
|
||||
0x00
|
||||
/* "#utility.yul":45:133 */
|
||||
mstore
|
||||
/* "#utility.yul":152:156 */
|
||||
0x02
|
||||
/* "#utility.yul":149:150 */
|
||||
0x04
|
||||
/* "#utility.yul":142:157 */
|
||||
mstore
|
||||
/* "#utility.yul":176:180 */
|
||||
0x24
|
||||
/* "#utility.yul":173:174 */
|
||||
0x00
|
||||
/* "#utility.yul":166:181 */
|
||||
revert
|
||||
/* "dup_opt_peephole/input.sol":0:111 contract C {... */
|
||||
tag_4:
|
||||
dataSize(sub_0)
|
||||
dup1
|
||||
dataOffset(sub_0)
|
||||
@ -25,16 +44,12 @@ stop
|
||||
sub_0: assembly {
|
||||
/* "dup_opt_peephole/input.sol":0:111 contract C {... */
|
||||
mstore(0x40, 0x80)
|
||||
callvalue
|
||||
dup1
|
||||
iszero
|
||||
tag_3
|
||||
jumpi
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
jumpi(tag_3, iszero(callvalue))
|
||||
tag_4
|
||||
tag_5
|
||||
jump // in
|
||||
tag_4:
|
||||
tag_3:
|
||||
pop
|
||||
/* "dup_opt_peephole/input.sol":74:75 0 */
|
||||
0x00
|
||||
/* "dup_opt_peephole/input.sol":61:76 calldataload(0) */
|
||||
@ -49,6 +64,26 @@ sub_0: assembly {
|
||||
pop
|
||||
/* "dup_opt_peephole/input.sol":0:111 contract C {... */
|
||||
stop
|
||||
/* "#utility.yul":7:187 */
|
||||
tag_5:
|
||||
/* "#utility.yul":55:132 */
|
||||
0x4e487b7100000000000000000000000000000000000000000000000000000000
|
||||
/* "#utility.yul":52:53 */
|
||||
0x00
|
||||
/* "#utility.yul":45:133 */
|
||||
mstore
|
||||
/* "#utility.yul":152:156 */
|
||||
0x02
|
||||
/* "#utility.yul":149:150 */
|
||||
0x04
|
||||
/* "#utility.yul":142:157 */
|
||||
mstore
|
||||
/* "#utility.yul":176:180 */
|
||||
0x24
|
||||
/* "#utility.yul":173:174 */
|
||||
0x00
|
||||
/* "#utility.yul":166:181 */
|
||||
revert
|
||||
|
||||
auxdata: <AUXDATA REMOVED>
|
||||
}
|
||||
|
@ -10,7 +10,9 @@ IR:
|
||||
object "C_81" {
|
||||
code {
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
|
||||
constructor_C_81()
|
||||
|
||||
@ -27,8 +29,10 @@ object "C_81" {
|
||||
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
revert(0, 0)
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
}
|
||||
@ -45,7 +49,9 @@ object "C_81" {
|
||||
{
|
||||
// f(uint256,uint256,uint256,uint256)
|
||||
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
let param_0, param_1, param_2, param_3 := abi_decode_tuple_t_uint256t_uint256t_uint256t_uint256(4, calldatasize())
|
||||
let ret_0, ret_1, ret_2, ret_3 := fun_f_80(param_0, param_1, param_2, param_3)
|
||||
let memPos := allocate_unbounded()
|
||||
@ -288,6 +294,12 @@ object "C_81" {
|
||||
|
||||
}
|
||||
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
function panic_error_0x11() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x11)
|
||||
@ -302,10 +314,6 @@ object "C_81" {
|
||||
revert(0, 0)
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
revert(0, 0)
|
||||
}
|
||||
|
||||
function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {
|
||||
revert(0, 0)
|
||||
}
|
||||
|
@ -13,16 +13,22 @@
|
||||
},
|
||||
"abi_decode_tuple_t_uint256_fromMemory":
|
||||
{
|
||||
"entryPoint": 94,
|
||||
"entryPoint": 95,
|
||||
"parameterSlots": 2,
|
||||
"returnSlots": 1
|
||||
},
|
||||
"panic_error_0x02":
|
||||
{
|
||||
"entryPoint": 120,
|
||||
"parameterSlots": 0,
|
||||
"returnSlots": 0
|
||||
}
|
||||
},
|
||||
"function-debug-runtime":
|
||||
{
|
||||
"@f_14":
|
||||
{
|
||||
"entryPoint": 128,
|
||||
"entryPoint": 129,
|
||||
"id": 14,
|
||||
"parameterSlots": 2,
|
||||
"returnSlots": 1
|
||||
@ -35,13 +41,13 @@
|
||||
},
|
||||
"abi_decode_tuple_t_array$_t_uint256_$dyn_calldata_ptr":
|
||||
{
|
||||
"entryPoint": 164,
|
||||
"entryPoint": 165,
|
||||
"parameterSlots": 2,
|
||||
"returnSlots": 2
|
||||
},
|
||||
"abi_decode_tuple_t_uint256":
|
||||
{
|
||||
"entryPoint": 281,
|
||||
"entryPoint": 282,
|
||||
"parameterSlots": 2,
|
||||
"returnSlots": 1
|
||||
},
|
||||
@ -50,9 +56,15 @@
|
||||
"parameterSlots": 2,
|
||||
"returnSlots": 1
|
||||
},
|
||||
"panic_error_0x02":
|
||||
{
|
||||
"entryPoint": 307,
|
||||
"parameterSlots": 0,
|
||||
"returnSlots": 0
|
||||
},
|
||||
"panic_error_0x32":
|
||||
{
|
||||
"entryPoint": 306,
|
||||
"entryPoint": 329,
|
||||
"parameterSlots": 0,
|
||||
"returnSlots": 0
|
||||
}
|
||||
|
@ -10,7 +10,12 @@ object "C_7" {
|
||||
code {
|
||||
{
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(0, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
let _1 := datasize("C_7_deployed")
|
||||
codecopy(128, dataoffset("C_7_deployed"), _1)
|
||||
return(128, _1)
|
||||
@ -38,7 +43,12 @@ object "D_10" {
|
||||
code {
|
||||
{
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(0, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
let _1 := datasize("D_10_deployed")
|
||||
codecopy(128, dataoffset("D_10_deployed"), _1)
|
||||
return(128, _1)
|
||||
|
@ -10,7 +10,12 @@ object "C_3" {
|
||||
code {
|
||||
{
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(0, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
let _1 := datasize("C_3_deployed")
|
||||
codecopy(128, dataoffset("C_3_deployed"), _1)
|
||||
return(128, _1)
|
||||
@ -38,7 +43,12 @@ object "D_16" {
|
||||
code {
|
||||
{
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(0, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
let _1 := datasize("D_16_deployed")
|
||||
codecopy(128, dataoffset("D_16_deployed"), _1)
|
||||
return(128, _1)
|
||||
@ -53,7 +63,12 @@ object "D_16" {
|
||||
let _1 := 0
|
||||
if eq(0x26121ff0, shr(224, calldataload(_1)))
|
||||
{
|
||||
if callvalue() { revert(_1, _1) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(_1, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(_1, 0x24)
|
||||
}
|
||||
if slt(add(calldatasize(), not(3)), _1) { revert(_1, _1) }
|
||||
let _2 := datasize("C_3")
|
||||
let _3 := add(128, _2)
|
||||
@ -80,7 +95,12 @@ object "D_16" {
|
||||
code {
|
||||
{
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(0, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
let _1 := datasize("C_3_deployed")
|
||||
codecopy(128, dataoffset("C_3_deployed"), _1)
|
||||
return(128, _1)
|
||||
|
@ -10,7 +10,12 @@ object "D_12" {
|
||||
code {
|
||||
{
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(0, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
let _1 := datasize("D_12_deployed")
|
||||
codecopy(128, dataoffset("D_12_deployed"), _1)
|
||||
return(128, _1)
|
||||
@ -25,7 +30,12 @@ object "D_12" {
|
||||
let _1 := 0
|
||||
if eq(0x26121ff0, shr(224, calldataload(_1)))
|
||||
{
|
||||
if callvalue() { revert(_1, _1) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(_1, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(_1, 0x24)
|
||||
}
|
||||
if slt(add(calldatasize(), not(3)), _1) { revert(_1, _1) }
|
||||
return(128, _1)
|
||||
}
|
||||
|
@ -10,7 +10,12 @@ object "D_8" {
|
||||
code {
|
||||
{
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(0, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
let _1 := datasize("D_8_deployed")
|
||||
codecopy(128, dataoffset("D_8_deployed"), _1)
|
||||
return(128, _1)
|
||||
@ -25,7 +30,12 @@ object "D_8" {
|
||||
let _1 := 0
|
||||
if eq(0x26121ff0, shr(224, calldataload(_1)))
|
||||
{
|
||||
if callvalue() { revert(_1, _1) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(_1, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(_1, 0x24)
|
||||
}
|
||||
if slt(add(calldatasize(), not(3)), _1) { revert(_1, _1) }
|
||||
return(128, _1)
|
||||
}
|
||||
|
@ -10,7 +10,12 @@ object "C_12" {
|
||||
code {
|
||||
{
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(0, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
mstore(0, 100)
|
||||
sstore(0, keccak256(0, 32))
|
||||
let _1 := datasize("C_12_deployed")
|
||||
@ -22,7 +27,12 @@ object "C_12" {
|
||||
code {
|
||||
{
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
mstore(0, 100)
|
||||
sstore(0, 17385872270140913825666367956517731270094621555228275961425792378517567244498)
|
||||
stop()
|
||||
|
@ -10,7 +10,12 @@ object "C_7" {
|
||||
code {
|
||||
{
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(0, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
let _1 := datasize("C_7_deployed")
|
||||
codecopy(128, dataoffset("C_7_deployed"), _1)
|
||||
return(128, _1)
|
||||
@ -20,7 +25,12 @@ object "C_7" {
|
||||
code {
|
||||
{
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(0, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
mstore(0, 100)
|
||||
sstore(0, keccak256(0, 32))
|
||||
stop()
|
||||
|
@ -1 +1 @@
|
||||
{"contracts":{"A":{"C":{"evm":{"bytecode":{"linkReferences":{"A":{"L2":[{"length":20,"start":184},{"length":20,"start":368}]}},"object":"<BYTECODE REMOVED>__$622b2f540b6a16ff5db7bea656ad8fcf4f$__<BYTECODE REMOVED>__$622b2f540b6a16ff5db7bea656ad8fcf4f$__<BYTECODE REMOVED>"}}}}},"sources":{"A":{"id":0}}}
|
||||
{"contracts":{"A":{"C":{"evm":{"bytecode":{"linkReferences":{"A":{"L2":[{"length":20,"start":240},{"length":20,"start":424}]}},"object":"<BYTECODE REMOVED>__$622b2f540b6a16ff5db7bea656ad8fcf4f$__<BYTECODE REMOVED>__$622b2f540b6a16ff5db7bea656ad8fcf4f$__<BYTECODE REMOVED>"}}}}},"sources":{"A":{"id":0}}}
|
||||
|
@ -10,7 +10,12 @@ object "C_59" {
|
||||
code {
|
||||
{
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(0, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
let _1 := datasize("C_59_deployed")
|
||||
codecopy(128, dataoffset("C_59_deployed"), _1)
|
||||
return(128, _1)
|
||||
@ -25,7 +30,12 @@ object "C_59" {
|
||||
let _1 := 0
|
||||
if eq(0xf8eddcc6, shr(224, calldataload(_1)))
|
||||
{
|
||||
if callvalue() { revert(_1, _1) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(_1, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(_1, 0x24)
|
||||
}
|
||||
let _2 := 32
|
||||
if slt(add(calldatasize(), not(3)), _2) { revert(_1, _1) }
|
||||
let offset := calldataload(4)
|
||||
@ -45,7 +55,7 @@ object "C_59" {
|
||||
for { } lt(i, _4) { i := add(i, 1) }
|
||||
{
|
||||
if slt(sub(calldatasize(), src), _2) { revert(_1, _1) }
|
||||
let value := allocate_memory_1228()
|
||||
let value := allocate_memory_1244()
|
||||
mstore(value, calldataload(src))
|
||||
mstore(dst, value)
|
||||
dst := add(dst, _2)
|
||||
@ -76,7 +86,7 @@ object "C_59" {
|
||||
}
|
||||
tail := add(add(headStart, and(add(length, 31), not(31))), 96)
|
||||
}
|
||||
function allocate_memory_1228() -> memPtr
|
||||
function allocate_memory_1244() -> memPtr
|
||||
{
|
||||
memPtr := mload(64)
|
||||
let newFreePtr := add(memPtr, 32)
|
||||
|
@ -3,16 +3,39 @@
|
||||
EVM assembly:
|
||||
/* "optimize_full_storage_write/input.sol":60:213 contract OptimizeFullSlotWrite {... */
|
||||
mstore(0x40, 0x80)
|
||||
callvalue
|
||||
dup1
|
||||
iszero
|
||||
tag_1
|
||||
jumpi
|
||||
jumpi(tag_2, iszero(callvalue))
|
||||
tag_2
|
||||
tag_3
|
||||
jump // in
|
||||
tag_2:
|
||||
jump(tag_5)
|
||||
/* "#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
|
||||
dup1
|
||||
/* "#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
|
||||
tag_1:
|
||||
pop
|
||||
/* "#utility.yul":46:141 */
|
||||
tag_5:
|
||||
/* "optimize_full_storage_write/input.sol":60:213 contract OptimizeFullSlotWrite {... */
|
||||
dataSize(sub_0)
|
||||
dup1
|
||||
dataOffset(sub_0)
|
||||
@ -25,30 +48,25 @@ stop
|
||||
sub_0: assembly {
|
||||
/* "optimize_full_storage_write/input.sol":60:213 contract OptimizeFullSlotWrite {... */
|
||||
mstore(0x40, 0x80)
|
||||
callvalue
|
||||
dup1
|
||||
iszero
|
||||
tag_1
|
||||
jumpi
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
tag_1:
|
||||
pop
|
||||
jumpi(tag_2, lt(calldatasize, 0x04))
|
||||
jumpi(tag_2, iszero(callvalue))
|
||||
tag_2
|
||||
tag_3
|
||||
jump // in
|
||||
tag_2:
|
||||
jumpi(tag_4, lt(calldatasize, 0x04))
|
||||
shr(0xe0, calldataload(0x00))
|
||||
dup1
|
||||
0x26121ff0
|
||||
eq
|
||||
tag_3
|
||||
tag_5
|
||||
jumpi
|
||||
tag_2:
|
||||
tag_4:
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
/* "optimize_full_storage_write/input.sol":111:211 function f() public {... */
|
||||
tag_3:
|
||||
tag_4
|
||||
tag_5:
|
||||
tag_6
|
||||
/* "optimize_full_storage_write/input.sol":192:207 nums[3] = 44444 */
|
||||
0xad9c000000000000823500000000000056ce0000000000002b67
|
||||
/* "optimize_full_storage_write/input.sol":135:139 nums */
|
||||
@ -57,8 +75,32 @@ sub_0: assembly {
|
||||
sstore
|
||||
/* "optimize_full_storage_write/input.sol":111:211 function f() public {... */
|
||||
jump
|
||||
tag_4:
|
||||
tag_6:
|
||||
stop
|
||||
/* "#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
|
||||
|
||||
auxdata: <AUXDATA REMOVED>
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ EVM assembly:
|
||||
not(sub(shl(0x40, 0x01), 0x01))
|
||||
and
|
||||
/* "optimizer_BlockDeDuplicator/input.sol":201:206 fun_x */
|
||||
or(tag_0_7, shl(0x20, tag_2))
|
||||
or(tag_0_9, shl(0x20, tag_2))
|
||||
sub(shl(0x40, 0x01), 0x01)
|
||||
/* "optimizer_BlockDeDuplicator/input.sol":179:210 function() r = true ? fun_x : f */
|
||||
and
|
||||
@ -18,22 +18,42 @@ EVM assembly:
|
||||
swap1
|
||||
sstore
|
||||
/* "optimizer_BlockDeDuplicator/input.sol":60:213 contract C {... */
|
||||
callvalue
|
||||
dup1
|
||||
iszero
|
||||
tag_5
|
||||
jumpi
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
tag_5:
|
||||
pop
|
||||
jump(tag_6)
|
||||
jumpi(tag_6, iszero(callvalue))
|
||||
tag_6
|
||||
tag_7
|
||||
jump // in
|
||||
tag_6:
|
||||
jump(tag_13)
|
||||
/* "optimizer_BlockDeDuplicator/input.sol":138:174 function f() public { true ? 1 : 3;} */
|
||||
tag_2:
|
||||
jump // out
|
||||
/* "#utility.yul":14:141 */
|
||||
tag_7:
|
||||
/* "#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_13:
|
||||
/* "optimizer_BlockDeDuplicator/input.sol":60:213 contract C {... */
|
||||
tag_6:
|
||||
dataSize(sub_0)
|
||||
dup1
|
||||
dataOffset(sub_0)
|
||||
@ -46,42 +66,61 @@ stop
|
||||
sub_0: assembly {
|
||||
/* "optimizer_BlockDeDuplicator/input.sol":60:213 contract C {... */
|
||||
mstore(0x40, 0x80)
|
||||
callvalue
|
||||
dup1
|
||||
iszero
|
||||
tag_1
|
||||
jumpi
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
tag_1:
|
||||
pop
|
||||
jumpi(tag_2, lt(calldatasize, 0x04))
|
||||
jumpi(tag_2, iszero(callvalue))
|
||||
tag_2
|
||||
tag_3
|
||||
jump // in
|
||||
tag_2:
|
||||
jumpi(tag_4, lt(calldatasize, 0x04))
|
||||
shr(0xe0, calldataload(0x00))
|
||||
dup1
|
||||
0x26121ff0
|
||||
eq
|
||||
tag_3
|
||||
tag_5
|
||||
jumpi
|
||||
dup1
|
||||
0x2e1fb2bc
|
||||
eq
|
||||
tag_3
|
||||
tag_5
|
||||
jumpi
|
||||
dup1
|
||||
0x4753a67d
|
||||
eq
|
||||
tag_3
|
||||
tag_5
|
||||
jumpi
|
||||
tag_2:
|
||||
tag_4:
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
/* "optimizer_BlockDeDuplicator/input.sol":138:174 function f() public { true ? 1 : 3;} */
|
||||
tag_3:
|
||||
tag_5:
|
||||
stop
|
||||
tag_7:
|
||||
tag_9:
|
||||
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
|
||||
|
||||
auxdata: <AUXDATA REMOVED>
|
||||
}
|
||||
|
@ -10,7 +10,12 @@ object "Arraysum_34" {
|
||||
code {
|
||||
{
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(0, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
let _1 := datasize("Arraysum_34_deployed")
|
||||
codecopy(128, dataoffset("Arraysum_34_deployed"), _1)
|
||||
return(128, _1)
|
||||
@ -25,7 +30,12 @@ object "Arraysum_34" {
|
||||
let _1 := 0
|
||||
if eq(0x81d73423, shr(224, calldataload(_1)))
|
||||
{
|
||||
if callvalue() { revert(_1, _1) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(_1, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(_1, 0x24)
|
||||
}
|
||||
if slt(add(calldatasize(), not(3)), _1) { revert(_1, _1) }
|
||||
let var_sum := _1
|
||||
let var_i := _1
|
||||
|
@ -3,16 +3,39 @@
|
||||
EVM assembly:
|
||||
/* "optimizer_inliner_add/input.sol":165:305 contract C {... */
|
||||
mstore(0x40, 0x80)
|
||||
callvalue
|
||||
dup1
|
||||
iszero
|
||||
tag_1
|
||||
jumpi
|
||||
jumpi(tag_2, iszero(callvalue))
|
||||
tag_2
|
||||
tag_3
|
||||
jump // in
|
||||
tag_2:
|
||||
jump(tag_5)
|
||||
/* "#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
|
||||
dup1
|
||||
/* "#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
|
||||
tag_1:
|
||||
pop
|
||||
/* "#utility.yul":46:141 */
|
||||
tag_5:
|
||||
/* "optimizer_inliner_add/input.sol":165:305 contract C {... */
|
||||
dataSize(sub_0)
|
||||
dup1
|
||||
dataOffset(sub_0)
|
||||
@ -25,39 +48,34 @@ stop
|
||||
sub_0: assembly {
|
||||
/* "optimizer_inliner_add/input.sol":165:305 contract C {... */
|
||||
mstore(0x40, 0x80)
|
||||
callvalue
|
||||
dup1
|
||||
iszero
|
||||
tag_1
|
||||
jumpi
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
tag_1:
|
||||
pop
|
||||
jumpi(tag_2, lt(calldatasize, 0x04))
|
||||
jumpi(tag_2, iszero(callvalue))
|
||||
tag_2
|
||||
tag_3
|
||||
jump // in
|
||||
tag_2:
|
||||
jumpi(tag_4, lt(calldatasize, 0x04))
|
||||
shr(0xe0, calldataload(0x00))
|
||||
dup1
|
||||
0x26121ff0
|
||||
eq
|
||||
tag_3
|
||||
tag_5
|
||||
jumpi
|
||||
tag_2:
|
||||
tag_4:
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
/* "optimizer_inliner_add/input.sol":182:303 function f() public pure {... */
|
||||
tag_3:
|
||||
tag_4
|
||||
tag_5
|
||||
jump // in
|
||||
tag_4:
|
||||
stop
|
||||
tag_5:
|
||||
tag_6
|
||||
tag_7
|
||||
jump // in
|
||||
tag_6:
|
||||
stop
|
||||
tag_7:
|
||||
/* "optimizer_inliner_add/input.sol":221:227 uint x */
|
||||
0x00
|
||||
/* "optimizer_inliner_add/input.sol":217:297 for(uint x = 0; x < 10; x = unsafe_add(x, unsafe_add(x, 1)))... */
|
||||
tag_7:
|
||||
tag_9:
|
||||
/* "optimizer_inliner_add/input.sol":237:239 10 */
|
||||
0x0a
|
||||
/* "optimizer_inliner_add/input.sol":233:234 x */
|
||||
@ -66,7 +84,7 @@ sub_0: assembly {
|
||||
lt
|
||||
/* "optimizer_inliner_add/input.sol":217:297 for(uint x = 0; x < 10; x = unsafe_add(x, unsafe_add(x, 1)))... */
|
||||
iszero
|
||||
tag_8
|
||||
tag_10
|
||||
jumpi
|
||||
/* "optimizer_inliner_add/input.sol":149:154 x + y */
|
||||
dup1
|
||||
@ -76,11 +94,35 @@ sub_0: assembly {
|
||||
/* "optimizer_inliner_add/input.sol":149:154 x + y */
|
||||
add
|
||||
/* "optimizer_inliner_add/input.sol":217:297 for(uint x = 0; x < 10; x = unsafe_add(x, unsafe_add(x, 1)))... */
|
||||
jump(tag_7)
|
||||
tag_8:
|
||||
jump(tag_9)
|
||||
tag_10:
|
||||
pop
|
||||
/* "optimizer_inliner_add/input.sol":182:303 function f() public pure {... */
|
||||
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
|
||||
|
||||
auxdata: <AUXDATA REMOVED>
|
||||
}
|
||||
|
@ -4,16 +4,11 @@ EVM assembly:
|
||||
/* "optimizer_inliner_call_from_constructor/input.sol":60:263 contract C {... */
|
||||
mstore(0x40, 0x80)
|
||||
/* "optimizer_inliner_call_from_constructor/input.sol":89:115 constructor() { x = a(); } */
|
||||
callvalue
|
||||
dup1
|
||||
iszero
|
||||
tag_1
|
||||
jumpi
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
tag_1:
|
||||
pop
|
||||
jumpi(tag_2, iszero(callvalue))
|
||||
tag_2
|
||||
tag_3
|
||||
jump // in
|
||||
tag_2:
|
||||
/* "optimizer_inliner_call_from_constructor/input.sol":257:258 6 */
|
||||
0x06
|
||||
/* "optimizer_inliner_call_from_constructor/input.sol":105:106 x */
|
||||
@ -21,6 +16,34 @@ tag_1:
|
||||
/* "optimizer_inliner_call_from_constructor/input.sol":105:112 x = a() */
|
||||
sstore
|
||||
/* "optimizer_inliner_call_from_constructor/input.sol":60:263 contract C {... */
|
||||
jump(tag_13)
|
||||
/* "#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_13:
|
||||
/* "optimizer_inliner_call_from_constructor/input.sol":60:263 contract C {... */
|
||||
dataSize(sub_0)
|
||||
dup1
|
||||
dataOffset(sub_0)
|
||||
@ -33,29 +56,24 @@ stop
|
||||
sub_0: assembly {
|
||||
/* "optimizer_inliner_call_from_constructor/input.sol":60:263 contract C {... */
|
||||
mstore(0x40, 0x80)
|
||||
callvalue
|
||||
dup1
|
||||
iszero
|
||||
tag_1
|
||||
jumpi
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
tag_1:
|
||||
pop
|
||||
jumpi(tag_2, lt(calldatasize, 0x04))
|
||||
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_3
|
||||
tag_5
|
||||
jumpi
|
||||
tag_2:
|
||||
tag_4:
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
/* "optimizer_inliner_call_from_constructor/input.sol":120:175 function a() public pure returns (uint) { return f(); } */
|
||||
tag_3:
|
||||
tag_5:
|
||||
/* "optimizer_inliner_call_from_constructor/input.sol":257:258 6 */
|
||||
0x06
|
||||
/* "optimizer_inliner_call_from_constructor/input.sol":120:175 function a() public pure returns (uint) { return f(); } */
|
||||
@ -75,6 +93,30 @@ sub_0: assembly {
|
||||
sub
|
||||
swap1
|
||||
return
|
||||
/* "#utility.yul":196:323 */
|
||||
tag_3:
|
||||
/* "#utility.yul":257:267 */
|
||||
0x4e487b71
|
||||
/* "#utility.yul":252:255 */
|
||||
0xe0
|
||||
/* "#utility.yul":248:268 */
|
||||
shl
|
||||
/* "#utility.yul":245:246 */
|
||||
0x00
|
||||
/* "#utility.yul":238:269 */
|
||||
mstore
|
||||
/* "#utility.yul":288:292 */
|
||||
0x02
|
||||
/* "#utility.yul":285:286 */
|
||||
0x04
|
||||
/* "#utility.yul":278:293 */
|
||||
mstore
|
||||
/* "#utility.yul":312:316 */
|
||||
0x24
|
||||
/* "#utility.yul":309:310 */
|
||||
0x00
|
||||
/* "#utility.yul":302:317 */
|
||||
revert
|
||||
|
||||
auxdata: <AUXDATA REMOVED>
|
||||
}
|
||||
|
@ -3,16 +3,39 @@
|
||||
EVM assembly:
|
||||
/* "optimizer_inliner_dynamic_reference/input.sol":60:367 contract C {... */
|
||||
mstore(0x40, 0x80)
|
||||
callvalue
|
||||
dup1
|
||||
iszero
|
||||
tag_1
|
||||
jumpi
|
||||
jumpi(tag_2, iszero(callvalue))
|
||||
tag_2
|
||||
tag_3
|
||||
jump // in
|
||||
tag_2:
|
||||
jump(tag_5)
|
||||
/* "#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
|
||||
dup1
|
||||
/* "#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
|
||||
tag_1:
|
||||
pop
|
||||
/* "#utility.yul":46:141 */
|
||||
tag_5:
|
||||
/* "optimizer_inliner_dynamic_reference/input.sol":60:367 contract C {... */
|
||||
dataSize(sub_0)
|
||||
dup1
|
||||
dataOffset(sub_0)
|
||||
@ -25,43 +48,38 @@ 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))
|
||||
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_3
|
||||
tag_5
|
||||
jumpi
|
||||
dup1
|
||||
0xb8c9d365
|
||||
eq
|
||||
tag_4
|
||||
tag_6
|
||||
jumpi
|
||||
dup1
|
||||
0xe2179b8e
|
||||
eq
|
||||
tag_5
|
||||
tag_7
|
||||
jumpi
|
||||
tag_2:
|
||||
tag_4:
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
/* "optimizer_inliner_dynamic_reference/input.sol":160:215 function a() public pure returns (uint) { return f(); } */
|
||||
tag_3:
|
||||
tag_5:
|
||||
/* "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:
|
||||
tag_8:
|
||||
mload(0x40)
|
||||
/* "#utility.yul":160:185 */
|
||||
swap1
|
||||
@ -79,12 +97,12 @@ sub_0: assembly {
|
||||
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
|
||||
tag_6:
|
||||
tag_8
|
||||
tag_13
|
||||
jump // in
|
||||
/* "optimizer_inliner_dynamic_reference/input.sol":125:155 function g() public { x = f; } */
|
||||
tag_5:
|
||||
tag_7:
|
||||
/* "optimizer_inliner_dynamic_reference/input.sol":147:148 x */
|
||||
0x00
|
||||
/* "optimizer_inliner_dynamic_reference/input.sol":147:152 x = f */
|
||||
@ -93,7 +111,7 @@ sub_0: assembly {
|
||||
not(0xffffffffffffffff)
|
||||
and
|
||||
/* "optimizer_inliner_dynamic_reference/input.sol":151:152 f */
|
||||
tag_17
|
||||
tag_19
|
||||
/* "optimizer_inliner_dynamic_reference/input.sol":147:152 x = f */
|
||||
or
|
||||
swap1
|
||||
@ -101,7 +119,7 @@ sub_0: assembly {
|
||||
/* "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:
|
||||
tag_18:
|
||||
/* "optimizer_inliner_dynamic_reference/input.sol":202:212 return f() */
|
||||
swap1
|
||||
pop
|
||||
@ -109,49 +127,49 @@ sub_0: assembly {
|
||||
swap1
|
||||
jump // out
|
||||
/* "optimizer_inliner_dynamic_reference/input.sol":246:305 function h() public view returns (uint) { return x() + 1; } */
|
||||
tag_11:
|
||||
tag_13:
|
||||
/* "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
|
||||
tag_21
|
||||
swap1
|
||||
/* "optimizer_inliner_dynamic_reference/input.sol":295:296 x */
|
||||
dup1
|
||||
iszero
|
||||
tag_20
|
||||
tag_22
|
||||
mul
|
||||
or
|
||||
/* "optimizer_inliner_dynamic_reference/input.sol":295:298 x() */
|
||||
0xffffffff
|
||||
and
|
||||
jump // in
|
||||
tag_19:
|
||||
tag_21:
|
||||
/* "optimizer_inliner_dynamic_reference/input.sol":295:302 x() + 1 */
|
||||
tag_16
|
||||
tag_18
|
||||
swap1
|
||||
/* "optimizer_inliner_dynamic_reference/input.sol":301:302 1 */
|
||||
0x01
|
||||
/* "optimizer_inliner_dynamic_reference/input.sol":295:302 x() + 1 */
|
||||
tag_22
|
||||
tag_24
|
||||
jump // in
|
||||
/* "optimizer_inliner_dynamic_reference/input.sol":310:365 function f() internal pure returns (uint) { return 6; } */
|
||||
tag_17:
|
||||
tag_19:
|
||||
/* "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
|
||||
tag_22:
|
||||
tag_27
|
||||
tag_28
|
||||
jump // in
|
||||
tag_25:
|
||||
tag_27:
|
||||
jump // out
|
||||
/* "#utility.yul":196:421 */
|
||||
tag_22:
|
||||
tag_24:
|
||||
/* "#utility.yul":236:239 */
|
||||
0x00
|
||||
/* "#utility.yul":267:268 */
|
||||
@ -164,7 +182,7 @@ sub_0: assembly {
|
||||
gt
|
||||
/* "#utility.yul":254:256 */
|
||||
iszero
|
||||
tag_30
|
||||
tag_32
|
||||
jumpi
|
||||
/* "#utility.yul":312:322 */
|
||||
0x4e487b71
|
||||
@ -189,7 +207,7 @@ sub_0: assembly {
|
||||
/* "#utility.yul":365:380 */
|
||||
revert
|
||||
/* "#utility.yul":254:256 */
|
||||
tag_30:
|
||||
tag_32:
|
||||
pop
|
||||
/* "#utility.yul":406:415 */
|
||||
add
|
||||
@ -197,7 +215,7 @@ sub_0: assembly {
|
||||
/* "#utility.yul":244:421 */
|
||||
jump // out
|
||||
/* "#utility.yul":426:553 */
|
||||
tag_26:
|
||||
tag_3:
|
||||
/* "#utility.yul":487:497 */
|
||||
0x4e487b71
|
||||
/* "#utility.yul":482:485 */
|
||||
@ -209,7 +227,7 @@ sub_0: assembly {
|
||||
/* "#utility.yul":468:499 */
|
||||
mstore
|
||||
/* "#utility.yul":518:522 */
|
||||
0x51
|
||||
0x02
|
||||
/* "#utility.yul":515:516 */
|
||||
0x04
|
||||
/* "#utility.yul":508:523 */
|
||||
@ -220,6 +238,30 @@ sub_0: assembly {
|
||||
0x00
|
||||
/* "#utility.yul":532:547 */
|
||||
revert
|
||||
/* "#utility.yul":558:685 */
|
||||
tag_28:
|
||||
/* "#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>
|
||||
}
|
||||
|
@ -4,16 +4,11 @@ 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; } */
|
||||
callvalue
|
||||
dup1
|
||||
iszero
|
||||
tag_1
|
||||
jumpi
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
tag_1:
|
||||
pop
|
||||
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 */
|
||||
@ -22,7 +17,7 @@ tag_1:
|
||||
not(sub(shl(0x40, 0x01), 0x01))
|
||||
and
|
||||
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":97:98 f */
|
||||
or(tag_0_12, shl(0x20, tag_4))
|
||||
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
|
||||
@ -30,16 +25,41 @@ tag_1:
|
||||
swap1
|
||||
sstore
|
||||
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":60:361 contract C {... */
|
||||
jump(tag_5)
|
||||
jump(tag_9)
|
||||
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */
|
||||
tag_4:
|
||||
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 {... */
|
||||
tag_5:
|
||||
dataSize(sub_0)
|
||||
dup1
|
||||
dataOffset(sub_0)
|
||||
@ -52,38 +72,33 @@ stop
|
||||
sub_0: assembly {
|
||||
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":60:361 contract C {... */
|
||||
mstore(0x40, 0x80)
|
||||
callvalue
|
||||
dup1
|
||||
iszero
|
||||
tag_1
|
||||
jumpi
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
tag_1:
|
||||
pop
|
||||
jumpi(tag_2, lt(calldatasize, 0x04))
|
||||
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_3
|
||||
tag_5
|
||||
jumpi
|
||||
dup1
|
||||
0xb8c9d365
|
||||
eq
|
||||
tag_4
|
||||
tag_6
|
||||
jumpi
|
||||
tag_2:
|
||||
tag_4:
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":154:209 function a() public pure returns (uint) { return f(); } */
|
||||
tag_3:
|
||||
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_5:
|
||||
tag_7:
|
||||
mload(0x40)
|
||||
/* "#utility.yul":160:185 */
|
||||
swap1
|
||||
@ -101,12 +116,12 @@ sub_0: assembly {
|
||||
swap1
|
||||
return
|
||||
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":240:299 function h() public view returns (uint) { return x() + 1; } */
|
||||
tag_4:
|
||||
tag_5
|
||||
tag_10
|
||||
tag_6:
|
||||
tag_7
|
||||
tag_12
|
||||
jump // in
|
||||
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":203:206 f() */
|
||||
tag_14:
|
||||
tag_16:
|
||||
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":196:206 return f() */
|
||||
swap1
|
||||
pop
|
||||
@ -114,49 +129,49 @@ sub_0: assembly {
|
||||
swap1
|
||||
jump // out
|
||||
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":240:299 function h() public view returns (uint) { return x() + 1; } */
|
||||
tag_10:
|
||||
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_16
|
||||
tag_18
|
||||
swap1
|
||||
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":289:290 x */
|
||||
dup1
|
||||
iszero
|
||||
tag_17
|
||||
tag_19
|
||||
mul
|
||||
or
|
||||
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":289:292 x() */
|
||||
0xffffffff
|
||||
and
|
||||
jump // in
|
||||
tag_16:
|
||||
tag_18:
|
||||
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":289:296 x() + 1 */
|
||||
tag_14
|
||||
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_19
|
||||
tag_21
|
||||
jump // in
|
||||
/* "optimizer_inliner_dynamic_reference_constructor/input.sol":304:359 function f() internal pure returns (uint) { return 6; } */
|
||||
tag_12:
|
||||
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_17:
|
||||
tag_21
|
||||
tag_22
|
||||
tag_19:
|
||||
tag_23
|
||||
tag_24
|
||||
jump // in
|
||||
tag_21:
|
||||
tag_23:
|
||||
jump // out
|
||||
/* "#utility.yul":196:421 */
|
||||
tag_19:
|
||||
tag_21:
|
||||
/* "#utility.yul":236:239 */
|
||||
0x00
|
||||
/* "#utility.yul":267:268 */
|
||||
@ -169,7 +184,7 @@ sub_0: assembly {
|
||||
gt
|
||||
/* "#utility.yul":254:256 */
|
||||
iszero
|
||||
tag_26
|
||||
tag_28
|
||||
jumpi
|
||||
/* "#utility.yul":312:322 */
|
||||
0x4e487b71
|
||||
@ -194,7 +209,7 @@ sub_0: assembly {
|
||||
/* "#utility.yul":365:380 */
|
||||
revert
|
||||
/* "#utility.yul":254:256 */
|
||||
tag_26:
|
||||
tag_28:
|
||||
pop
|
||||
/* "#utility.yul":406:415 */
|
||||
add
|
||||
@ -202,7 +217,7 @@ sub_0: assembly {
|
||||
/* "#utility.yul":244:421 */
|
||||
jump // out
|
||||
/* "#utility.yul":426:553 */
|
||||
tag_22:
|
||||
tag_3:
|
||||
/* "#utility.yul":487:497 */
|
||||
0x4e487b71
|
||||
/* "#utility.yul":482:485 */
|
||||
@ -214,7 +229,7 @@ sub_0: assembly {
|
||||
/* "#utility.yul":468:499 */
|
||||
mstore
|
||||
/* "#utility.yul":518:522 */
|
||||
0x51
|
||||
0x02
|
||||
/* "#utility.yul":515:516 */
|
||||
0x04
|
||||
/* "#utility.yul":508:523 */
|
||||
@ -225,6 +240,30 @@ sub_0: assembly {
|
||||
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>
|
||||
}
|
||||
|
@ -3,16 +3,39 @@
|
||||
EVM assembly:
|
||||
/* "optimizer_inliner_inc/input.sol":157:279 contract C {... */
|
||||
mstore(0x40, 0x80)
|
||||
callvalue
|
||||
dup1
|
||||
iszero
|
||||
tag_1
|
||||
jumpi
|
||||
jumpi(tag_2, iszero(callvalue))
|
||||
tag_2
|
||||
tag_3
|
||||
jump // in
|
||||
tag_2:
|
||||
jump(tag_5)
|
||||
/* "#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
|
||||
dup1
|
||||
/* "#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
|
||||
tag_1:
|
||||
pop
|
||||
/* "#utility.yul":46:141 */
|
||||
tag_5:
|
||||
/* "optimizer_inliner_inc/input.sol":157:279 contract C {... */
|
||||
dataSize(sub_0)
|
||||
dup1
|
||||
dataOffset(sub_0)
|
||||
@ -25,39 +48,34 @@ stop
|
||||
sub_0: assembly {
|
||||
/* "optimizer_inliner_inc/input.sol":157:279 contract C {... */
|
||||
mstore(0x40, 0x80)
|
||||
callvalue
|
||||
dup1
|
||||
iszero
|
||||
tag_1
|
||||
jumpi
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
tag_1:
|
||||
pop
|
||||
jumpi(tag_2, lt(calldatasize, 0x04))
|
||||
jumpi(tag_2, iszero(callvalue))
|
||||
tag_2
|
||||
tag_3
|
||||
jump // in
|
||||
tag_2:
|
||||
jumpi(tag_4, lt(calldatasize, 0x04))
|
||||
shr(0xe0, calldataload(0x00))
|
||||
dup1
|
||||
0x26121ff0
|
||||
eq
|
||||
tag_3
|
||||
tag_5
|
||||
jumpi
|
||||
tag_2:
|
||||
tag_4:
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
/* "optimizer_inliner_inc/input.sol":174:277 function f() public pure {... */
|
||||
tag_3:
|
||||
tag_4
|
||||
tag_5
|
||||
jump // in
|
||||
tag_4:
|
||||
stop
|
||||
tag_5:
|
||||
tag_6
|
||||
tag_7
|
||||
jump // in
|
||||
tag_6:
|
||||
stop
|
||||
tag_7:
|
||||
/* "optimizer_inliner_inc/input.sol":213:219 uint x */
|
||||
0x00
|
||||
/* "optimizer_inliner_inc/input.sol":209:271 for(uint x = 0; x < 10; x = unsafe_inc(x))... */
|
||||
tag_7:
|
||||
tag_9:
|
||||
/* "optimizer_inliner_inc/input.sol":229:231 10 */
|
||||
0x0a
|
||||
/* "optimizer_inliner_inc/input.sol":225:226 x */
|
||||
@ -66,18 +84,42 @@ sub_0: assembly {
|
||||
lt
|
||||
/* "optimizer_inliner_inc/input.sol":209:271 for(uint x = 0; x < 10; x = unsafe_inc(x))... */
|
||||
iszero
|
||||
tag_8
|
||||
tag_10
|
||||
jumpi
|
||||
/* "optimizer_inliner_inc/input.sol":145:146 1 */
|
||||
0x01
|
||||
/* "optimizer_inliner_inc/input.sol":141:146 x + 1 */
|
||||
add
|
||||
/* "optimizer_inliner_inc/input.sol":209:271 for(uint x = 0; x < 10; x = unsafe_inc(x))... */
|
||||
jump(tag_7)
|
||||
tag_8:
|
||||
jump(tag_9)
|
||||
tag_10:
|
||||
pop
|
||||
/* "optimizer_inliner_inc/input.sol":174:277 function f() public pure {... */
|
||||
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
|
||||
|
||||
auxdata: <AUXDATA REMOVED>
|
||||
}
|
||||
|
@ -3,16 +3,39 @@
|
||||
EVM assembly:
|
||||
/* "optimizer_inliner_multireturn/input.sol":162:298 contract C {... */
|
||||
mstore(0x40, 0x80)
|
||||
callvalue
|
||||
dup1
|
||||
iszero
|
||||
tag_1
|
||||
jumpi
|
||||
jumpi(tag_2, iszero(callvalue))
|
||||
tag_2
|
||||
tag_3
|
||||
jump // in
|
||||
tag_2:
|
||||
jump(tag_5)
|
||||
/* "#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
|
||||
dup1
|
||||
/* "#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
|
||||
tag_1:
|
||||
pop
|
||||
/* "#utility.yul":46:141 */
|
||||
tag_5:
|
||||
/* "optimizer_inliner_multireturn/input.sol":162:298 contract C {... */
|
||||
dataSize(sub_0)
|
||||
dup1
|
||||
dataOffset(sub_0)
|
||||
@ -25,41 +48,36 @@ stop
|
||||
sub_0: assembly {
|
||||
/* "optimizer_inliner_multireturn/input.sol":162:298 contract C {... */
|
||||
mstore(0x40, 0x80)
|
||||
callvalue
|
||||
dup1
|
||||
iszero
|
||||
tag_1
|
||||
jumpi
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
tag_1:
|
||||
pop
|
||||
jumpi(tag_2, lt(calldatasize, 0x04))
|
||||
jumpi(tag_2, iszero(callvalue))
|
||||
tag_2
|
||||
tag_3
|
||||
jump // in
|
||||
tag_2:
|
||||
jumpi(tag_4, lt(calldatasize, 0x04))
|
||||
shr(0xe0, calldataload(0x00))
|
||||
dup1
|
||||
0x26121ff0
|
||||
eq
|
||||
tag_3
|
||||
tag_5
|
||||
jumpi
|
||||
tag_2:
|
||||
tag_4:
|
||||
0x00
|
||||
dup1
|
||||
revert
|
||||
/* "optimizer_inliner_multireturn/input.sol":179:296 function f() public pure {... */
|
||||
tag_3:
|
||||
tag_4
|
||||
tag_5
|
||||
jump // in
|
||||
tag_4:
|
||||
stop
|
||||
tag_5:
|
||||
tag_6
|
||||
tag_7
|
||||
jump // in
|
||||
tag_6:
|
||||
stop
|
||||
tag_7:
|
||||
/* "optimizer_inliner_multireturn/input.sol":219:225 uint x */
|
||||
0x00
|
||||
/* "optimizer_inliner_multireturn/input.sol":241:242 1 */
|
||||
0x01
|
||||
/* "optimizer_inliner_multireturn/input.sol":214:290 for((uint x, uint y) = (0, 1); x < 10; (x, y) = test(x))... */
|
||||
tag_7:
|
||||
tag_9:
|
||||
/* "optimizer_inliner_multireturn/input.sol":249:251 10 */
|
||||
0x0a
|
||||
/* "optimizer_inliner_multireturn/input.sol":245:246 x */
|
||||
@ -68,7 +86,7 @@ sub_0: assembly {
|
||||
lt
|
||||
/* "optimizer_inliner_multireturn/input.sol":214:290 for((uint x, uint y) = (0, 1); x < 10; (x, y) = test(x))... */
|
||||
iszero
|
||||
tag_8
|
||||
tag_10
|
||||
jumpi
|
||||
pop
|
||||
/* "optimizer_inliner_multireturn/input.sol":146:147 1 */
|
||||
@ -78,12 +96,36 @@ sub_0: assembly {
|
||||
add
|
||||
swap1
|
||||
/* "optimizer_inliner_multireturn/input.sol":214:290 for((uint x, uint y) = (0, 1); x < 10; (x, y) = test(x))... */
|
||||
jump(tag_7)
|
||||
tag_8:
|
||||
jump(tag_9)
|
||||
tag_10:
|
||||
pop
|
||||
pop
|
||||
/* "optimizer_inliner_multireturn/input.sol":179:296 function f() public pure {... */
|
||||
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
|
||||
|
||||
auxdata: <AUXDATA REMOVED>
|
||||
}
|
||||
|
@ -10,7 +10,9 @@ IR:
|
||||
object "C_15" {
|
||||
code {
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
|
||||
constructor_C_15()
|
||||
|
||||
@ -27,23 +29,10 @@ object "C_15" {
|
||||
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
|
||||
let start := allocate_unbounded()
|
||||
let pos := start
|
||||
mstore(pos, 3963877391197344453575983046348115674221700746820753546331534351508065746944)
|
||||
pos := add(pos, 4)
|
||||
mstore(pos, 0x20)
|
||||
pos := add(pos, 0x20)
|
||||
mstore(pos, 34)
|
||||
pos := add(pos, 0x20)
|
||||
|
||||
mstore(add(pos, 0), "Ether sent to non-payable functi")
|
||||
|
||||
mstore(add(pos, 32), "on")
|
||||
|
||||
revert(start, 132)
|
||||
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
}
|
||||
@ -60,7 +49,9 @@ object "C_15" {
|
||||
{
|
||||
// f(uint256[][],uint8)
|
||||
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
let param_0, param_1 := abi_decode_tuple_t_array$_t_array$_t_uint256_$dyn_memory_ptr_$dyn_memory_ptrt_enum$_E_$3(4, calldatasize())
|
||||
fun_f_14(param_0, param_1)
|
||||
let memPos := allocate_unbounded()
|
||||
@ -216,6 +207,12 @@ object "C_15" {
|
||||
|
||||
}
|
||||
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
function panic_error_0x41() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x41)
|
||||
@ -298,25 +295,6 @@ object "C_15" {
|
||||
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
|
||||
let start := allocate_unbounded()
|
||||
let pos := start
|
||||
mstore(pos, 3963877391197344453575983046348115674221700746820753546331534351508065746944)
|
||||
pos := add(pos, 4)
|
||||
mstore(pos, 0x20)
|
||||
pos := add(pos, 0x20)
|
||||
mstore(pos, 34)
|
||||
pos := add(pos, 0x20)
|
||||
|
||||
mstore(add(pos, 0), "Ether sent to non-payable functi")
|
||||
|
||||
mstore(add(pos, 32), "on")
|
||||
|
||||
revert(start, 132)
|
||||
|
||||
}
|
||||
|
||||
function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {
|
||||
|
||||
let start := allocate_unbounded()
|
||||
|
@ -1,4 +1,4 @@
|
||||
{"contracts":{"A":{"C":{"ewasm":{"wasm":"0061736d010000000125086000006000017e6000017f60017e017f60017f0060017f017f60027f7f0060037f7f7f0002510408657468657265756d08636f6465436f7079000708657468657265756d06726576657274000608657468657265756d0c67657443616c6c56616c7565000408657468657265756d0666696e6973680006030a090002030202020505010503010001060100071102066d656d6f72790200046d61696e000400b6030c435f335f6465706c6f7965640061736d010000000112046000006000017f60017f017f60027f7f0002130108657468657265756d06726576657274000303060500010102020503010001060100071102066d656d6f72790200046d61696e00010ad20205a10104027f017e017f047e024010022100200041c0006a210120012000490440000b420021022002a7210320031005ad42208621042002422088210520042005a71005ad84210620012006370000200141086a2006370000200141106a2006370000428001a71005ad4220862107200141186a2007428001422088a71005ad8437000020022002200284200284520440000b20022005520440000b1003200310000b0b2b01017f024042004200420084420084520440000b420042c000422088520440000b42c000a721000b20000b4203017f017e017f02404200210120012001200184200184520440000b20012001422088520440000b2001a72102200241c0006a210020002002490440000b0b20000b1f01017f024020004108744180fe0371200041087641ff01717221010b20010b1e01027f02402000100441107421022002200041107610047221010b20010b0ae303099a0102027f047e024010072100200041c0006a210120012000490440000b4200a7100bad422086210220024200422088a7100bad84210320012003370000200141086a2003370000200141106a2003370000200141186a100c37000041001002410829000021044200420084200441002900008484504504401008100510010b42a9032105100942b901100620051006100010092005100610030b0b2f02017f017e02404200210120012001200184200184520440000b20012001422088520440000b2001a721000b20000b2901017f024042004200420084420084520440000b42002000422088520440000b2000a721010b20010b2b01017f024042004200420084420084520440000b420042c000422088520440000b42c000a721000b20000b1e01027f024010052101200141c0006a210020002001490440000b0b20000b3c01027f024042004200420084420084520440000b4200428001422088520440000b428001a72101200141c0006a210020002001490440000b0b20000b1f01017f024020004108744180fe0371200041087641ff01717221010b20010b1e01027f02402000100a411074210220022000411076100a7221010b20010b2401027e0240428001a7100bad42208621012001428001422088a7100bad8421000b20000b","wast":"(module
|
||||
{"contracts":{"A":{"C":{"ewasm":{"wasm":"0061736d0100000001360b6000006000017f60017e0060017e017e60017e017f60027e7e0060047e7e7e7e0060017f0060017f017f60027f7f0060037f7f7f0002510408657468657265756d08636f6465436f7079000a08657468657265756d06726576657274000908657468657265756d0c67657443616c6c56616c7565000708657468657265756d0666696e6973680009030e0d000401010808030500060002000503010001060100071102066d656d6f72790200046d61696e000400b6030c435f335f6465706c6f7965640061736d010000000112046000006000017f60017f017f60027f7f0002130108657468657265756d06726576657274000303060500010102020503010001060100071102066d656d6f72790200046d61696e00010ad20205a10104027f017e017f047e024010022100200041c0006a210120012000490440000b420021022002a7210320031005ad42208621042002422088210520042005a71005ad84210620012006370000200141086a2006370000200141106a2006370000428001a71005ad4220862107200141186a2007428001422088a71005ad8437000020022002200284200284520440000b20022005520440000b1003200310000b0b2b01017f024042004200420084420084520440000b420042c000422088520440000b42c000a721000b20000b4203017f017e017f02404200210120012001200184200184520440000b20012001422088520440000b2001a72102200241c0006a210020002002490440000b0b20000b1f01017f024020004108744180fe0371200041087641ff01717221010b20010b1e01027f02402000100441107421022002200041107610047221010b20010b0a89080d8d02030c7e017f027e0240100c4100100241082900002100200041002900008421014200210220022002842001845045044042e001210320022104200221052002210642f1f6a1f204210720022108200221092002210a2002210b200250210c200c200c710440200c0440200342800254044020034280015a04402002210420072105200221062002210720034280017d21030b200342c0005a044020052104200621052007210620022107200342c0007d21030b42c00020037d210d2007200386210b20062003862007200d8884210a20052003862006200d8884210920042003862005200d888421080b0b0b20082009200a200b100d100e10100b42a903210e42ce01200e100b200e100f0b0b2901017f024042004200420084420084520440000b42002000422088520440000b2000a721010b20010b2b01017f024042004200420084420084520440000b4200428001422088520440000b428001a721000b20000b2f02017f017e02404200210120012001200184200184520440000b20012001422088520440000b2001a721000b20000b1f01017f024020004108744180fe0371200041087641ff01717221010b20010b1e01027f02402000100841107421022002200041107610087221010b20010b2201027e02402000a71009ad422086210220022000422088a71009ad8421010b20010b3001047f024020011005210220001005210310062104200441c0006a210520052004490440000b20052003200210000b0b970103017e027f037e02404200210020002000200084200084520440000b200042c000422088520440000b42c000a72101200141c0006a210220022001490440000b2000a71009ad422086210320032000422088a71009ad84210420022004370000200241086a2004370000200241106a2004370000428001a71009ad4220862105200241186a2005428001422088a71009ad843700000b0b4901027f024010072104200441c0006a210520052004490440000b20052000100a370000200541086a2001100a370000200541106a2002100a370000200541186a2003100a3700000b0b930103017e027f037e02404200210020002000200084200084520440000b20004204422088520440000b4204a72101200141c0006a210220022001490440000b2000a71009ad422086210320032000422088a71009ad84210420022004370000200241086a2004370000200241106a20043700004202a71009ad4220862105200241186a20054202422088a71009ad843700000b0b2801037f024020001005210110062102200241c0006a210320032002490440000b2003200110030b0b3e01027f024042004200420084420084520440000b42004224422088520440000b10072100200041c0006a210120012000490440000b20014224a710010b0b","wast":"(module
|
||||
;; custom section for sub-module
|
||||
;; The Keccak-256 hash of the text representation of \"C_3_deployed\": d5523336521d49fa8bd64dba28ece7291aa7d45c646a23eabd038bbeecc2d803
|
||||
;; (@custom \"C_3_deployed\" \"0061736d010000000112046000006000017f60017f017f60027f7f0002130108657468657265756d06726576657274000303060500010102020503010001060100071102066d656d6f72790200046d61696e00010ad20205a10104027f017e017f047e024010022100200041c0006a210120012000490440000b420021022002a7210320031005ad42208621042002422088210520042005a71005ad84210620012006370000200141086a2006370000200141106a2006370000428001a71005ad4220862107200141186a2007428001422088a71005ad8437000020022002200284200284520440000b20022005520440000b1003200310000b0b2b01017f024042004200420084420084520440000b420042c000422088520440000b42c000a721000b20000b4203017f017e017f02404200210120012001200184200184520440000b20012001422088520440000b2001a72102200241c0006a210020002002490440000b0b20000b1f01017f024020004108744180fe0371200041087641ff01717221010b20010b1e01027f02402000100441107421022002200041107610047221010b20010b\")
|
||||
@ -10,38 +10,106 @@
|
||||
(export \"main\" (func $main))
|
||||
|
||||
(func $main
|
||||
(local $p i32)
|
||||
(local $r i32)
|
||||
(local $hi i64)
|
||||
(local $y i64)
|
||||
(local $z3 i64)
|
||||
(local $_1 i64)
|
||||
(local $_2 i64)
|
||||
(local $x4 i64)
|
||||
(local $y1 i64)
|
||||
(local $y2 i64)
|
||||
(local $y3 i64)
|
||||
(local $y4 i64)
|
||||
(local $z1 i64)
|
||||
(local $z2 i64)
|
||||
(local $z3_1 i64)
|
||||
(local $z4 i64)
|
||||
(local $_3 i32)
|
||||
(local $_4 i64)
|
||||
(local $_5 i64)
|
||||
(block $label_
|
||||
(local.set $p (call $u256_to_i32_726))
|
||||
(local.set $r (i32.add (local.get $p) (i32.const 64)))
|
||||
(if (i32.lt_u (local.get $r) (local.get $p)) (then
|
||||
(unreachable)))
|
||||
(local.set $hi (i64.shl (i64.extend_i32_u (call $bswap32 (i32.wrap_i64 (i64.const 0)))) (i64.const 32)))
|
||||
(local.set $y (i64.or (local.get $hi) (i64.extend_i32_u (call $bswap32 (i32.wrap_i64 (i64.shr_u (i64.const 0) (i64.const 32)))))))
|
||||
(i64.store (local.get $r) (local.get $y))
|
||||
(i64.store (i32.add (local.get $r) (i32.const 8)) (local.get $y))
|
||||
(i64.store (i32.add (local.get $r) (i32.const 16)) (local.get $y))
|
||||
(i64.store (i32.add (local.get $r) (i32.const 24)) (call $bswap64))
|
||||
(call $mstore_730)
|
||||
(call $eth.getCallValue (i32.const 0))
|
||||
(local.set $z3 (i64.load (i32.const 8)))
|
||||
(if (i32.eqz (i64.eqz (i64.or (i64.or (i64.const 0) (i64.const 0)) (i64.or (local.get $z3) (i64.load (i32.const 0)))))) (then
|
||||
(call $eth.revert (call $to_internal_i32ptr) (call $u256_to_i32_344))))
|
||||
(local.set $_1 (datasize \"C_3_deployed\"))
|
||||
(call $eth.codeCopy (call $to_internal_i32ptr_348) (call $u256_to_i32 (dataoffset \"C_3_deployed\")) (call $u256_to_i32 (local.get $_1)))
|
||||
(call $eth.finish (call $to_internal_i32ptr_348) (call $u256_to_i32 (local.get $_1)))
|
||||
(local.set $_1 (i64.or (local.get $z3) (i64.load (i32.const 0))))
|
||||
(local.set $_2 (i64.const 0))
|
||||
(if (i32.eqz (i64.eqz (i64.or (i64.or (local.get $_2) (local.get $_2)) (local.get $_1)))) (then
|
||||
(local.set $x4 (i64.const 224))
|
||||
(local.set $y1 (local.get $_2))
|
||||
(local.set $y2 (local.get $_2))
|
||||
(local.set $y3 (local.get $_2))
|
||||
(local.set $y4 (i64.const 1313373041))
|
||||
(local.set $z1 (local.get $_2))
|
||||
(local.set $z2 (local.get $_2))
|
||||
(local.set $z3_1 (local.get $_2))
|
||||
(local.set $z4 (local.get $_2))
|
||||
(local.set $_3 (i64.eqz (local.get $_2)))
|
||||
(if (i32.and (local.get $_3) (local.get $_3)) (then
|
||||
(if (local.get $_3) (then
|
||||
(if (i64.lt_u (local.get $x4) (i64.const 256)) (then
|
||||
(if (i64.ge_u (local.get $x4) (i64.const 128)) (then
|
||||
(local.set $y1 (local.get $_2))
|
||||
(local.set $y2 (local.get $y4))
|
||||
(local.set $y3 (local.get $_2))
|
||||
(local.set $y4 (local.get $_2))
|
||||
(local.set $x4 (i64.sub (local.get $x4) (i64.const 128)))
|
||||
))
|
||||
(if (i64.ge_u (local.get $x4) (i64.const 64)) (then
|
||||
(local.set $y1 (local.get $y2))
|
||||
(local.set $y2 (local.get $y3))
|
||||
(local.set $y3 (local.get $y4))
|
||||
(local.set $y4 (local.get $_2))
|
||||
(local.set $x4 (i64.sub (local.get $x4) (i64.const 64)))
|
||||
))
|
||||
(local.set $_4 (i64.sub (i64.const 64) (local.get $x4)))
|
||||
(local.set $z4 (i64.shl (local.get $y4) (local.get $x4)))
|
||||
(local.set $z3_1 (i64.or (i64.shl (local.get $y3) (local.get $x4)) (i64.shr_u (local.get $y4) (local.get $_4))))
|
||||
(local.set $z2 (i64.or (i64.shl (local.get $y2) (local.get $x4)) (i64.shr_u (local.get $y3) (local.get $_4))))
|
||||
(local.set $z1 (i64.or (i64.shl (local.get $y1) (local.get $x4)) (i64.shr_u (local.get $y2) (local.get $_4))))
|
||||
))
|
||||
))
|
||||
))
|
||||
(call $mstore_731 (local.get $z1) (local.get $z2) (local.get $z3_1) (local.get $z4))
|
||||
(call $mstore)
|
||||
(call $revert)))
|
||||
(local.set $_5 (datasize \"C_3_deployed\"))
|
||||
(call $codecopy (dataoffset \"C_3_deployed\") (local.get $_5))
|
||||
(call $return (local.get $_5))
|
||||
)
|
||||
)
|
||||
|
||||
(func $u256_to_i32_344
|
||||
(func $u256_to_i32_1381
|
||||
(param $x4 i64)
|
||||
(result i32)
|
||||
(local $v i32)
|
||||
(block $label__1
|
||||
(if (i64.ne (i64.const 0) (i64.or (i64.or (i64.const 0) (i64.const 0)) (i64.const 0))) (then
|
||||
(unreachable)))
|
||||
(if (i64.ne (i64.const 0) (i64.shr_u (local.get $x4) (i64.const 32))) (then
|
||||
(unreachable)))
|
||||
(local.set $v (i32.wrap_i64 (local.get $x4)))
|
||||
|
||||
)
|
||||
(local.get $v)
|
||||
)
|
||||
|
||||
(func $u256_to_i32
|
||||
(result i32)
|
||||
(local $v i32)
|
||||
(block $label__2
|
||||
(if (i64.ne (i64.const 0) (i64.or (i64.or (i64.const 0) (i64.const 0)) (i64.const 0))) (then
|
||||
(unreachable)))
|
||||
(if (i64.ne (i64.const 0) (i64.shr_u (i64.const 128) (i64.const 32))) (then
|
||||
(unreachable)))
|
||||
(local.set $v (i32.wrap_i64 (i64.const 128)))
|
||||
|
||||
)
|
||||
(local.get $v)
|
||||
)
|
||||
|
||||
(func $u256_to_i32_1385
|
||||
(result i32)
|
||||
(local $v i32)
|
||||
(local $_1 i64)
|
||||
(block $label__1
|
||||
(block $label__3
|
||||
(local.set $_1 (i64.const 0))
|
||||
(if (i64.ne (local.get $_1) (i64.or (i64.or (local.get $_1) (local.get $_1)) (local.get $_1))) (then
|
||||
(unreachable)))
|
||||
@ -53,72 +121,11 @@
|
||||
(local.get $v)
|
||||
)
|
||||
|
||||
(func $u256_to_i32
|
||||
(param $x4 i64)
|
||||
(result i32)
|
||||
(local $v i32)
|
||||
(block $label__2
|
||||
(if (i64.ne (i64.const 0) (i64.or (i64.or (i64.const 0) (i64.const 0)) (i64.const 0))) (then
|
||||
(unreachable)))
|
||||
(if (i64.ne (i64.const 0) (i64.shr_u (local.get $x4) (i64.const 32))) (then
|
||||
(unreachable)))
|
||||
(local.set $v (i32.wrap_i64 (local.get $x4)))
|
||||
|
||||
)
|
||||
(local.get $v)
|
||||
)
|
||||
|
||||
(func $u256_to_i32_726
|
||||
(result i32)
|
||||
(local $v i32)
|
||||
(block $label__3
|
||||
(if (i64.ne (i64.const 0) (i64.or (i64.or (i64.const 0) (i64.const 0)) (i64.const 0))) (then
|
||||
(unreachable)))
|
||||
(if (i64.ne (i64.const 0) (i64.shr_u (i64.const 64) (i64.const 32))) (then
|
||||
(unreachable)))
|
||||
(local.set $v (i32.wrap_i64 (i64.const 64)))
|
||||
|
||||
)
|
||||
(local.get $v)
|
||||
)
|
||||
|
||||
(func $to_internal_i32ptr
|
||||
(result i32)
|
||||
(local $r i32)
|
||||
(local $p i32)
|
||||
(block $label__4
|
||||
(local.set $p (call $u256_to_i32_344))
|
||||
(local.set $r (i32.add (local.get $p) (i32.const 64)))
|
||||
(if (i32.lt_u (local.get $r) (local.get $p)) (then
|
||||
(unreachable)))
|
||||
|
||||
)
|
||||
(local.get $r)
|
||||
)
|
||||
|
||||
(func $to_internal_i32ptr_348
|
||||
(result i32)
|
||||
(local $r i32)
|
||||
(local $v i32)
|
||||
(block $label__5
|
||||
(if (i64.ne (i64.const 0) (i64.or (i64.or (i64.const 0) (i64.const 0)) (i64.const 0))) (then
|
||||
(unreachable)))
|
||||
(if (i64.ne (i64.const 0) (i64.shr_u (i64.const 128) (i64.const 32))) (then
|
||||
(unreachable)))
|
||||
(local.set $v (i32.wrap_i64 (i64.const 128)))
|
||||
(local.set $r (i32.add (local.get $v) (i32.const 64)))
|
||||
(if (i32.lt_u (local.get $r) (local.get $v)) (then
|
||||
(unreachable)))
|
||||
|
||||
)
|
||||
(local.get $r)
|
||||
)
|
||||
|
||||
(func $bswap16
|
||||
(param $x i32)
|
||||
(result i32)
|
||||
(local $y i32)
|
||||
(block $label__6
|
||||
(block $label__4
|
||||
(local.set $y (i32.or (i32.and (i32.shl (local.get $x) (i32.const 8)) (i32.const 65280)) (i32.and (i32.shr_u (local.get $x) (i32.const 8)) (i32.const 255))))
|
||||
|
||||
)
|
||||
@ -130,7 +137,7 @@
|
||||
(result i32)
|
||||
(local $y i32)
|
||||
(local $hi i32)
|
||||
(block $label__7
|
||||
(block $label__5
|
||||
(local.set $hi (i32.shl (call $bswap16 (local.get $x)) (i32.const 16)))
|
||||
(local.set $y (i32.or (local.get $hi) (call $bswap16 (i32.shr_u (local.get $x) (i32.const 16)))))
|
||||
|
||||
@ -139,16 +146,139 @@
|
||||
)
|
||||
|
||||
(func $bswap64
|
||||
(param $x i64)
|
||||
(result i64)
|
||||
(local $y i64)
|
||||
(local $hi i64)
|
||||
(block $label__8
|
||||
(local.set $hi (i64.shl (i64.extend_i32_u (call $bswap32 (i32.wrap_i64 (i64.const 128)))) (i64.const 32)))
|
||||
(local.set $y (i64.or (local.get $hi) (i64.extend_i32_u (call $bswap32 (i32.wrap_i64 (i64.shr_u (i64.const 128) (i64.const 32)))))))
|
||||
(block $label__6
|
||||
(local.set $hi (i64.shl (i64.extend_i32_u (call $bswap32 (i32.wrap_i64 (local.get $x)))) (i64.const 32)))
|
||||
(local.set $y (i64.or (local.get $hi) (i64.extend_i32_u (call $bswap32 (i32.wrap_i64 (i64.shr_u (local.get $x) (i64.const 32)))))))
|
||||
|
||||
)
|
||||
(local.get $y)
|
||||
)
|
||||
|
||||
(func $codecopy
|
||||
(param $y4 i64)
|
||||
(param $z4 i64)
|
||||
(local $_1 i32)
|
||||
(local $_2 i32)
|
||||
(local $p i32)
|
||||
(local $r i32)
|
||||
(block $label__7
|
||||
(local.set $_1 (call $u256_to_i32_1381 (local.get $z4)))
|
||||
(local.set $_2 (call $u256_to_i32_1381 (local.get $y4)))
|
||||
(local.set $p (call $u256_to_i32))
|
||||
(local.set $r (i32.add (local.get $p) (i32.const 64)))
|
||||
(if (i32.lt_u (local.get $r) (local.get $p)) (then
|
||||
(unreachable)))
|
||||
(call $eth.codeCopy (local.get $r) (local.get $_2) (local.get $_1))
|
||||
)
|
||||
)
|
||||
|
||||
(func $mstore_730
|
||||
(local $_1 i64)
|
||||
(local $v i32)
|
||||
(local $r i32)
|
||||
(local $hi i64)
|
||||
(local $y i64)
|
||||
(local $hi_1 i64)
|
||||
(block $label__8
|
||||
(local.set $_1 (i64.const 0))
|
||||
(if (i64.ne (local.get $_1) (i64.or (i64.or (local.get $_1) (local.get $_1)) (local.get $_1))) (then
|
||||
(unreachable)))
|
||||
(if (i64.ne (local.get $_1) (i64.shr_u (i64.const 64) (i64.const 32))) (then
|
||||
(unreachable)))
|
||||
(local.set $v (i32.wrap_i64 (i64.const 64)))
|
||||
(local.set $r (i32.add (local.get $v) (i32.const 64)))
|
||||
(if (i32.lt_u (local.get $r) (local.get $v)) (then
|
||||
(unreachable)))
|
||||
(local.set $hi (i64.shl (i64.extend_i32_u (call $bswap32 (i32.wrap_i64 (local.get $_1)))) (i64.const 32)))
|
||||
(local.set $y (i64.or (local.get $hi) (i64.extend_i32_u (call $bswap32 (i32.wrap_i64 (i64.shr_u (local.get $_1) (i64.const 32)))))))
|
||||
(i64.store (local.get $r) (local.get $y))
|
||||
(i64.store (i32.add (local.get $r) (i32.const 8)) (local.get $y))
|
||||
(i64.store (i32.add (local.get $r) (i32.const 16)) (local.get $y))
|
||||
(local.set $hi_1 (i64.shl (i64.extend_i32_u (call $bswap32 (i32.wrap_i64 (i64.const 128)))) (i64.const 32)))
|
||||
(i64.store (i32.add (local.get $r) (i32.const 24)) (i64.or (local.get $hi_1) (i64.extend_i32_u (call $bswap32 (i32.wrap_i64 (i64.shr_u (i64.const 128) (i64.const 32)))))))
|
||||
)
|
||||
)
|
||||
|
||||
(func $mstore_731
|
||||
(param $y1 i64)
|
||||
(param $y2 i64)
|
||||
(param $y3 i64)
|
||||
(param $y4 i64)
|
||||
(local $p i32)
|
||||
(local $r i32)
|
||||
(block $label__9
|
||||
(local.set $p (call $u256_to_i32_1385))
|
||||
(local.set $r (i32.add (local.get $p) (i32.const 64)))
|
||||
(if (i32.lt_u (local.get $r) (local.get $p)) (then
|
||||
(unreachable)))
|
||||
(i64.store (local.get $r) (call $bswap64 (local.get $y1)))
|
||||
(i64.store (i32.add (local.get $r) (i32.const 8)) (call $bswap64 (local.get $y2)))
|
||||
(i64.store (i32.add (local.get $r) (i32.const 16)) (call $bswap64 (local.get $y3)))
|
||||
(i64.store (i32.add (local.get $r) (i32.const 24)) (call $bswap64 (local.get $y4)))
|
||||
)
|
||||
)
|
||||
|
||||
(func $mstore
|
||||
(local $_1 i64)
|
||||
(local $v i32)
|
||||
(local $r i32)
|
||||
(local $hi i64)
|
||||
(local $y i64)
|
||||
(local $hi_1 i64)
|
||||
(block $label__10
|
||||
(local.set $_1 (i64.const 0))
|
||||
(if (i64.ne (local.get $_1) (i64.or (i64.or (local.get $_1) (local.get $_1)) (local.get $_1))) (then
|
||||
(unreachable)))
|
||||
(if (i64.ne (local.get $_1) (i64.shr_u (i64.const 4) (i64.const 32))) (then
|
||||
(unreachable)))
|
||||
(local.set $v (i32.wrap_i64 (i64.const 4)))
|
||||
(local.set $r (i32.add (local.get $v) (i32.const 64)))
|
||||
(if (i32.lt_u (local.get $r) (local.get $v)) (then
|
||||
(unreachable)))
|
||||
(local.set $hi (i64.shl (i64.extend_i32_u (call $bswap32 (i32.wrap_i64 (local.get $_1)))) (i64.const 32)))
|
||||
(local.set $y (i64.or (local.get $hi) (i64.extend_i32_u (call $bswap32 (i32.wrap_i64 (i64.shr_u (local.get $_1) (i64.const 32)))))))
|
||||
(i64.store (local.get $r) (local.get $y))
|
||||
(i64.store (i32.add (local.get $r) (i32.const 8)) (local.get $y))
|
||||
(i64.store (i32.add (local.get $r) (i32.const 16)) (local.get $y))
|
||||
(local.set $hi_1 (i64.shl (i64.extend_i32_u (call $bswap32 (i32.wrap_i64 (i64.const 2)))) (i64.const 32)))
|
||||
(i64.store (i32.add (local.get $r) (i32.const 24)) (i64.or (local.get $hi_1) (i64.extend_i32_u (call $bswap32 (i32.wrap_i64 (i64.shr_u (i64.const 2) (i64.const 32)))))))
|
||||
)
|
||||
)
|
||||
|
||||
(func $return
|
||||
(param $y4 i64)
|
||||
(local $_1 i32)
|
||||
(local $p i32)
|
||||
(local $r i32)
|
||||
(block $label__11
|
||||
(local.set $_1 (call $u256_to_i32_1381 (local.get $y4)))
|
||||
(local.set $p (call $u256_to_i32))
|
||||
(local.set $r (i32.add (local.get $p) (i32.const 64)))
|
||||
(if (i32.lt_u (local.get $r) (local.get $p)) (then
|
||||
(unreachable)))
|
||||
(call $eth.finish (local.get $r) (local.get $_1))
|
||||
)
|
||||
)
|
||||
|
||||
(func $revert
|
||||
(local $p i32)
|
||||
(local $r i32)
|
||||
(block $label__12
|
||||
(if (i64.ne (i64.const 0) (i64.or (i64.or (i64.const 0) (i64.const 0)) (i64.const 0))) (then
|
||||
(unreachable)))
|
||||
(if (i64.ne (i64.const 0) (i64.shr_u (i64.const 36) (i64.const 32))) (then
|
||||
(unreachable)))
|
||||
(local.set $p (call $u256_to_i32_1385))
|
||||
(local.set $r (i32.add (local.get $p) (i32.const 64)))
|
||||
(if (i32.lt_u (local.get $r) (local.get $p)) (then
|
||||
(unreachable)))
|
||||
(call $eth.revert (local.get $r) (i32.wrap_i64 (i64.const 36)))
|
||||
)
|
||||
)
|
||||
|
||||
)
|
||||
"}}}},"sources":{"A":{"id":0}}}
|
||||
|
@ -1 +1 @@
|
||||
{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"functionDebugData":{}},"deployedBytecode":{"functionDebugData":{"@f_19":{"entryPoint":96,"id":19,"parameterSlots":1,"returnSlots":1},"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":171,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":283,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":329,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":350,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":423,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":438,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":465,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":492,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":502,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":546,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":632,"id":null,"parameterSlots":1,"returnSlots":1},"finalize_allocation":{"entryPoint":642,"id":null,"parameterSlots":2,"returnSlots":0},"panic_error_0x11":{"entryPoint":691,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":738,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":785,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":832,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":837,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":842,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":847,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":852,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_t_uint256":{"entryPoint":869,"id":null,"parameterSlots":1,"returnSlots":0}}}}}}},"sources":{"a.sol":{"id":0}}}
|
||||
{"contracts":{"a.sol":{"A":{"evm":{"bytecode":{"functionDebugData":{"panic_error_0x02":{"entryPoint":24,"id":null,"parameterSlots":0,"returnSlots":0}}},"deployedBytecode":{"functionDebugData":{"@f_19":{"entryPoint":98,"id":19,"parameterSlots":1,"returnSlots":1},"abi_decode_available_length_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":173,"id":null,"parameterSlots":3,"returnSlots":1},"abi_decode_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":285,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_t_uint256":{"entryPoint":331,"id":null,"parameterSlots":2,"returnSlots":1},"abi_decode_tuple_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":352,"id":null,"parameterSlots":2,"returnSlots":1},"abi_encode_t_uint256_to_t_uint256_fromStack":{"entryPoint":425,"id":null,"parameterSlots":2,"returnSlots":0},"abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed":{"entryPoint":440,"id":null,"parameterSlots":2,"returnSlots":1},"allocate_memory":{"entryPoint":467,"id":null,"parameterSlots":1,"returnSlots":1},"allocate_unbounded":{"entryPoint":494,"id":null,"parameterSlots":0,"returnSlots":1},"array_allocation_size_t_array$_t_uint256_$dyn_memory_ptr":{"entryPoint":504,"id":null,"parameterSlots":1,"returnSlots":1},"checked_add_t_uint256":{"entryPoint":548,"id":null,"parameterSlots":2,"returnSlots":1},"cleanup_t_uint256":{"entryPoint":634,"id":null,"parameterSlots":1,"returnSlots":1},"finalize_allocation":{"entryPoint":644,"id":null,"parameterSlots":2,"returnSlots":0},"panic_error_0x02":{"entryPoint":693,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x11":{"entryPoint":740,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x32":{"entryPoint":787,"id":null,"parameterSlots":0,"returnSlots":0},"panic_error_0x41":{"entryPoint":834,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_1b9f4a0a5773e33b91aa01db23bf8c55fce1411167c872835e7fa00a4f17d46d":{"entryPoint":881,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_81385d8c0b31fffe14be1da910c8bd3a80be4cfa248e04f42ec0faea3132a8ef":{"entryPoint":886,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_c1322bf8034eace5e0b5c7295db60986aa89aae5e0ea0873e4689e076861a5db":{"entryPoint":891,"id":null,"parameterSlots":0,"returnSlots":0},"revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b":{"entryPoint":896,"id":null,"parameterSlots":0,"returnSlots":0},"round_up_to_mul_of_32":{"entryPoint":901,"id":null,"parameterSlots":1,"returnSlots":1},"validator_revert_t_uint256":{"entryPoint":918,"id":null,"parameterSlots":1,"returnSlots":0}}}}}}},"sources":{"a.sol":{"id":0}}}
|
||||
|
File diff suppressed because one or more lines are too long
@ -8,9 +8,8 @@
|
||||
object \"C_7\" {
|
||||
code {
|
||||
mstore(64, 128)
|
||||
if callvalue()
|
||||
{
|
||||
revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb()
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
constructor_C_7()
|
||||
let _1 := allocate_unbounded()
|
||||
@ -20,8 +19,12 @@ object \"C_7\" {
|
||||
{ memPtr := mload(64) }
|
||||
function constructor_C_7()
|
||||
{ }
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb()
|
||||
{ revert(0, 0) }
|
||||
function panic_error_0x02()
|
||||
{
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
}
|
||||
object \"C_7_deployed\" {
|
||||
code {
|
||||
@ -31,9 +34,8 @@ object \"C_7\" {
|
||||
let selector := shift_right_224_unsigned(calldataload(0))
|
||||
switch selector
|
||||
case 0x26121ff0 {
|
||||
if callvalue()
|
||||
{
|
||||
revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb()
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
abi_decode_tuple_(4, calldatasize())
|
||||
fun_f_6()
|
||||
@ -58,10 +60,14 @@ object \"C_7\" {
|
||||
{ memPtr := mload(64) }
|
||||
function fun_f_6()
|
||||
{ }
|
||||
function panic_error_0x02()
|
||||
{
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74()
|
||||
{ revert(0, 0) }
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb()
|
||||
{ revert(0, 0) }
|
||||
function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()
|
||||
{ revert(0, 0) }
|
||||
function shift_right_224_unsigned(value) -> newValue
|
||||
|
@ -9,7 +9,9 @@
|
||||
object \"C_7\" {
|
||||
code {
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
|
||||
constructor_C_7()
|
||||
|
||||
@ -26,8 +28,10 @@ object \"C_7\" {
|
||||
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
revert(0, 0)
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
}
|
||||
@ -44,7 +48,9 @@ object \"C_7\" {
|
||||
{
|
||||
// f()
|
||||
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
abi_decode_tuple_(4, calldatasize())
|
||||
fun_f_6()
|
||||
let memPos := allocate_unbounded()
|
||||
@ -75,11 +81,13 @@ object \"C_7\" {
|
||||
|
||||
}
|
||||
|
||||
function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() {
|
||||
revert(0, 0)
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() {
|
||||
revert(0, 0)
|
||||
}
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
@ -9,7 +9,9 @@
|
||||
object \"C_3\" {
|
||||
code {
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
|
||||
constructor_C_3()
|
||||
|
||||
@ -26,8 +28,10 @@ object \"C_3\" {
|
||||
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
revert(0, 0)
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
}
|
||||
@ -77,7 +81,9 @@ object \"C_3\" {
|
||||
object \"D_16\" {
|
||||
code {
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
|
||||
constructor_D_16()
|
||||
|
||||
@ -94,8 +100,10 @@ object \"D_16\" {
|
||||
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
revert(0, 0)
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
}
|
||||
@ -112,7 +120,9 @@ object \"D_16\" {
|
||||
{
|
||||
// f()
|
||||
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
abi_decode_tuple_(4, calldatasize())
|
||||
fun_f_15()
|
||||
let memPos := allocate_unbounded()
|
||||
@ -155,6 +165,12 @@ object \"D_16\" {
|
||||
|
||||
}
|
||||
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
function panic_error_0x41() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x41)
|
||||
@ -165,10 +181,6 @@ object \"D_16\" {
|
||||
revert(0, 0)
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
revert(0, 0)
|
||||
}
|
||||
|
||||
function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {
|
||||
revert(0, 0)
|
||||
}
|
||||
@ -197,7 +209,9 @@ object \"D_16\" {
|
||||
object \"C_3\" {
|
||||
code {
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
|
||||
constructor_C_3()
|
||||
|
||||
@ -214,8 +228,10 @@ object \"D_16\" {
|
||||
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
revert(0, 0)
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -10,7 +10,9 @@ IR:
|
||||
object "test_11" {
|
||||
code {
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
|
||||
constructor_test_11()
|
||||
|
||||
@ -27,8 +29,10 @@ object "test_11" {
|
||||
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
revert(0, 0)
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
}
|
||||
@ -45,7 +49,9 @@ object "test_11" {
|
||||
{
|
||||
// f()
|
||||
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
abi_decode_tuple_(4, calldatasize())
|
||||
let ret_0 := fun_f_10()
|
||||
let memPos := allocate_unbounded()
|
||||
@ -92,11 +98,13 @@ object "test_11" {
|
||||
|
||||
}
|
||||
|
||||
function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() {
|
||||
revert(0, 0)
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() {
|
||||
revert(0, 0)
|
||||
}
|
||||
|
||||
|
@ -1,7 +1,7 @@
|
||||
|
||||
======= viair_subobjects/input.sol:C =======
|
||||
Binary:
|
||||
60806040523415600f5760006000fd5b600a80601e608039806080f350fe608060405260006000fd
|
||||
60806040523415601f57634e487b7160e01b600052600260045260246000fd5b600a80602e608039806080f350fe608060405260006000fd
|
||||
Binary of the runtime part:
|
||||
608060405260006000fd
|
||||
Optimized IR:
|
||||
@ -16,7 +16,12 @@ object "C_3" {
|
||||
code {
|
||||
{
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(0, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
let _1 := datasize("C_3_deployed")
|
||||
codecopy(128, dataoffset("C_3_deployed"), _1)
|
||||
return(128, _1)
|
||||
@ -35,9 +40,9 @@ object "C_3" {
|
||||
|
||||
======= viair_subobjects/input.sol:D =======
|
||||
Binary:
|
||||
608060405234156100105760006000fd5b60ba80610020608039806080f350fe6080604052600436101515608b576000803560e01c6326121ff0141560895734156027578081fd5b80600319360112156036578081fd5b6028806080016080811067ffffffffffffffff82111715606457634e487b7160e01b83526041600452602483fd5b508061009260803980608083f015156082576040513d83823e3d81fd505b5080604051f35b505b60006000fdfe60806040523415600f5760006000fd5b600a80601e608039806080f350fe608060405260006000fd
|
||||
6080604052341561002057634e487b7160e01b600052600260045260246000fd5b60e080610030608039806080f350fe60806040526004361015156100a1576000803560e01c6326121ff0141561009f57341561003a57634e487b7160e01b81526002600452602481fd5b806003193601121561004a578081fd5b6038806080016080811067ffffffffffffffff8211171561007957634e487b7160e01b83526041600452602483fd5b50806100a860803980608083f01515610098576040513d83823e3d81fd505b5080604051f35b505b60006000fdfe60806040523415601f57634e487b7160e01b600052600260045260246000fd5b600a80602e608039806080f350fe608060405260006000fd
|
||||
Binary of the runtime part:
|
||||
6080604052600436101515608b576000803560e01c6326121ff0141560895734156027578081fd5b80600319360112156036578081fd5b6028806080016080811067ffffffffffffffff82111715606457634e487b7160e01b83526041600452602483fd5b508061009260803980608083f015156082576040513d83823e3d81fd505b5080604051f35b505b60006000fdfe60806040523415600f5760006000fd5b600a80601e608039806080f350fe608060405260006000fd
|
||||
60806040526004361015156100a1576000803560e01c6326121ff0141561009f57341561003a57634e487b7160e01b81526002600452602481fd5b806003193601121561004a578081fd5b6038806080016080811067ffffffffffffffff8211171561007957634e487b7160e01b83526041600452602483fd5b50806100a860803980608083f01515610098576040513d83823e3d81fd505b5080604051f35b505b60006000fdfe60806040523415601f57634e487b7160e01b600052600260045260246000fd5b600a80602e608039806080f350fe608060405260006000fd
|
||||
Optimized IR:
|
||||
/*******************************************************
|
||||
* WARNING *
|
||||
@ -50,7 +55,12 @@ object "D_16" {
|
||||
code {
|
||||
{
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(0, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
let _1 := datasize("D_16_deployed")
|
||||
codecopy(128, dataoffset("D_16_deployed"), _1)
|
||||
return(128, _1)
|
||||
@ -65,7 +75,12 @@ object "D_16" {
|
||||
let _1 := 0
|
||||
if eq(0x26121ff0, shr(224, calldataload(_1)))
|
||||
{
|
||||
if callvalue() { revert(_1, _1) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(_1, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(_1, 0x24)
|
||||
}
|
||||
if slt(add(calldatasize(), not(3)), _1) { revert(_1, _1) }
|
||||
let _2 := datasize("C_3")
|
||||
let _3 := add(128, _2)
|
||||
@ -92,7 +107,12 @@ object "D_16" {
|
||||
code {
|
||||
{
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert(0, 0) }
|
||||
if callvalue()
|
||||
{
|
||||
mstore(0, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
let _1 := datasize("C_3_deployed")
|
||||
codecopy(128, dataoffset("C_3_deployed"), _1)
|
||||
return(128, _1)
|
||||
|
@ -10,18 +10,19 @@ object "C_7" {
|
||||
code {
|
||||
{
|
||||
mstore(64, 128)
|
||||
if callvalue()
|
||||
{
|
||||
revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb()
|
||||
}
|
||||
if callvalue() { panic_error_0x02() }
|
||||
let _1 := allocate_unbounded()
|
||||
codecopy(_1, dataoffset("C_7_deployed"), datasize("C_7_deployed"))
|
||||
return(_1, datasize("C_7_deployed"))
|
||||
}
|
||||
function allocate_unbounded() -> memPtr
|
||||
{ memPtr := mload(64) }
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb()
|
||||
{ revert(0, 0) }
|
||||
function panic_error_0x02()
|
||||
{
|
||||
mstore(0, shl(224, 0x4e487b71))
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
}
|
||||
object "C_7_deployed" {
|
||||
code {
|
||||
|
@ -9,7 +9,9 @@
|
||||
object \"C_11\" {
|
||||
code {
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
|
||||
constructor_C_11()
|
||||
|
||||
@ -26,8 +28,10 @@ object \"C_11\" {
|
||||
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
revert(0, 0)
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
}
|
||||
@ -44,7 +48,9 @@ object \"C_11\" {
|
||||
{
|
||||
// f()
|
||||
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
abi_decode_tuple_(4, calldatasize())
|
||||
let ret_0 := fun_f_10()
|
||||
let memPos := allocate_unbounded()
|
||||
@ -154,6 +160,12 @@ object \"C_11\" {
|
||||
|
||||
}
|
||||
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
function panic_error_0x41() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x41)
|
||||
@ -164,10 +176,6 @@ object \"C_11\" {
|
||||
revert(0, 0)
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
revert(0, 0)
|
||||
}
|
||||
|
||||
function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {
|
||||
revert(0, 0)
|
||||
}
|
||||
|
@ -9,7 +9,9 @@
|
||||
object \"C_11\" {
|
||||
code {
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
|
||||
constructor_C_11()
|
||||
|
||||
@ -26,8 +28,10 @@ object \"C_11\" {
|
||||
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
revert(0, 0)
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
}
|
||||
@ -44,7 +48,9 @@ object \"C_11\" {
|
||||
{
|
||||
// f()
|
||||
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
abi_decode_tuple_(4, calldatasize())
|
||||
let ret_0 := fun_f_10()
|
||||
let memPos := allocate_unbounded()
|
||||
@ -94,11 +100,13 @@ object \"C_11\" {
|
||||
|
||||
}
|
||||
|
||||
function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() {
|
||||
revert(0, 0)
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() {
|
||||
revert(0, 0)
|
||||
}
|
||||
|
||||
|
@ -9,7 +9,9 @@
|
||||
object \"C_11\" {
|
||||
code {
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
|
||||
constructor_C_11()
|
||||
|
||||
@ -26,8 +28,10 @@ object \"C_11\" {
|
||||
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
revert(0, 0)
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
}
|
||||
@ -44,7 +48,9 @@ object \"C_11\" {
|
||||
{
|
||||
// f()
|
||||
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
abi_decode_tuple_(4, calldatasize())
|
||||
let ret_0 := fun_f_10()
|
||||
let memPos := allocate_unbounded()
|
||||
@ -99,11 +105,13 @@ object \"C_11\" {
|
||||
|
||||
}
|
||||
|
||||
function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() {
|
||||
revert(0, 0)
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() {
|
||||
revert(0, 0)
|
||||
}
|
||||
|
||||
|
@ -9,7 +9,9 @@
|
||||
object \"C_11\" {
|
||||
code {
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
|
||||
constructor_C_11()
|
||||
|
||||
@ -26,8 +28,10 @@ object \"C_11\" {
|
||||
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
revert(0, 0)
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
}
|
||||
@ -44,7 +48,9 @@ object \"C_11\" {
|
||||
{
|
||||
// f()
|
||||
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
abi_decode_tuple_(4, calldatasize())
|
||||
let ret_0 := fun_f_10()
|
||||
let memPos := allocate_unbounded()
|
||||
@ -154,6 +160,12 @@ object \"C_11\" {
|
||||
|
||||
}
|
||||
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
function panic_error_0x41() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x41)
|
||||
@ -164,10 +176,6 @@ object \"C_11\" {
|
||||
revert(0, 0)
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
revert(0, 0)
|
||||
}
|
||||
|
||||
function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b() {
|
||||
revert(0, 0)
|
||||
}
|
||||
|
@ -9,7 +9,9 @@
|
||||
object \"C_11\" {
|
||||
code {
|
||||
mstore(64, 128)
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
|
||||
constructor_C_11()
|
||||
|
||||
@ -26,8 +28,10 @@ object \"C_11\" {
|
||||
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
revert(0, 0)
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
}
|
||||
@ -44,7 +48,9 @@ object \"C_11\" {
|
||||
{
|
||||
// f()
|
||||
|
||||
if callvalue() { revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() }
|
||||
{
|
||||
if callvalue() { panic_error_0x02() }
|
||||
}
|
||||
abi_decode_tuple_(4, calldatasize())
|
||||
let ret_0 := fun_f_10()
|
||||
let memPos := allocate_unbounded()
|
||||
@ -99,11 +105,13 @@ object \"C_11\" {
|
||||
|
||||
}
|
||||
|
||||
function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() {
|
||||
revert(0, 0)
|
||||
function panic_error_0x02() {
|
||||
mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)
|
||||
mstore(4, 0x02)
|
||||
revert(0, 0x24)
|
||||
}
|
||||
|
||||
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb() {
|
||||
function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74() {
|
||||
revert(0, 0)
|
||||
}
|
||||
|
||||
|
@ -14,11 +14,11 @@ contract C {
|
||||
}
|
||||
// ----
|
||||
// creation:
|
||||
// codeDepositCost: 1259800
|
||||
// executionCost: 1308
|
||||
// totalCost: 1261108
|
||||
// codeDepositCost: 1269600
|
||||
// executionCost: 1329
|
||||
// totalCost: 1270929
|
||||
// external:
|
||||
// a(): 2430
|
||||
// a(): 2425
|
||||
// b(uint256): infinite
|
||||
// f1(uint256): infinite
|
||||
// f2(uint256[],string[],uint16,address): infinite
|
||||
|
@ -17,13 +17,13 @@ contract C {
|
||||
// optimize-yul: true
|
||||
// ----
|
||||
// creation:
|
||||
// codeDepositCost: 680600
|
||||
// executionCost: 715
|
||||
// totalCost: 681315
|
||||
// codeDepositCost: 685200
|
||||
// executionCost: 728
|
||||
// totalCost: 685928
|
||||
// external:
|
||||
// a(): 2285
|
||||
// b(uint256): 4652
|
||||
// f1(uint256): 307
|
||||
// a(): 2280
|
||||
// b(uint256): 4647
|
||||
// f1(uint256): 302
|
||||
// f2(uint256[],string[],uint16,address): infinite
|
||||
// f3(uint16[],string[],uint16,address): infinite
|
||||
// f4(uint32[],string[12],bytes[2][],address): infinite
|
||||
|
@ -13,8 +13,8 @@ contract C {
|
||||
}
|
||||
// ----
|
||||
// creation:
|
||||
// codeDepositCost: 387600
|
||||
// executionCost: 424
|
||||
// totalCost: 388024
|
||||
// codeDepositCost: 397400
|
||||
// executionCost: 443
|
||||
// totalCost: 397843
|
||||
// external:
|
||||
// f(): 428
|
||||
// f(): 423
|
||||
|
@ -24,11 +24,11 @@ contract Large {
|
||||
}
|
||||
// ----
|
||||
// creation:
|
||||
// codeDepositCost: 640200
|
||||
// executionCost: 676
|
||||
// totalCost: 640876
|
||||
// codeDepositCost: 654400
|
||||
// executionCost: 696
|
||||
// totalCost: 655096
|
||||
// external:
|
||||
// a(): 2475
|
||||
// a(): 2470
|
||||
// b(uint256): infinite
|
||||
// f0(uint256): infinite
|
||||
// f1(uint256): infinite
|
||||
|
@ -27,22 +27,22 @@ contract Large {
|
||||
// optimize-runs: 2
|
||||
// ----
|
||||
// creation:
|
||||
// codeDepositCost: 232800
|
||||
// executionCost: 275
|
||||
// totalCost: 233075
|
||||
// codeDepositCost: 211600
|
||||
// executionCost: 264
|
||||
// totalCost: 211864
|
||||
// external:
|
||||
// a(): 2283
|
||||
// b(uint256): 4937
|
||||
// f0(uint256): 366
|
||||
// f1(uint256): 47006
|
||||
// f2(uint256): 24972
|
||||
// f3(uint256): 25060
|
||||
// f4(uint256): 25038
|
||||
// f5(uint256): 25016
|
||||
// f6(uint256): 24928
|
||||
// f7(uint256): 24708
|
||||
// f8(uint256): 24840
|
||||
// f9(uint256): 24862
|
||||
// a(): 2278
|
||||
// b(uint256): 4932
|
||||
// f0(uint256): 361
|
||||
// f1(uint256): 47001
|
||||
// f2(uint256): 24967
|
||||
// f3(uint256): 25055
|
||||
// f4(uint256): 25033
|
||||
// f5(uint256): 25011
|
||||
// f6(uint256): 24923
|
||||
// f7(uint256): 24703
|
||||
// f8(uint256): 24835
|
||||
// f9(uint256): 24857
|
||||
// g0(uint256): 606
|
||||
// g1(uint256): 46718
|
||||
// g2(uint256): 24706
|
||||
|
@ -11,11 +11,11 @@ contract Medium {
|
||||
}
|
||||
// ----
|
||||
// creation:
|
||||
// codeDepositCost: 269600
|
||||
// executionCost: 312
|
||||
// totalCost: 269912
|
||||
// codeDepositCost: 281000
|
||||
// executionCost: 325
|
||||
// totalCost: 281325
|
||||
// external:
|
||||
// a(): 2452
|
||||
// a(): 2447
|
||||
// b(uint256): infinite
|
||||
// f1(uint256): infinite
|
||||
// f2(uint256): infinite
|
||||
|
@ -14,15 +14,15 @@ contract Medium {
|
||||
// optimize-runs: 2
|
||||
// ----
|
||||
// creation:
|
||||
// codeDepositCost: 131600
|
||||
// executionCost: 177
|
||||
// totalCost: 131777
|
||||
// codeDepositCost: 137000
|
||||
// executionCost: 190
|
||||
// totalCost: 137190
|
||||
// external:
|
||||
// a(): 2283
|
||||
// b(uint256): 4695
|
||||
// f1(uint256): 46786
|
||||
// f2(uint256): 24730
|
||||
// f3(uint256): 24774
|
||||
// a(): 2278
|
||||
// b(uint256): 4690
|
||||
// f1(uint256): 46781
|
||||
// f2(uint256): 24725
|
||||
// f3(uint256): 24769
|
||||
// g0(uint256): 364
|
||||
// g7(uint256): 24640
|
||||
// g8(uint256): 24618
|
||||
|
@ -6,11 +6,11 @@ contract Small {
|
||||
}
|
||||
// ----
|
||||
// creation:
|
||||
// codeDepositCost: 108800
|
||||
// executionCost: 153
|
||||
// totalCost: 108953
|
||||
// codeDepositCost: 119400
|
||||
// executionCost: 172
|
||||
// totalCost: 119572
|
||||
// external:
|
||||
// fallback: 129
|
||||
// a(): 2407
|
||||
// a(): 2402
|
||||
// b(uint256): infinite
|
||||
// f1(uint256): infinite
|
||||
|
@ -9,11 +9,11 @@ contract Small {
|
||||
// optimize-runs: 2
|
||||
// ----
|
||||
// creation:
|
||||
// codeDepositCost: 60800
|
||||
// executionCost: 111
|
||||
// totalCost: 60911
|
||||
// codeDepositCost: 65800
|
||||
// executionCost: 124
|
||||
// totalCost: 65924
|
||||
// external:
|
||||
// fallback: 118
|
||||
// a(): 2261
|
||||
// b(uint256): 4585
|
||||
// f1(uint256): 46720
|
||||
// a(): 2256
|
||||
// b(uint256): 4580
|
||||
// f1(uint256): 46715
|
||||
|
@ -19,11 +19,11 @@ contract C {
|
||||
// optimize-yul: false
|
||||
// ----
|
||||
// creation:
|
||||
// codeDepositCost: 110800
|
||||
// executionCost: 159
|
||||
// totalCost: 110959
|
||||
// codeDepositCost: 120600
|
||||
// executionCost: 172
|
||||
// totalCost: 120772
|
||||
// external:
|
||||
// exp_neg_one(uint256): 2259
|
||||
// exp_neg_one(uint256): 2254
|
||||
// exp_one(uint256): infinite
|
||||
// exp_two(uint256): infinite
|
||||
// exp_zero(uint256): infinite
|
||||
|
@ -19,11 +19,11 @@ contract C {
|
||||
// optimize-yul: true
|
||||
// ----
|
||||
// creation:
|
||||
// codeDepositCost: 37200
|
||||
// executionCost: 87
|
||||
// totalCost: 37287
|
||||
// codeDepositCost: 41400
|
||||
// executionCost: 100
|
||||
// totalCost: 41500
|
||||
// external:
|
||||
// exp_neg_one(uint256): 1917
|
||||
// exp_one(uint256): 1870
|
||||
// exp_two(uint256): 1848
|
||||
// exp_zero(uint256): 1892
|
||||
// exp_neg_one(uint256): 1912
|
||||
// exp_one(uint256): 1865
|
||||
// exp_two(uint256): 1843
|
||||
// exp_zero(uint256): 1887
|
||||
|
@ -15,10 +15,10 @@ contract C {
|
||||
// optimize-yul: true
|
||||
// ----
|
||||
// creation:
|
||||
// codeDepositCost: 27200
|
||||
// executionCost: 81
|
||||
// totalCost: 27281
|
||||
// codeDepositCost: 31400
|
||||
// executionCost: 88
|
||||
// totalCost: 31488
|
||||
// external:
|
||||
// readX(): 2290
|
||||
// resetX(): 5116
|
||||
// setX(uint256): 22312
|
||||
// readX(): 2285
|
||||
// resetX(): 5111
|
||||
// setX(uint256): 22307
|
||||
|
@ -25,5 +25,5 @@ contract C {
|
||||
// ----
|
||||
// f() -> 0x20, 0x8, 0x40, 0x3, 0x9, 0xa, 0xb
|
||||
// gas irOptimized: 203921
|
||||
// gas legacy: 206126
|
||||
// gas legacyOptimized: 203105
|
||||
// gas legacy: 206121
|
||||
// gas legacyOptimized: 203100
|
||||
|
@ -60,10 +60,10 @@ contract C {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// test_bytes() ->
|
||||
// gas irOptimized: 465417
|
||||
// gas legacy: 423563
|
||||
// gas legacyOptimized: 331391
|
||||
// gas irOptimized: 465306
|
||||
// gas legacy: 423378
|
||||
// gas legacyOptimized: 331206
|
||||
// test_uint256() ->
|
||||
// gas irOptimized: 661059
|
||||
// gas legacy: 591392
|
||||
// gas legacyOptimized: 456137
|
||||
// gas irOptimized: 660948
|
||||
// gas legacy: 591207
|
||||
// gas legacyOptimized: 455952
|
||||
|
@ -27,5 +27,5 @@ contract C {
|
||||
// library: L
|
||||
// f() -> 8, 7, 1, 2, 7, 12
|
||||
// gas irOptimized: 168199
|
||||
// gas legacy: 169475
|
||||
// gas legacyOptimized: 167397
|
||||
// gas legacy: 169470
|
||||
// gas legacyOptimized: 167392
|
||||
|
@ -61,10 +61,10 @@ contract C {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// test_bytes() ->
|
||||
// gas irOptimized: 465417
|
||||
// gas legacy: 423563
|
||||
// gas legacyOptimized: 331391
|
||||
// gas irOptimized: 465306
|
||||
// gas legacy: 423378
|
||||
// gas legacyOptimized: 331206
|
||||
// test_uint256() ->
|
||||
// gas irOptimized: 661059
|
||||
// gas legacy: 591392
|
||||
// gas legacyOptimized: 456137
|
||||
// gas irOptimized: 660948
|
||||
// gas legacy: 591207
|
||||
// gas legacyOptimized: 455952
|
||||
|
@ -53,6 +53,6 @@ contract C {
|
||||
// f2() -> 0x20, 0xa0, 0x1, 0x60, 0x2, 0x3, "abc"
|
||||
// f3() -> 0x20, 0xa0, 0x1, 0x60, 0x2, 0x3, "abc"
|
||||
// f4() -> 0x20, 0x160, 0x1, 0x80, 0xc0, 0x2, 0x3, "abc", 0x7, 0x40, 0x2, 0x2, 0x3
|
||||
// gas irOptimized: 113683
|
||||
// gas legacy: 114728
|
||||
// gas legacyOptimized: 112606
|
||||
// gas irOptimized: 113680
|
||||
// gas legacy: 114723
|
||||
// gas legacyOptimized: 112601
|
||||
|
@ -32,6 +32,6 @@ contract C is B {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// test() -> 77
|
||||
// gas irOptimized: 132435
|
||||
// gas legacy: 155249
|
||||
// gas legacyOptimized: 111743
|
||||
// gas irOptimized: 135658
|
||||
// gas legacy: 165071
|
||||
// gas legacyOptimized: 116358
|
||||
|
@ -40,5 +40,5 @@ contract C is B {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// test() -> 5, 10
|
||||
// gas irOptimized: 91524
|
||||
// gas legacy: 99137
|
||||
// gas irOptimized: 94736
|
||||
// gas legacy: 108565
|
||||
|
@ -22,5 +22,5 @@ contract C {
|
||||
// f(uint256[][1]): 32, 32, 1, 42 -> true
|
||||
// f(uint256[][1]): 32, 32, 8, 421, 422, 423, 424, 425, 426, 427, 428 -> true
|
||||
// gas irOptimized: 224675
|
||||
// gas legacy: 141900
|
||||
// gas legacyOptimized: 121788
|
||||
// gas legacy: 141885
|
||||
// gas legacyOptimized: 121773
|
||||
|
@ -20,9 +20,9 @@ contract C {
|
||||
// ----
|
||||
// h(uint256[2][]): 0x20, 3, 123, 124, 223, 224, 323, 324 -> 32, 256, 0x20, 3, 123, 124, 223, 224, 323, 324
|
||||
// gas irOptimized: 181410
|
||||
// gas legacy: 184929
|
||||
// gas legacyOptimized: 181504
|
||||
// gas legacy: 184924
|
||||
// gas legacyOptimized: 181499
|
||||
// i(uint256[2][2]): 123, 124, 223, 224 -> 32, 128, 123, 124, 223, 224
|
||||
// gas irOptimized: 112981
|
||||
// gas legacy: 115468
|
||||
// gas legacyOptimized: 112988
|
||||
// gas legacy: 115463
|
||||
// gas legacyOptimized: 112983
|
||||
|
@ -12,5 +12,5 @@ contract C {
|
||||
// ----
|
||||
// f(bytes): 0x20, 0x80, 0x21, 0x40, 0x7, "abcdefg" -> 0x21, 0x40, 0x7, "abcdefg"
|
||||
// gas irOptimized: 136231
|
||||
// gas legacy: 137190
|
||||
// gas legacyOptimized: 136082
|
||||
// gas legacy: 137185
|
||||
// gas legacyOptimized: 136077
|
||||
|
@ -18,4 +18,4 @@ contract D {
|
||||
// ----
|
||||
// f() -> FAILURE, hex"4e487b71", 0x11
|
||||
// g(), 100 wei -> 1
|
||||
// gas legacy: 101918
|
||||
// gas legacy: 111331
|
||||
|
@ -14,9 +14,9 @@ contract Test {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// set(uint24[3][]): 0x20, 0x06, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f, 0x10, 0x11, 0x12 -> 0x06
|
||||
// gas irOptimized: 191293
|
||||
// gas legacy: 211485
|
||||
// gas legacyOptimized: 206394
|
||||
// gas irOptimized: 191290
|
||||
// gas legacy: 211480
|
||||
// gas legacyOptimized: 206389
|
||||
// data(uint256,uint256): 0x02, 0x02 -> 0x09
|
||||
// data(uint256,uint256): 0x05, 0x01 -> 0x11
|
||||
// data(uint256,uint256): 0x06, 0x00 -> FAILURE
|
||||
|
@ -43,15 +43,15 @@ contract c {
|
||||
// ----
|
||||
// storageEmpty -> 1
|
||||
// test_short() -> 1780731860627700044960722568376587075150542249149356309979516913770823710
|
||||
// gas legacy: 59838
|
||||
// gas legacyOptimized: 58606
|
||||
// gas legacy: 59833
|
||||
// gas legacyOptimized: 58601
|
||||
// storageEmpty -> 0
|
||||
// test_long() -> 67
|
||||
// gas irOptimized: 91520
|
||||
// gas legacy: 103590
|
||||
// gas legacyOptimized: 101044
|
||||
// gas irOptimized: 91517
|
||||
// gas legacy: 103585
|
||||
// gas legacyOptimized: 101039
|
||||
// storageEmpty -> 0
|
||||
// test_pop() -> 1780731860627700044960722568376592200742329637303199754547598369979433020
|
||||
// gas legacy: 61930
|
||||
// gas legacyOptimized: 59404
|
||||
// gas legacy: 61925
|
||||
// gas legacyOptimized: 59399
|
||||
// storageEmpty -> 0
|
||||
|
@ -20,5 +20,5 @@ contract c {
|
||||
// ----
|
||||
// test() -> 0
|
||||
// gas irOptimized: 171767
|
||||
// gas legacy: 189715
|
||||
// gas legacyOptimized: 184472
|
||||
// gas legacy: 189710
|
||||
// gas legacyOptimized: 184467
|
||||
|
@ -16,6 +16,6 @@ contract c {
|
||||
// getLength() -> 0
|
||||
// set(): 1, 2 -> true
|
||||
// gas irOptimized: 110570
|
||||
// gas legacy: 110726
|
||||
// gas legacyOptimized: 110567
|
||||
// gas legacy: 110721
|
||||
// gas legacyOptimized: 110562
|
||||
// getLength() -> 68
|
||||
|
@ -23,6 +23,6 @@ contract c {
|
||||
// ----
|
||||
// store(uint256[9],uint8[3][]): 21, 22, 23, 24, 25, 26, 27, 28, 29, 0x140, 4, 1, 2, 3, 11, 12, 13, 21, 22, 23, 31, 32, 33 -> 32
|
||||
// gas irOptimized: 651816
|
||||
// gas legacy: 694515
|
||||
// gas legacyOptimized: 694013
|
||||
// gas legacy: 694510
|
||||
// gas legacyOptimized: 694008
|
||||
// retrieve() -> 9, 28, 9, 28, 4, 3, 32
|
||||
|
@ -24,5 +24,5 @@ contract C {
|
||||
// ----
|
||||
// f() -> true
|
||||
// gas irOptimized: 92958
|
||||
// gas legacy: 93035
|
||||
// gas legacyOptimized: 92257
|
||||
// gas legacy: 93030
|
||||
// gas legacyOptimized: 92252
|
||||
|
@ -49,5 +49,5 @@ contract C {
|
||||
// ----
|
||||
// f() -> true
|
||||
// gas irOptimized: 154441
|
||||
// gas legacy: 155961
|
||||
// gas legacyOptimized: 153588
|
||||
// gas legacy: 155956
|
||||
// gas legacyOptimized: 153583
|
||||
|
@ -16,5 +16,5 @@ contract C {
|
||||
// ----
|
||||
// f() -> 0
|
||||
// gas irOptimized: 135505
|
||||
// gas legacy: 135313
|
||||
// gas legacyOptimized: 134548
|
||||
// gas legacy: 135308
|
||||
// gas legacyOptimized: 134543
|
||||
|
@ -42,11 +42,11 @@ contract C {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// f() -> 0
|
||||
// gas irOptimized: 92966
|
||||
// gas legacy: 93006
|
||||
// gas legacyOptimized: 92261
|
||||
// gas irOptimized: 92963
|
||||
// gas legacy: 93001
|
||||
// gas legacyOptimized: 92256
|
||||
// g() -> 0
|
||||
// h() -> 0
|
||||
// gas irOptimized: 93012
|
||||
// gas legacy: 93028
|
||||
// gas legacyOptimized: 92303
|
||||
// gas irOptimized: 93009
|
||||
// gas legacy: 93023
|
||||
// gas legacyOptimized: 92298
|
||||
|
@ -22,5 +22,5 @@ contract c {
|
||||
// ----
|
||||
// test() -> 0x01000000000000000000000000000000000000000000000000, 0x02000000000000000000000000000000000000000000000000, 0x03000000000000000000000000000000000000000000000000, 0x04000000000000000000000000000000000000000000000000, 0x05000000000000000000000000000000000000000000000000
|
||||
// gas irOptimized: 214644
|
||||
// gas legacy: 221883
|
||||
// gas legacyOptimized: 220734
|
||||
// gas legacy: 221878
|
||||
// gas legacyOptimized: 220729
|
||||
|
@ -37,12 +37,12 @@ contract c {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// test() -> 0x02000202
|
||||
// gas irOptimized: 4690992
|
||||
// gas legacy: 4578341
|
||||
// gas legacyOptimized: 4548354
|
||||
// gas irOptimized: 4689872
|
||||
// gas legacy: 4578336
|
||||
// gas legacyOptimized: 4548349
|
||||
// storageEmpty -> 1
|
||||
// clear() -> 0, 0
|
||||
// gas irOptimized: 4516821
|
||||
// gas legacy: 4410769
|
||||
// gas legacyOptimized: 4382531
|
||||
// gas legacy: 4410764
|
||||
// gas legacyOptimized: 4382526
|
||||
// storageEmpty -> 1
|
||||
|
@ -16,5 +16,5 @@ contract c {
|
||||
// ----
|
||||
// test(uint256[2][]): 32, 3, 7, 8, 9, 10, 11, 12 -> 10
|
||||
// gas irOptimized: 691977
|
||||
// gas legacy: 686268
|
||||
// gas legacyOptimized: 685688
|
||||
// gas legacy: 686263
|
||||
// gas legacyOptimized: 685683
|
||||
|
@ -20,5 +20,5 @@ contract c {
|
||||
// ----
|
||||
// test() -> 5, 4
|
||||
// gas irOptimized: 226467
|
||||
// gas legacy: 233801
|
||||
// gas legacyOptimized: 232816
|
||||
// gas legacy: 233796
|
||||
// gas legacyOptimized: 232811
|
||||
|
@ -25,5 +25,5 @@ contract c {
|
||||
// ----
|
||||
// test() -> 3, 4
|
||||
// gas irOptimized: 191858
|
||||
// gas legacy: 195353
|
||||
// gas legacyOptimized: 192441
|
||||
// gas legacy: 195348
|
||||
// gas legacyOptimized: 192436
|
||||
|
@ -17,9 +17,9 @@ contract c {
|
||||
// ----
|
||||
// setData1(uint256,uint256,uint256): 10, 5, 4 ->
|
||||
// copyStorageStorage() ->
|
||||
// gas irOptimized: 111563
|
||||
// gas legacy: 109278
|
||||
// gas legacyOptimized: 109268
|
||||
// gas irOptimized: 111560
|
||||
// gas legacy: 109273
|
||||
// gas legacyOptimized: 109263
|
||||
// getData2(uint256): 5 -> 10, 4
|
||||
// setData1(uint256,uint256,uint256): 0, 0, 0 ->
|
||||
// copyStorageStorage() ->
|
||||
|
@ -21,5 +21,5 @@ contract c {
|
||||
// ----
|
||||
// test() -> 5, 4
|
||||
// gas irOptimized: 272786
|
||||
// gas legacy: 270834
|
||||
// gas legacyOptimized: 269960
|
||||
// gas legacy: 270829
|
||||
// gas legacyOptimized: 269955
|
||||
|
@ -14,6 +14,6 @@ contract c {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// test() -> 9, 4
|
||||
// gas irOptimized: 123375
|
||||
// gas legacy: 123579
|
||||
// gas legacyOptimized: 123208
|
||||
// gas irOptimized: 123397
|
||||
// gas legacy: 123574
|
||||
// gas legacyOptimized: 123203
|
||||
|
@ -14,5 +14,5 @@ contract C {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// test() -> left(0x01), left(0x02)
|
||||
// gas legacy: 90001
|
||||
// gas legacyOptimized: 89085
|
||||
// gas legacy: 89996
|
||||
// gas legacyOptimized: 89080
|
||||
|
@ -18,6 +18,6 @@ contract c {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// test() -> 8, 0
|
||||
// gas irOptimized: 236656
|
||||
// gas legacy: 234695
|
||||
// gas legacyOptimized: 234103
|
||||
// gas irOptimized: 236731
|
||||
// gas legacy: 234690
|
||||
// gas legacyOptimized: 234098
|
||||
|
@ -20,6 +20,6 @@ contract c {
|
||||
// ----
|
||||
// test() -> 4, 5
|
||||
// gas irOptimized: 240552
|
||||
// gas legacy: 238736
|
||||
// gas legacyOptimized: 237159
|
||||
// gas legacy: 238731
|
||||
// gas legacyOptimized: 237154
|
||||
// storageEmpty -> 1
|
||||
|
@ -18,5 +18,5 @@ contract C {
|
||||
// ----
|
||||
// f() -> 0x20, 2, 0x40, 0xa0, 2, 0, 1, 2, 2, 3
|
||||
// gas irOptimized: 161991
|
||||
// gas legacy: 162278
|
||||
// gas legacyOptimized: 159955
|
||||
// gas legacy: 162273
|
||||
// gas legacyOptimized: 159950
|
||||
|
@ -21,5 +21,5 @@ contract c {
|
||||
// ----
|
||||
// test() -> 0xffffffff, 0x0000000000000000000000000a00090008000700060005000400030002000100, 0x0000000000000000000000000000000000000000000000000000000000000000
|
||||
// gas irOptimized: 140618
|
||||
// gas legacy: 186406
|
||||
// gas legacyOptimized: 166126
|
||||
// gas legacy: 186401
|
||||
// gas legacyOptimized: 166121
|
||||
|
@ -23,5 +23,5 @@ contract c {
|
||||
// ----
|
||||
// test() -> 0x04000000000000000000000000000000000000000000000000, 0x0, 0x0
|
||||
// gas irOptimized: 95528
|
||||
// gas legacy: 97451
|
||||
// gas legacyOptimized: 94200
|
||||
// gas legacy: 97446
|
||||
// gas legacyOptimized: 94195
|
||||
|
@ -23,5 +23,5 @@ contract c {
|
||||
// ----
|
||||
// test() -> 0x01000000000000000000000000000000000000000000000000, 0x02000000000000000000000000000000000000000000000000, 0x03000000000000000000000000000000000000000000000000, 0x04000000000000000000000000000000000000000000000000, 0x0
|
||||
// gas irOptimized: 296092
|
||||
// gas legacy: 303653
|
||||
// gas legacyOptimized: 301999
|
||||
// gas legacy: 303648
|
||||
// gas legacyOptimized: 301994
|
||||
|
@ -23,5 +23,5 @@ contract c {
|
||||
// ----
|
||||
// test() -> 0x01000000000000000000000000000000000000000000000000, 0x02000000000000000000000000000000000000000000000000, 0x03000000000000000000000000000000000000000000000000, 0x04000000000000000000000000000000000000000000000000, 0x00
|
||||
// gas irOptimized: 274785
|
||||
// gas legacy: 276381
|
||||
// gas legacyOptimized: 275453
|
||||
// gas legacy: 276376
|
||||
// gas legacyOptimized: 275448
|
||||
|
@ -38,10 +38,10 @@ contract c {
|
||||
// compileViaYul: true
|
||||
// ----
|
||||
// test1(uint256[][]): 0x20, 2, 0x40, 0x40, 2, 23, 42 -> 2, 65
|
||||
// gas irOptimized: 182348
|
||||
// gas irOptimized: 182345
|
||||
// test2(uint256[][2]): 0x20, 0x40, 0x40, 2, 23, 42 -> 2, 65
|
||||
// gas irOptimized: 158638
|
||||
// gas irOptimized: 158635
|
||||
// test3(uint256[2][]): 0x20, 2, 23, 42, 23, 42 -> 2, 65
|
||||
// gas irOptimized: 135778
|
||||
// gas irOptimized: 135775
|
||||
// test4(uint256[2][2]): 23, 42, 23, 42 -> 65
|
||||
// gas irOptimized: 111695
|
||||
// gas irOptimized: 111692
|
||||
|
@ -40,12 +40,12 @@ contract Test {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// test() -> 24
|
||||
// gas irOptimized: 227891
|
||||
// gas legacy: 227133
|
||||
// gas legacyOptimized: 226547
|
||||
// gas irOptimized: 227888
|
||||
// gas legacy: 227128
|
||||
// gas legacyOptimized: 226542
|
||||
// test1() -> 3
|
||||
// test2() -> 6
|
||||
// test3() -> 24
|
||||
// gas irOptimized: 134338
|
||||
// gas legacy: 134295
|
||||
// gas legacyOptimized: 133383
|
||||
// gas irOptimized: 134335
|
||||
// gas legacy: 134290
|
||||
// gas legacyOptimized: 133378
|
||||
|
@ -16,5 +16,5 @@ contract C {
|
||||
// ----
|
||||
// f() -> 1, 2, 3
|
||||
// gas irOptimized: 133671
|
||||
// gas legacy: 134619
|
||||
// gas legacyOptimized: 131940
|
||||
// gas legacy: 134614
|
||||
// gas legacyOptimized: 131935
|
||||
|
@ -12,9 +12,9 @@ contract Test {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// set(uint24[]): 0x20, 18, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 -> 18
|
||||
// gas irOptimized: 101659
|
||||
// gas legacy: 103815
|
||||
// gas legacyOptimized: 101614
|
||||
// gas irOptimized: 101656
|
||||
// gas legacy: 103810
|
||||
// gas legacyOptimized: 101609
|
||||
// data(uint256): 7 -> 8
|
||||
// data(uint256): 15 -> 16
|
||||
// data(uint256): 18 -> FAILURE
|
||||
|
@ -7,13 +7,13 @@ contract c {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// set(uint256): 1, 2 -> true
|
||||
// gas irOptimized: 110824
|
||||
// gas legacy: 111091
|
||||
// gas legacyOptimized: 110736
|
||||
// gas irOptimized: 110821
|
||||
// gas legacy: 111086
|
||||
// gas legacyOptimized: 110731
|
||||
// set(uint256): 2, 2, 3, 4, 5 -> true
|
||||
// gas irOptimized: 177811
|
||||
// gas legacy: 178021
|
||||
// gas legacyOptimized: 177666
|
||||
// gas irOptimized: 177808
|
||||
// gas legacy: 178016
|
||||
// gas legacyOptimized: 177661
|
||||
// storageEmpty -> 0
|
||||
// copy(uint256,uint256): 1, 2 -> true
|
||||
// storageEmpty -> 0
|
||||
|
@ -20,24 +20,24 @@ contract c {
|
||||
// f(uint256): 0 -> 0x20, 0x00
|
||||
// f(uint256): 31 -> 0x20, 0x1f, 0x0102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e00
|
||||
// gas irOptimized: 135396
|
||||
// gas legacy: 124364
|
||||
// gas legacyOptimized: 119898
|
||||
// gas legacy: 124359
|
||||
// gas legacyOptimized: 119893
|
||||
// f(uint256): 32 -> 0x20, 0x20, 1780731860627700044960722568376592200742329637303199754547598369979440671
|
||||
// gas irOptimized: 142291
|
||||
// gas legacy: 135431
|
||||
// gas legacyOptimized: 130829
|
||||
// gas legacy: 135426
|
||||
// gas legacyOptimized: 130824
|
||||
// f(uint256): 33 -> 0x20, 33, 1780731860627700044960722568376592200742329637303199754547598369979440671, 0x2000000000000000000000000000000000000000000000000000000000000000
|
||||
// gas irOptimized: 149603
|
||||
// gas legacy: 142238
|
||||
// gas legacyOptimized: 137518
|
||||
// gas legacy: 142233
|
||||
// gas legacyOptimized: 137513
|
||||
// f(uint256): 63 -> 0x20, 0x3f, 1780731860627700044960722568376592200742329637303199754547598369979440671, 14532552714582660066924456880521368950258152170031413196862950297402215316992
|
||||
// gas irOptimized: 174873
|
||||
// gas legacy: 160728
|
||||
// gas legacyOptimized: 152168
|
||||
// gas legacy: 160723
|
||||
// gas legacyOptimized: 152163
|
||||
// f(uint256): 12 -> 0x20, 0x0c, 0x0102030405060708090a0b0000000000000000000000000000000000000000
|
||||
// gas legacy: 59345
|
||||
// gas legacyOptimized: 57279
|
||||
// gas legacy: 59340
|
||||
// gas legacyOptimized: 57274
|
||||
// f(uint256): 129 -> 0x20, 0x81, 1780731860627700044960722568376592200742329637303199754547598369979440671, 0x202122232425262728292a2b2c2d2e2f303132333435363738393a3b3c3d3e3f, 29063324697304692433803953038474361308315562010425523193971352996434451193439, 0x606162636465666768696a6b6c6d6e6f707172737475767778797a7b7c7d7e7f, -57896044618658097711785492504343953926634992332820282019728792003956564819968
|
||||
// gas irOptimized: 452115
|
||||
// gas legacy: 423017
|
||||
// gas legacyOptimized: 406021
|
||||
// gas legacy: 423012
|
||||
// gas legacyOptimized: 406016
|
||||
|
@ -12,5 +12,5 @@ contract C {
|
||||
// ----
|
||||
// f(uint256[]): 0x20, 0x03, 0x1, 0x2, 0x3 -> 0x1
|
||||
// gas irOptimized: 111384
|
||||
// gas legacy: 111565
|
||||
// gas legacyOptimized: 111347
|
||||
// gas legacy: 111560
|
||||
// gas legacyOptimized: 111342
|
||||
|
@ -37,12 +37,12 @@ contract C {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// f() -> 0x40, 0x80, 6, 0x6162636465660000000000000000000000000000000000000000000000000000, 0x49, 0x3132333435363738393031323334353637383930313233343536373839303120, 0x3132333435363738393031323334353637383930313233343536373839303120, 0x3132333435363738390000000000000000000000000000000000000000000000
|
||||
// gas irOptimized: 180274
|
||||
// gas legacy: 180694
|
||||
// gas legacyOptimized: 180088
|
||||
// gas irOptimized: 180271
|
||||
// gas legacy: 180689
|
||||
// gas legacyOptimized: 180083
|
||||
// g() -> 0x40, 0xc0, 0x49, 0x3132333435363738393031323334353637383930313233343536373839303120, 0x3132333435363738393031323334353637383930313233343536373839303120, 0x3132333435363738390000000000000000000000000000000000000000000000, 0x11, 0x3132333435363738393233343536373839000000000000000000000000000000
|
||||
// gas irOptimized: 107618
|
||||
// gas legacy: 107895
|
||||
// gas legacyOptimized: 107254
|
||||
// gas irOptimized: 107615
|
||||
// gas legacy: 107890
|
||||
// gas legacyOptimized: 107249
|
||||
// h() -> 0x40, 0x60, 0x00, 0x00
|
||||
// storageEmpty -> 1
|
||||
|
@ -49,5 +49,5 @@ contract C {
|
||||
// ----
|
||||
// f() -> 0xff
|
||||
// gas irOptimized: 122009
|
||||
// gas legacy: 126745
|
||||
// gas legacyOptimized: 123476
|
||||
// gas legacy: 126740
|
||||
// gas legacyOptimized: 123471
|
||||
|
@ -19,5 +19,5 @@ contract C {
|
||||
// ----
|
||||
// test() -> 7
|
||||
// gas irOptimized: 127846
|
||||
// gas legacy: 205196
|
||||
// gas legacyOptimized: 204987
|
||||
// gas legacy: 205191
|
||||
// gas legacyOptimized: 204982
|
||||
|
@ -22,6 +22,6 @@ contract C {
|
||||
// compileViaYul: also
|
||||
// ----
|
||||
// one() -> 3
|
||||
// gas legacy: 140260
|
||||
// gas legacyOptimized: 140097
|
||||
// gas legacy: 140255
|
||||
// gas legacyOptimized: 140092
|
||||
// two() -> FAILURE, hex"4e487b71", 0x51
|
||||
|
@ -10,8 +10,8 @@ contract c {
|
||||
// ----
|
||||
// set(): 1, 2, 3, 4, 5 -> true
|
||||
// gas irOptimized: 177557
|
||||
// gas legacy: 177656
|
||||
// gas legacyOptimized: 177496
|
||||
// gas legacy: 177651
|
||||
// gas legacyOptimized: 177491
|
||||
// storageEmpty -> 0
|
||||
// reset() -> true
|
||||
// storageEmpty -> 1
|
||||
|
@ -21,5 +21,5 @@ contract C {
|
||||
// ----
|
||||
// f() -> 3
|
||||
// gas irOptimized: 134208
|
||||
// gas legacy: 130307
|
||||
// gas legacyOptimized: 129363
|
||||
// gas legacy: 130302
|
||||
// gas legacyOptimized: 129358
|
||||
|
@ -20,5 +20,5 @@ contract C {
|
||||
// ----
|
||||
// f() -> 1, 2, 3, 4, 5, 6, 7
|
||||
// gas irOptimized: 209108
|
||||
// gas legacy: 212325
|
||||
// gas legacyOptimized: 211486
|
||||
// gas legacy: 212320
|
||||
// gas legacyOptimized: 211481
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user