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

Operations on regions and objects #13

Open
TobiasWrigstad opened this issue Sep 25, 2024 · 3 comments
Open

Operations on regions and objects #13

TobiasWrigstad opened this issue Sep 25, 2024 · 3 comments
Assignees
Labels
enhancement New feature or request
Milestone

Comments

@TobiasWrigstad
Copy link
Member

TobiasWrigstad commented Sep 25, 2024

  • extract ref -- regionalise object o pointed to by ref (fails unless o dominates its transitive closure, and has external RC = 1), returns a fresh closed region
  • merge_into reg_t reg_f -- de-regionalise region reg_f and make all objects owned by region reg_t
  • close(b) -- invalidates all pointers from the local region and closes the region
  • try_close(b) -- attempts to close the region without invalidating any pointers. It returns a boolean indicating if the operation succeeded
  • open reg -- open region (after this point, permit incoming borrowed references)
  • move x, move x.f -- destructive read

Operations we punt on

  • drop
  • send
@TobiasWrigstad TobiasWrigstad added the enhancement New feature or request label Sep 25, 2024
@TobiasWrigstad TobiasWrigstad added this to the PLDI milestone Sep 25, 2024
@xFrednet
Copy link
Collaborator

xFrednet commented Oct 9, 2024

  • close reg -- close region and check that it is isolated
  • open reg -- open region (after this point, permit incoming borrowed references)

Do we maybe want these operations be methods on the reified region object? It feels like that would be closer to the target implementation in Python, but it might be clearer to have them as keywords for Dyrona.

@xFrednet xFrednet self-assigned this Nov 3, 2024
@xFrednet
Copy link
Collaborator

xFrednet commented Nov 3, 2024

I'll take a stab at close(b) and try_close(b) next week

@xFrednet
Copy link
Collaborator

merge(b1, b2) should be the last thing from this issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants