Update tests

This commit is contained in:
Alex Beregszaszi 2021-05-27 18:59:38 +01:00
parent b098e2f1a5
commit 0b6f87ef3c
182 changed files with 2078 additions and 1121 deletions

View File

@ -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"

View File

@ -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()
}

View File

@ -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>
}

View File

@ -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)
}

View File

@ -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
}

View File

@ -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)

View File

@ -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)

View File

@ -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)
}

View File

@ -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)
}

View File

@ -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()

View File

@ -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()

View File

@ -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}}}

View File

@ -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)

View File

@ -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>
}

View File

@ -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>
}

View File

@ -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

View File

@ -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>
}

View File

@ -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>
}

View File

@ -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>
}

View File

@ -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>
}

View File

@ -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>
}

View File

@ -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>
}

View File

@ -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()

View File

@ -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}}}

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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)
}
}

View File

@ -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)
}

View File

@ -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)

View File

@ -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 {

View File

@ -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)
}

View File

@ -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)
}

View File

@ -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)
}

View File

@ -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)
}

View File

@ -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)
}

View File

@ -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

View File

@ -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

View File

@ -13,8 +13,8 @@ contract C {
}
// ----
// creation:
// codeDepositCost: 387600
// executionCost: 424
// totalCost: 388024
// codeDepositCost: 397400
// executionCost: 443
// totalCost: 397843
// external:
// f(): 428
// f(): 423

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -18,4 +18,4 @@ contract D {
// ----
// f() -> FAILURE, hex"4e487b71", 0x11
// g(), 100 wei -> 1
// gas legacy: 101918
// gas legacy: 111331

View File

@ -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

View File

@ -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

View File

@ -20,5 +20,5 @@ contract c {
// ----
// test() -> 0
// gas irOptimized: 171767
// gas legacy: 189715
// gas legacyOptimized: 184472
// gas legacy: 189710
// gas legacyOptimized: 184467

View File

@ -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

View File

@ -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

View File

@ -24,5 +24,5 @@ contract C {
// ----
// f() -> true
// gas irOptimized: 92958
// gas legacy: 93035
// gas legacyOptimized: 92257
// gas legacy: 93030
// gas legacyOptimized: 92252

View File

@ -49,5 +49,5 @@ contract C {
// ----
// f() -> true
// gas irOptimized: 154441
// gas legacy: 155961
// gas legacyOptimized: 153588
// gas legacy: 155956
// gas legacyOptimized: 153583

View File

@ -16,5 +16,5 @@ contract C {
// ----
// f() -> 0
// gas irOptimized: 135505
// gas legacy: 135313
// gas legacyOptimized: 134548
// gas legacy: 135308
// gas legacyOptimized: 134543

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -20,5 +20,5 @@ contract c {
// ----
// test() -> 5, 4
// gas irOptimized: 226467
// gas legacy: 233801
// gas legacyOptimized: 232816
// gas legacy: 233796
// gas legacyOptimized: 232811

View File

@ -25,5 +25,5 @@ contract c {
// ----
// test() -> 3, 4
// gas irOptimized: 191858
// gas legacy: 195353
// gas legacyOptimized: 192441
// gas legacy: 195348
// gas legacyOptimized: 192436

View File

@ -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() ->

View File

@ -21,5 +21,5 @@ contract c {
// ----
// test() -> 5, 4
// gas irOptimized: 272786
// gas legacy: 270834
// gas legacyOptimized: 269960
// gas legacy: 270829
// gas legacyOptimized: 269955

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -49,5 +49,5 @@ contract C {
// ----
// f() -> 0xff
// gas irOptimized: 122009
// gas legacy: 126745
// gas legacyOptimized: 123476
// gas legacy: 126740
// gas legacyOptimized: 123471

View File

@ -19,5 +19,5 @@ contract C {
// ----
// test() -> 7
// gas irOptimized: 127846
// gas legacy: 205196
// gas legacyOptimized: 204987
// gas legacy: 205191
// gas legacyOptimized: 204982

View File

@ -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

View File

@ -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

View File

@ -21,5 +21,5 @@ contract C {
// ----
// f() -> 3
// gas irOptimized: 134208
// gas legacy: 130307
// gas legacyOptimized: 129363
// gas legacy: 130302
// gas legacyOptimized: 129358

View File

@ -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