Document new argument to setimmutable.

This commit is contained in:
Daniel Kirchner 2020-10-15 16:40:45 +02:00
parent 26cc6b7a95
commit 65dd463fd2

View File

@ -920,12 +920,12 @@ For the EVM, the ``datacopy`` function is equivalent to ``codecopy``.
setimmutable, loadimmutable setimmutable, loadimmutable
^^^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
The functions ``setimmutable("name", value)`` and ``loadimmutable("name")`` are The functions ``setimmutable(offset, "name", value)`` and ``loadimmutable("name")`` are
used for the immutable mechanism in Solidity and do not nicely map to pure Yul. used for the immutable mechanism in Solidity and do not nicely map to pure Yul.
The function ``setimmutable`` assumes that the runtime code of a contract The call to ``setimmutable(offset, "name", value)`` assumes that the runtime code of the contract
is currently copied to memory at offset zero. The call to ``setimmutable("name", value)`` containing the given named immutable was copied to memory at offset ``offset`` and will write ``value`` to all
will store ``value`` at all points in memory that contain a call to positions in memory (relative to ``offset``) that contain the placeholder that was generated for calls
``loadimmutable("name")``. to ``loadimmutable("name")`` in the runtime code.
linkersymbol linkersymbol