Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions EIPS/eip-5.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,13 @@
---

Check failure on line 1 in EIPS/eip-5.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

preamble is missing header(s): `description`, `discussions-to`

error[preamble-req]: preamble is missing header(s): `description`, `discussions-to` --> EIPS/eip-5.md | | = help: see https://ethereum.github.io/eipw/preamble-req/
eip: 5
title: Gas Usage for `RETURN` and `CALL*`
author: Christian Reitwiessner <[email protected]>

Check failure on line 4 in EIPS/eip-5.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

preamble header `author` must contain at least one GitHub username

error[preamble-author]: preamble header `author` must contain at least one GitHub username --> EIPS/eip-5.md | 4 | author: Christian Reitwiessner <[email protected]> | = help: see https://ethereum.github.io/eipw/preamble-author/
status: Final
type: Standards Track
category: Core
created: 2015-11-22
---

Check failure on line 10 in EIPS/eip-5.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

body is missing section(s): `Abstract`, `Specification`, `Rationale`, `Security Considerations`, `Copyright`

error[markdown-req-section]: body is missing section(s): `Abstract`, `Specification`, `Rationale`, `Security Considerations`, `Copyright` --> EIPS/eip-5.md | | = help: must be at the second level (`## Heading`) = help: see https://ethereum.github.io/eipw/markdown-req-section/
### Abstract

This EIP makes it possible to call functions that return strings and other dynamically-sized arrays.
Expand Down Expand Up @@ -75,7 +75,7 @@
but the `MSIZE` mechanism described above should be sufficient and is much better
backwards compatible.

Some comments are available at https://github.com/ethereum/EIPs/issues/8

Check failure on line 78 in EIPS/eip-5.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

non-relative link or image

error[markdown-rel-links]: non-relative link or image --> EIPS/eip-5.md | 78 | Some comments are available at https://github.com/ethereum/EIPs/issues/8 | = help: see https://ethereum.github.io/eipw/markdown-rel-links/

### Backwards Compatibility

Expand All @@ -100,10 +100,10 @@
1. Overlaps in allocated memory. By using `CALL`, a contract might have wanted to allocate
a certain slice of memory, even if that is not written to by the called contract.
Subsequent uses of `MSIZE` to allocate memory might overlap with this slice that is
now smaller than before the change. It is though unlikely that such contracts exist.
now smaller than before the change. It is, though, unlikely that such contracts exist.

2. Memory addresses change. Rather general, if memory is allocated using `MSIZE`, the
addresses of objects in memory will be different after the change. Contract should
addresses of objects in memory will be different after the change. Contracts should
all be written in a way, though, such that objects in memory are _relocatable_,
i.e. their absolute position in memory and their relative position to other
objects does not matter. This is of course not the case for arrays, but they
Expand All @@ -117,5 +117,5 @@

Python implementation:

old: http://vitalik.ca/files/old.py

Check failure on line 120 in EIPS/eip-5.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

non-relative link or image

error[markdown-rel-links]: non-relative link or image --> EIPS/eip-5.md | 120 | old: http://vitalik.ca/files/old.py |

Check failure on line 120 in EIPS/eip-5.md

View workflow job for this annotation

GitHub Actions / EIP Walidator

non-relative link or image

error[markdown-rel-links]: non-relative link or image --> EIPS/eip-5.md | 120 | old: http://vitalik.ca/files/old.py |
new: http://vitalik.ca/files/new.py
Loading