mirror of
https://github.com/ethereum/solidity
synced 2023-10-03 13:03:40 +00:00
18 lines
392 B
Plaintext
18 lines
392 B
Plaintext
{
|
|
// The caller opcode is cheap, so inline it,
|
|
// no matter how often it is used
|
|
let a := caller()
|
|
mstore(a, a)
|
|
mstore(add(a, a), mload(a))
|
|
sstore(a, sload(a))
|
|
}
|
|
// ====
|
|
// step: rematerialiser
|
|
// ----
|
|
// {
|
|
// let a := caller()
|
|
// mstore(caller(), caller())
|
|
// mstore(add(caller(), caller()), mload(caller()))
|
|
// sstore(caller(), sload(caller()))
|
|
// }
|