-
Notifications
You must be signed in to change notification settings - Fork 103
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 steppable/interruptible interpreter #79
base: master
Are you sure you want to change the base?
Commits on Mar 26, 2019
-
Configuration menu - View commit details
-
Copy full SHA for aa6ebaa - Browse repository at this point
Copy the full SHA aa6ebaaView commit details -
Add IterativeInterp, a modified version of Interp that can be stepped through execution, preventing infinite loops.
Configuration menu - View commit details
-
Copy full SHA for 92f61aa - Browse repository at this point
Copy the full SHA 92f61aaView commit details -
Configuration menu - View commit details
-
Copy full SHA for cc6358c - Browse repository at this point
Copy the full SHA cc6358cView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6325569 - Browse repository at this point
Copy the full SHA 6325569View commit details -
Configuration menu - View commit details
-
Copy full SHA for 978d6bd - Browse repository at this point
Copy the full SHA 978d6bdView commit details
Commits on Mar 27, 2019
-
Configuration menu - View commit details
-
Copy full SHA for caa6bb4 - Browse repository at this point
Copy the full SHA caa6bb4View commit details -
Configuration menu - View commit details
-
Copy full SHA for 3a37eba - Browse repository at this point
Copy the full SHA 3a37ebaView commit details -
Put debug traces behind hs_verbose haxedef
Should quiet things down a bit
Configuration menu - View commit details
-
Copy full SHA for e08b1ed - Browse repository at this point
Copy the full SHA e08b1edView commit details
Commits on Apr 10, 2019
-
Configuration menu - View commit details
-
Copy full SHA for 7501e00 - Browse repository at this point
Copy the full SHA 7501e00View commit details
Commits on Apr 24, 2019
-
Fix assign() to support stack-based local vars
`assign()` (usually triggered by `EBinop("="...`) was not searching through the stack to find local vars outside of the immediate block's scope. It now does so. Also identified a few areas that used the same search method and merged them into a single inlined function, `find_local(id:String):Dynamic`. There are only minor differences between `find_local` and `resolve`, and they could potentially be merged with some adjustments to `assign`, `increment`, etc.
Configuration menu - View commit details
-
Copy full SHA for 68cf69d - Browse repository at this point
Copy the full SHA 68cf69dView commit details -
Configuration menu - View commit details
-
Copy full SHA for fae43ba - Browse repository at this point
Copy the full SHA fae43baView commit details -
Configuration menu - View commit details
-
Copy full SHA for 6ffa140 - Browse repository at this point
Copy the full SHA 6ffa140View commit details
Commits on Apr 26, 2019
-
Fix consecutive block ends crashing interp bug
Two codeblocks ending consecutively with no expression in between eg ``` if(foo){ if(bar){ trace('hello'); } //no expression here would trigger the bug } ``` Would crash the script. The fetch phase will now, on encountering the end of a block, continue bubbling up through stack frames until it either finds one that will continue or returns a value and ends the script.
Configuration menu - View commit details
-
Copy full SHA for 8a9bd90 - Browse repository at this point
Copy the full SHA 8a9bd90View commit details
Commits on May 7, 2019
-
Make compatible with hscriptPos + fix locals bug
Now fully compatible with -DhscriptPos. Internally-generated expressions simply show "Internal" source and zero for all line/position telemetry. Fixed a bug where pushing a new frame to the stack wasn't updating locals.
Configuration menu - View commit details
-
Copy full SHA for e114ebd - Browse repository at this point
Copy the full SHA e114ebdView commit details -
Add exprify function (iterative hscriptPos compat)
Tools.exprify(e:Expr/ExprDef):Expr is basically the equivalent of Tools.mk for runtime-generated (ie, has no position in source hscript) exprs. It allows hscript.IterativeInterp to be compatible with -DhscriptPos.
Configuration menu - View commit details
-
Copy full SHA for 73d2831 - Browse repository at this point
Copy the full SHA 73d2831View commit details
Commits on May 9, 2019
-
Support for loops & complex array decs
Added support for for loop syntax; for loops exist in their own stack frame and can be interrupted as with other loops. Array declarations now support function calls as members. Improved PosInfo for internal expressions.
Configuration menu - View commit details
-
Copy full SHA for 8bc6104 - Browse repository at this point
Copy the full SHA 8bc6104View commit details
Commits on May 31, 2019
-
`continue` now works as expected in while, dowhile, and for loops.
Configuration menu - View commit details
-
Copy full SHA for 3ef1ed9 - Browse repository at this point
Copy the full SHA 3ef1ed9View commit details