You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently the JVMSetup blocks used with crucible_jvm_verify only support two specific kinds of points-to declarations:
jvm_elem_is, for specifying the value of an array element
jvm_field_is, for specifying the value of an object field
Unlike crucible_llvm_verify, we don't have a way of specifying the value of an entire array at once. This causes a couple of problems, both of which cause serious slowdowns for crucible_jvm_verify:
Each occurrence of jvm_elem_is turns into a separate proof goal, so it takes n separate prover calls to assert the final value of an array instead of just one
Currently the
JVMSetup
blocks used withcrucible_jvm_verify
only support two specific kinds of points-to declarations:jvm_elem_is
, for specifying the value of an array elementjvm_field_is
, for specifying the value of an object fieldUnlike
crucible_llvm_verify
, we don't have a way of specifying the value of an entire array at once. This causes a couple of problems, both of which cause serious slowdowns forcrucible_jvm_verify
:jvm_elem_is
turns into a separate proof goal, so it takesn
separate prover calls to assert the final value of an array instead of just onecrucible_llvm_verify
doesn't work forcrucible_jvm_verify
Adding a points-to declaration for whole jvm arrays should let us fix both of these problems.
The text was updated successfully, but these errors were encountered: