argotorg / argotorg/solidity

Improve memory management/allocation

Open
#13,320 0 comments 0 reactions 1 assignee Claimed by @chriseth View on GitHub
selected for development
Dominant language
C++
Stars
25.7k
Forks
6.2k
Avg merge
1d 11h
Merged PRs (30d)
21

Description

The current feeling is that for this to work nicely, we need a notion of lifetime for memory objects.
For gas-efficiency reasons, we want this lifetime to be determined at compile-time.
Because of that, we are trying to see if rust's model of lifetime tracking / borrow-checking is working for us.

The first draft is considering an intermediate language that makes use of typed yul that achieves this goal.
If this works out, we probably need to pull this up to the Solidity level, which means we need proper reference tracking for Solidity. Related: https://github.com/ethereum/solidity/issues/13323

More details can be found in [memIR > Benchmarks](https://notes.ethereum.org/WnsIlf8RSASJFr8S7m5yvQ?both#Benchmarks)

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.