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
Runtime refactor #30
Runtime refactor #30
Conversation
- Removed vtable from implementation (though kept definition there for documentation) - Created debug_act and debug_sv structs to stash debug informations. I will probably also want to put trace callbacks in there, but need to figure out how best to do that. - Still need to add better interface to ssm-runtime; check what interface Hans has exposed. - Removed the offset and svt_ptr stuff.
Still need to add target for building and testing queue.
I have a couple of failing tests, but these fail on master as well, so I don't think these should prevent this PR from being merged. I've documented the MultOverflow cases in #32, but I just have no idea what FiveForker is, or why it fails, but it's a massive test case with lots of forks. Both the interpreter and the executable reach a |
The fiveforker one is super interesting. I'll try to manually massage quickcheck to shrink it a bit, and see if I can figure it out. |
Hm QuickCheck won't shrink it more. One positive is that whenever we figure out what the issue is, we'll probably manually come up with a smaller test case that can guide another shrinking strategy that replicates it. |
Thanks for the approval @Rewbert ! I'll merge it into master after pushing a couple of more minor fixes. |
I dropped in my refactor of the runtime system from upstream. In addition to what should be a functionally equivalent refactor, it makes the following changes:
struct sv
andstruct act
rather than inlining fields, to avoid some type casting