Do you think you have a solution for code with a reference from previously executed code no longer in scope in the current code path that may (or may not) be GC'd at some point. So when you do your scan for references to your value the referencing code is not longer in the control-flow to the current execution point, and will be GC'd and therefore shouldn't be re-evaluated or propagate any updates.
That is the one thing the debugger method does provide, is a clear control/data-flow path to the value reference. So you can be assured there actually still is one.
Am I missing something? It is clear you have thought it through more than I have at the moment - so if I missed something obvious tell me, but I have been working on problems like this myself. It takes more code to do the data flow analysis than the whole Lua source, and it just can't handle all the corner cases. If you run the code - and that is a viable thing for you you can patch the compiler so that it generates some additional code to aid in value tracking. I am interested to hear if anyone has some better ideas - I'd love to use them in my project too.
Thanks,,
Jon
It could have been earlier in the control flow
Ret iyr qaARXEAFR EWALMIS9