solidity/test/cmdlineTests/viair_subobject_optimization/output
Marenz 22c7cd22b9 Fix wrong cleanup when copying from calldata to memory
Co-authored-by: Kamil Śliwak <kamil.sliwak@codepoets.it>
2022-08-08 13:07:16 +02:00

335 lines
5.8 KiB
Plaintext

======= viair_subobject_optimization/input.sol:C =======
EVM assembly:
/* "viair_subobject_optimization/input.sol":61:668 contract C {... */
0x80
jumpi(tag_7, callvalue)
0x1f
bytecodeSize
codesize
dup2
swap1
sub
swap2
dup3
add
not(0x1f)
and
dup4
add
swap2
sub(shl(0x40, 0x01), 0x01)
dup4
gt
dup5
dup5
lt
or
tag_3
jumpi
dup1
dup5
swap3
0x20
swap5
0x40
mstore
dup4
codecopy
dup2
add
sub
slt
tag_7
jumpi
mload
sub(shl(0x48, 0x01), 0xbe)
/* "viair_subobject_optimization/input.sol":620:645 x == 0xFFFFFFFFFFFFFFFF42 */
eq
/* "viair_subobject_optimization/input.sol":616:661 if (x == 0xFFFFFFFFFFFFFFFF42)... */
tag_7
jumpi
/* "viair_subobject_optimization/input.sol":61:668 contract C {... */
mload(0x40)
dataSize(sub_0)
swap1
dup2
dataOffset(sub_0)
dup3
codecopy
return
/* "viair_subobject_optimization/input.sol":616:661 if (x == 0xFFFFFFFFFFFFFFFF42)... */
tag_7:
0x00
/* "viair_subobject_optimization/input.sol":653:661 revert() */
dup1
revert
/* "viair_subobject_optimization/input.sol":61:668 contract C {... */
tag_3:
mstore(0x00, shl(0xe0, 0x4e487b71))
mstore(0x04, 0x41)
revert(0x00, 0x24)
stop
sub_0: assembly {
/* "viair_subobject_optimization/input.sol":61:668 contract C {... */
0x00
dup1
revert
auxdata: <AUXDATA REMOVED>
}
======= viair_subobject_optimization/input.sol:D =======
EVM assembly:
/* "viair_subobject_optimization/input.sol":669:772 contract D {... */
0x80
dup1
0x40
mstore
jumpi(tag_1, callvalue)
dataSize(sub_0)
swap1
dup2
dataOffset(sub_0)
dup3
codecopy
return
tag_1:
0x00
dup1
revert
stop
sub_0: assembly {
/* "viair_subobject_optimization/input.sol":669:772 contract D {... */
0x80
jumpi(tag_1, iszero(lt(calldatasize, 0x04)))
0x00
dup1
revert
tag_1:
0x00
dup1
calldataload
0xe0
shr
0x26121ff0
eq
tag_3
jumpi
0x00
dup1
revert
tag_3:
jumpi(tag_7, callvalue)
dup1
add(calldatasize, not(0x03))
slt
tag_7
jumpi
/* "viair_subobject_optimization/input.sol":745:765 type(C).creationCode */
dataSize(sub_0)
/* "viair_subobject_optimization/input.sol":669:772 contract D {... */
swap2
not(0x1f)
swap1
dup2
0x3f
dup6
add
and
dup2
add
swap3
dup2
dup5
lt
0xffffffffffffffff
dup6
gt
or
tag_9
jumpi
swap1
swap2
0x40
swap4
dup5
mstore
/* "viair_subobject_optimization/input.sol":745:765 type(C).creationCode */
dup5
dup4
mstore
0x20
swap5
dataOffset(sub_0)
dup7
dup6
add
codecopy
/* "viair_subobject_optimization/input.sol":669:772 contract D {... */
dup4
mload
swap5
dup6
swap3
dup2
dup5
mstore
dup5
mload
swap2
dup3
dup2
dup7
add
mstore
dup2
swap6
tag_11:
dup4
dup8
lt
tag_12
jumpi
pop
pop
dup4
swap5
pop
dup6
dup3
0x1f
swap5
swap6
add
add
mstore
add
and
dup2
add
sub
add
swap1
return
tag_12:
dup7
dup2
add
dup3
add
mload
dup10
dup9
add
dup10
add
mstore
swap6
dup2
add
swap6
dup9
swap6
pop
jump(tag_11)
tag_9:
shl(0xe0, 0x4e487b71)
dup2
mstore
mstore(0x04, 0x41)
0x24
swap1
revert
tag_7:
dup1
revert
stop
sub_0: assembly {
/* "viair_subobject_optimization/input.sol":61:668 contract C {... */
0x80
jumpi(tag_7, callvalue)
0x1f
bytecodeSize
codesize
dup2
swap1
sub
swap2
dup3
add
not(0x1f)
and
dup4
add
swap2
sub(shl(0x40, 0x01), 0x01)
dup4
gt
dup5
dup5
lt
or
tag_3
jumpi
dup1
dup5
swap3
0x20
swap5
0x40
mstore
dup4
codecopy
dup2
add
sub
slt
tag_7
jumpi
mload
sub(shl(0x48, 0x01), 0xbe)
/* "viair_subobject_optimization/input.sol":620:645 x == 0xFFFFFFFFFFFFFFFF42 */
eq
/* "viair_subobject_optimization/input.sol":616:661 if (x == 0xFFFFFFFFFFFFFFFF42)... */
tag_7
jumpi
/* "viair_subobject_optimization/input.sol":61:668 contract C {... */
mload(0x40)
dataSize(sub_0)
swap1
dup2
dataOffset(sub_0)
dup3
codecopy
return
/* "viair_subobject_optimization/input.sol":616:661 if (x == 0xFFFFFFFFFFFFFFFF42)... */
tag_7:
0x00
/* "viair_subobject_optimization/input.sol":653:661 revert() */
dup1
revert
/* "viair_subobject_optimization/input.sol":61:668 contract C {... */
tag_3:
mstore(0x00, shl(0xe0, 0x4e487b71))
mstore(0x04, 0x41)
revert(0x00, 0x24)
stop
sub_0: assembly {
/* "viair_subobject_optimization/input.sol":61:668 contract C {... */
0x00
dup1
revert
auxdata: <AUXDATA REMOVED>
}
}
auxdata: <AUXDATA REMOVED>
}