-
Notifications
You must be signed in to change notification settings - Fork 42
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
Compositional crux-mir support #659
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great. I added one comment about eventually generalizing some of this stuff, but that's not something we need to do now.
|
||
|
||
-------------------------------------------------------------------------------- | ||
-- ** MethodSpec and MethodSpecBuilder |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
My hope is that someday we can eventually, generalize the stuff from here down, move it to the crux
package, and use it for other languages, too.
245bbb4
to
f8a12a4
Compare
f8a12a4
to
c6b5472
Compare
This is the crucible/crux-mir component of GaloisInc/saw-script#1117. This branch adds various infrastructure needed to support the main compositional crux-mir implementation in the saw-script repo.
Specifically, this branch adds new Crucible intrinsic types
MethodSpec
andMethodSpecBuilder
, and adds functions for manipulating them to thecrucible
Rust library. However, the intrinsics are defined as existential types, using typeclasses to provide the operations for each type, and no implementations of those typeclasses or overrides for the Rust API functions are included incrux-mir
. Instead,saw-script/crux-mir-comp
defines concrete implementation types and extendscrux-mir
with the necessary overrides, so that these implementations can usesaw-script
'sMethodSpec
and related SAW types.This branch also adds some additional functions for manipulating
MirReference
s, which are used incrux-mir-comp
's handling of memory.