Skip to content

feat: attempt to preserve stack alignment proof in AxEffect update - #209

Merged
shigoel merged 3 commits into
mainfrom
update-stackAlignmentProof
Oct 8, 2024
Merged

feat: attempt to preserve stack alignment proof in AxEffect update#209
shigoel merged 3 commits into
mainfrom
update-stackAlignmentProof

Conversation

@alexkeizer

Copy link
Copy Markdown
Collaborator

Description:

Stacked on #207.

When an write to memory or a write to a register that is not SP is made, we update the proof of stack alignment. When a write to SP is made, we create a new mvar with the proof obligation that the new value is aligned, and store that mvar in a new sideConditions field.

Testing:

What tests have been run? Did make all succeed for your changes? Was
conformance testing successful on an Aarch64 machine? Yes

License:

By submitting this pull request, I confirm that my contribution is
made under the terms of the Apache 2.0 license.

@shigoel
shigoel marked this pull request as ready for review October 6, 2024 02:09
@shigoel
shigoel self-requested a review as a code owner October 6, 2024 02:09
Base automatically changed from symcontext-remove-hsp to main October 6, 2024 02:15
Comment thread Tactics/Sym/AxEffects.lean
Comment thread Arm/Insts/Common.lean Outdated
When an write to memory or a write to a register that is not SP is made, we update the proof of stack alignment. When a write to SP is made, we create a new mvar with the proof obligation that the new value is aligned, and store that mvar in a new `sideConditions` field.
@alexkeizer
alexkeizer force-pushed the update-stackAlignmentProof branch from f3e2c18 to 9b48a18 Compare October 7, 2024 22:08
@alexkeizer

Copy link
Copy Markdown
Collaborator Author

@shigoel rebased on main and addressed comments!

@shigoel
shigoel merged commit 055809c into main Oct 8, 2024
@shigoel
shigoel deleted the update-stackAlignmentProof branch October 8, 2024 01:48
shigoel added a commit that referenced this pull request Oct 8, 2024
### Description:

Stacked on:
- [x] #209 
- [x] #204 

### Testing:

What tests have been run? Did `make all` succeed for your changes? Was
conformance testing successful on an Aarch64 machine? Yes

### License:

By submitting this pull request, I confirm that my contribution is
made under the terms of the Apache 2.0 license.

---------

Co-authored-by: Shilpi Goel <shigoel@gmail.com>
shigoel added a commit that referenced this pull request Oct 8, 2024
…ep in `sym_n` (#213)

### Description:

Stacked on:
- [x] #204 
- [x] #207 
- [x] #209 
- [x] #211 

This PR implements "snorkeling" of the heartbeat budget.

This unfortunately does not buy us much, as aggregation for 500 steps
already seems to hit both the recursion limit and heartbeat budget, by
itself.

### Testing:

What tests have been run? Did `make all` succeed for your changes? Was
conformance testing successful on an Aarch64 machine? Yes

### License:

By submitting this pull request, I confirm that my contribution is
made under the terms of the Apache 2.0 license.

---------

Co-authored-by: Shilpi Goel <shigoel@gmail.com>
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.

2 participants