mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
262 lines
5.3 KiB
Plaintext
262 lines
5.3 KiB
Plaintext
|
|
======= viair_msize_without_optimizer/input.sol:C =======
|
|
EVM assembly:
|
|
mstore(0x40, 0x80)
|
|
jumpi(tag_4, iszero(callvalue))
|
|
tag_5
|
|
tag_2
|
|
jump // in
|
|
tag_5:
|
|
tag_4:
|
|
tag_6
|
|
tag_3
|
|
jump // in
|
|
tag_6:
|
|
tag_7
|
|
tag_1
|
|
jump // in
|
|
tag_7:
|
|
dataSize(sub_0)
|
|
dataOffset(sub_0)
|
|
dup3
|
|
codecopy
|
|
dataSize(sub_0)
|
|
dup2
|
|
return
|
|
tag_1:
|
|
0x00
|
|
mload(0x40)
|
|
swap1
|
|
pop
|
|
swap1
|
|
jump // out
|
|
tag_2:
|
|
0x00
|
|
dup1
|
|
revert
|
|
tag_3:
|
|
jump // out
|
|
stop
|
|
|
|
sub_0: assembly {
|
|
mstore(0x40, 0x80)
|
|
jumpi(tag_10, lt(calldatasize, 0x04))
|
|
tag_11
|
|
calldataload(0x00)
|
|
tag_1
|
|
jump // in
|
|
tag_11:
|
|
dup1
|
|
0x26121ff0
|
|
dup2
|
|
sub
|
|
tag_12
|
|
jumpi
|
|
tag_14
|
|
tag_7
|
|
jump // in
|
|
tag_14:
|
|
tag_12:
|
|
pop
|
|
pop
|
|
tag_10:
|
|
tag_15
|
|
tag_8
|
|
jump // in
|
|
tag_15:
|
|
jump(tag_16)
|
|
tag_1:
|
|
0x00
|
|
dup2
|
|
0xe0
|
|
shr
|
|
swap1
|
|
pop
|
|
swap2
|
|
swap1
|
|
pop
|
|
jump // out
|
|
tag_2:
|
|
0x00
|
|
mload(0x40)
|
|
swap1
|
|
pop
|
|
swap1
|
|
jump // out
|
|
tag_3:
|
|
0x00
|
|
dup1
|
|
revert
|
|
tag_4:
|
|
0x00
|
|
dup1
|
|
revert
|
|
tag_5:
|
|
0x00
|
|
dup2
|
|
dup4
|
|
sub
|
|
slt
|
|
iszero
|
|
tag_22
|
|
jumpi
|
|
tag_23
|
|
tag_4
|
|
jump // in
|
|
tag_23:
|
|
tag_22:
|
|
pop
|
|
pop
|
|
jump // out
|
|
tag_6:
|
|
0x00
|
|
dup1
|
|
dup3
|
|
add
|
|
swap1
|
|
pop
|
|
swap2
|
|
swap1
|
|
pop
|
|
jump // out
|
|
tag_7:
|
|
jumpi(tag_26, iszero(callvalue))
|
|
tag_27
|
|
tag_3
|
|
jump // in
|
|
tag_27:
|
|
tag_26:
|
|
tag_28
|
|
calldatasize
|
|
0x04
|
|
tag_5
|
|
jump // in
|
|
tag_28:
|
|
tag_29
|
|
tag_9
|
|
jump // in
|
|
tag_29:
|
|
tag_30
|
|
tag_2
|
|
jump // in
|
|
tag_30:
|
|
tag_31
|
|
dup2
|
|
tag_6
|
|
jump // in
|
|
tag_31:
|
|
dup2
|
|
dup2
|
|
sub
|
|
dup3
|
|
return
|
|
tag_8:
|
|
0x00
|
|
dup1
|
|
revert
|
|
tag_9:
|
|
jump(tag_35)
|
|
tag_34:
|
|
0x00
|
|
dup1
|
|
mload
|
|
swap1
|
|
pop
|
|
swap1
|
|
jump // out
|
|
tag_35:
|
|
0x00
|
|
dup1
|
|
tag_37
|
|
tag_34
|
|
jump // in
|
|
tag_37:
|
|
0x00
|
|
mstore
|
|
pop
|
|
pop
|
|
jump // out
|
|
tag_16:
|
|
|
|
auxdata: <AUXDATA REMOVED>
|
|
}
|
|
|
|
Optimized IR:
|
|
/// @use-src 0:"viair_msize_without_optimizer/input.sol"
|
|
object "C_7" {
|
|
code {
|
|
mstore(64, memoryguard(128))
|
|
if callvalue()
|
|
{
|
|
revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb()
|
|
}
|
|
constructor_C_7()
|
|
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 constructor_C_7()
|
|
{ }
|
|
}
|
|
/// @use-src 0:"viair_msize_without_optimizer/input.sol"
|
|
object "C_7_deployed" {
|
|
code {
|
|
mstore(64, memoryguard(128))
|
|
if iszero(lt(calldatasize(), 4))
|
|
{
|
|
let selector := shift_right_224_unsigned(calldataload(0))
|
|
switch selector
|
|
case 0x26121ff0 { external_fun_f_6() }
|
|
default { }
|
|
}
|
|
revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74()
|
|
function shift_right_224_unsigned(value) -> newValue
|
|
{ newValue := shr(224, value) }
|
|
function allocate_unbounded() -> memPtr
|
|
{ memPtr := mload(64) }
|
|
function revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb()
|
|
{ revert(0, 0) }
|
|
function revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()
|
|
{ revert(0, 0) }
|
|
function abi_decode_tuple_(headStart, dataEnd)
|
|
{
|
|
if slt(sub(dataEnd, headStart), 0)
|
|
{
|
|
revert_error_dbdddcbe895c83990c08b3492a0e83918d802a52331272ac6fdb6a7c4aea3b1b()
|
|
}
|
|
}
|
|
function abi_encode_tuple__to__fromStack(headStart) -> tail
|
|
{ tail := add(headStart, 0) }
|
|
function external_fun_f_6()
|
|
{
|
|
if callvalue()
|
|
{
|
|
revert_error_ca66f745a3ce8ff40e2ccaf1ad45db7774001b90d25810abd9040049be7bf4bb()
|
|
}
|
|
abi_decode_tuple_(4, calldatasize())
|
|
fun_f_6()
|
|
let memPos := allocate_unbounded()
|
|
let memEnd := abi_encode_tuple__to__fromStack(memPos)
|
|
return(memPos, sub(memEnd, memPos))
|
|
}
|
|
function revert_error_42b3090547df1d2001c96683413b8cf91c1b902ef5e3cb8d9f6f304cf7446f74()
|
|
{ revert(0, 0) }
|
|
function fun_f_6()
|
|
{
|
|
{
|
|
function usr$f() -> usr$x
|
|
{ usr$x := mload(0) }
|
|
pop(msize())
|
|
let usr$x := 0
|
|
let usr$y := usr$x
|
|
mstore(0, usr$f())
|
|
}
|
|
}
|
|
}
|
|
data ".metadata" hex"<BYTECODE REMOVED>"
|
|
}
|
|
}
|