-
Notifications
You must be signed in to change notification settings - Fork 6
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
New variable tracking method for Much speed #48
Conversation
…fine when a breakpoint is hit
23c26ff
to
3e37084
Compare
@Keno it would be great if you could take a glance over this. |
All the remaining old tests are now passing.
Also I seem to have lost compatiblity with julia 1.0 |
I think I can simplify this massively by using whatever powers the |
There is no need to track the value of variables.
As the variables themselves already do that.
What we do need to do though: is find out what variables are defined at any point in time.
Expr(:isdefined, slot)
can do that for us, but we are not allowed to call that before theNewVarNode
is created.If we know that then we can build the variable name map, after we have decided if we are stopping or not.
This means moving that decision to be part of the pass as well
Combined with #47 this starts to become much more performant.
I want to get #47 in first (the current code in this branch just comments that check out)
The core of the idea is in this PR,
and it doesn't outright crash (though I've not tried actually hitting any breakpoint yet)
Todo
pass.jl
describing the overall stratergyThe main thing we lose by doing this is that #25 becomes much harder, and the outlined stratergy in that issue can not be done anymore