mheinsen / seec

Program visualization and debugging for novice C programmers
http://seec-team.github.io/seec/
MIT License
3 stars 0 forks source link

RTValues should be removed when jumping backwards through the LLVM IR. #11

Closed mheinsen closed 11 years ago

mheinsen commented 11 years ago

The runtime value of Instructions should only exist when the Instruction precedes (or is) the active Instruction. This should avoid any confusing behaviour where values produced by evaluations from a previous loop iteration might mix with values from the current loop iteration.

mheinsen commented 11 years ago

We can effectively handle this in the recreated state by always returning null in seec::trace::FunctionState::getCurrentRuntimeValue() if the requested index is greater than the active instruction's index. This is implemented in commit bdf38c5eb8e23c7d7c343ce7ad1e903f8d0f4532.