mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
53 lines
1.1 KiB
Plaintext
53 lines
1.1 KiB
Plaintext
|
{
|
||
|
function allocate(size) -> p
|
||
|
{
|
||
|
let _1 := 0x40
|
||
|
p := mload(_1)
|
||
|
let _2 := add(p, size)
|
||
|
let _3 := 0x40
|
||
|
mstore(_3, _2)
|
||
|
}
|
||
|
function array_index_access(array, index) -> p_1
|
||
|
{
|
||
|
let _4 := 0x20
|
||
|
let _5 := mul(index, _4)
|
||
|
p_1 := add(array, _5)
|
||
|
}
|
||
|
let _6 := 0x20
|
||
|
let _7 := allocate(_6)
|
||
|
pop(_7)
|
||
|
let _8 := 0x40
|
||
|
let x := allocate(_8)
|
||
|
let _9 := 2
|
||
|
let _10 := 3
|
||
|
let _11 := array_index_access(x, _10)
|
||
|
mstore(_11, _9)
|
||
|
}
|
||
|
// ----
|
||
|
// commonSubexpressionEliminator
|
||
|
// {
|
||
|
// function allocate(size) -> p
|
||
|
// {
|
||
|
// let _1 := 0x40
|
||
|
// p := mload(_1)
|
||
|
// let _2 := add(p, size)
|
||
|
// let _3 := _1
|
||
|
// mstore(_1, _2)
|
||
|
// }
|
||
|
// function array_index_access(array, index) -> p_1
|
||
|
// {
|
||
|
// let _4 := 0x20
|
||
|
// let _5 := mul(index, _4)
|
||
|
// p_1 := add(array, _5)
|
||
|
// }
|
||
|
// let _6 := 0x20
|
||
|
// let _7 := allocate(_6)
|
||
|
// pop(_7)
|
||
|
// let _8 := 0x40
|
||
|
// let x := allocate(_8)
|
||
|
// let _9 := 2
|
||
|
// let _10 := 3
|
||
|
// let _11 := array_index_access(x, _10)
|
||
|
// mstore(_11, _9)
|
||
|
// }
|