Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Draft ethdebug/format/pointer schema #77

Merged
merged 1 commit into from
Feb 6, 2024
Merged

Draft ethdebug/format/pointer schema #77

merged 1 commit into from
Feb 6, 2024

Conversation

gnidan
Copy link
Member

@gnidan gnidan commented Feb 1, 2024

  • Define a pointer to be a region or collection of pointers

  • Define a region to be an optionally-named, continuous sequence of bytes somewhere

  • Define slice and segment addressing schemes for memory-like addresses and storage-like addresses, respectively

  • Define different regions for different data locations using the appropriate addressing scheme

  • Allow a static group of pointers as a collection

  • Allow a dynamic list of pointers as a collection (for arrays, etc.)

  • Allow a conditional choice of pointers as a collection (for strings in storage)

  • Define an expression schema for writing offsets, etc. in terms of the computation of some expression

  • Allow referencing regions by name in these expressions

  • Allow expressions to include arithmetic operations and a few other builtins ($keccak256, e.g.)

@gnidan gnidan force-pushed the pointer-schema branch 12 times, most recently from ac5cda7 to a0ec01b Compare February 6, 2024 05:09
- Define a pointer to be a region or collection of pointers

- Define a region to be an optionally-named, continuous sequence of
  bytes somewhere
- Define slice and segment addressing schemes for memory-like addresses
  and storage-like addresses, respectively
- Define different regions for different data locations using the
  appropriate addressing scheme

- Allow a static group of pointers as a collection
- Allow a dynamic list of pointers as a collection (for arrays, etc.)
- Allow a conditional choice of pointers as a collection (for strings
  in storage)

- Define an expression schema for writing offsets, etc. in terms of
  the computation of some expression
- Allow referencing regions by name in these expressions
- Allow expressions to include arithmetic operations and a few other
  builtins ($keccak256, e.g.)
@gnidan gnidan changed the title [wip] add pointer schema Draft ethdebug/format/pointer schema Feb 6, 2024
@gnidan gnidan marked this pull request as ready for review February 6, 2024 05:17
@gnidan
Copy link
Member Author

gnidan commented Feb 6, 2024

I'm trying to close out my outstanding changes, so I'm calling this PR in a good enough state to get it merged.

There are probably things I'm forgetting that we might need in this schema, but the one big omission on my mind right now is that I don't yet have an example for mapping types.

Whatever. That came come in a subsequent PR... I want to get these changes deployed to a cleaner URL than those Fleek previews.

@gnidan gnidan merged commit f452068 into main Feb 6, 2024
4 checks passed
@gnidan gnidan deleted the pointer-schema branch February 6, 2024 05:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant