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

Decouple LLVM memories from control flow #917

Open
robdockins opened this issue Nov 8, 2021 · 0 comments
Open

Decouple LLVM memories from control flow #917

robdockins opened this issue Nov 8, 2021 · 0 comments

Comments

@robdockins
Copy link
Contributor

Right now, LLVM memory objects are deeply coupled to control flow via the StackFrame and BranchFrame constructors. This is problematic as we consider taking concurrency more seriously in the future.

Issue #890 is already basically about the coupling induced by BranchFrame. However, we should also deal with the implications of StackFrame. Rather than a linear stack of frames, the memory should instead have a more general notion of a "stack region" in which stack allocations can live. Individual threads will keep track of when and in what order to deallocate the regions representing their stack frames, the memory model just needs to know which allocations live within which regions and doesn't need to impose a well-bracketed discipline on them.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant