-
Notifications
You must be signed in to change notification settings - Fork 8
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
🚀 Add checkpointing policy #253
Conversation
3237c15
to
78f9fe7
Compare
e9a187e
to
09b804d
Compare
A checkpoint is taken at primitives and every x instructions. When the VM is paused it also makes a checkpoint so the debugger knows where the other snapshots are relative to the current point in time and so it can also display what the current state of the vm is. TODO: Will need to be extended a bit when using multiverse debugging. Choicepoints should have checkpoints right after reading sensor values so you don't have to remember the sensor value.
…eckpoint after instead of before primitive calls
…ns of the program
Also send any checkpoints right before the STEP!.
8b91314
to
b95b266
Compare
b95b266
to
7ec06c9
Compare
Quick question: can I also have the vm only snapshot after primitive calls, so not at regular intervals? @MaartenS11 |
✨ PR also adds the "continue for" debug operation |
There is currently no option for this, to simulate this I just used a very large checkpointing interval. |
eb7b6b4
to
c6b91d4
Compare
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.
Adds a snapshot policy that doesn't take snapshots at every instruction but every x instructions and at primitive calls (for reversibility). Because the debugger has to know when these snapshots were taken in relation to each other it will also report how many instructions were executed since the last checkpoint was made. A checkpoint is also made when the vm is paused so that you know how many instructions were executed after the last checkpoint and so the debugger know the current execution state.