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

crucible-jvm: Allow jvmSimContext to pass additional intrinsic types #1128

Open
RyanGlScott opened this issue Nov 13, 2023 · 0 comments
Open

Comments

@RyanGlScott
Copy link
Contributor

The jvmSimContext function is a convenient shorthand for constructing a JVM-related SimContext. However, it is a bit restricted in that it can only be used to construct a SimContext with precisely the set of intrinsic types found in jvmIntrinsicTypes. It would be more convenient if jvmSimContext permitted passing additional intrinsic types to add on top of jvmIntrinsicTypes in situations where more intrinsics are needed (e.g., to power SAW's ghost state feature, which is powered by a separate intrinsic).

RyanGlScott added a commit to GaloisInc/saw-script that referenced this issue Nov 13, 2023
This is not entirely straightforward to do for the JVM backend, as the
`jvmSimContext` function (`crucible-jvm`'s API function for constructing a
`SimContext`) does not support adding additional intrinsic types, including the
intrinsic type needed to support SAW ghost state. For the time being, I have
simply inlined the implementation of `jvmSimContext` as needed, and I have
opened GaloisInc/crucible#1128 as a reminder to
generalize `jvmSimContext` upstream.
RyanGlScott added a commit to GaloisInc/saw-script that referenced this issue Nov 13, 2023
This is not entirely straightforward to do for the JVM backend, as the
`jvmSimContext` function (`crucible-jvm`'s API function for constructing a
`SimContext`) does not support adding additional intrinsic types, including the
intrinsic type needed to support SAW ghost state. For the time being, I have
simply inlined the implementation of `jvmSimContext` as needed, and I have
opened GaloisInc/crucible#1128 as a reminder to
generalize `jvmSimContext` upstream.
RyanGlScott added a commit to GaloisInc/saw-script that referenced this issue Nov 23, 2023
This is not entirely straightforward to do for the JVM backend, as the
`jvmSimContext` function (`crucible-jvm`'s API function for constructing a
`SimContext`) does not support adding additional intrinsic types, including the
intrinsic type needed to support SAW ghost state. For the time being, I have
simply inlined the implementation of `jvmSimContext` as needed, and I have
opened GaloisInc/crucible#1128 as a reminder to
generalize `jvmSimContext` upstream.
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