The problem from #43 persists with a different test case. The fix from ce52cf6 does not prevent cases where the stack grows under a certain limit in each scope, but goes over the limit across all scopes. This proposed change carries the same stackSize variable into each scope, so there's no way for any combination of large(ish) objects and arrays to overflow the stack. This change shows the same performance as the previous fix from ce52cf6 (which was indeed a vast improvement over the simple approach I took in fc77a5c).
Two new test cases are included. Maybe more than necessary. I also don't really like the huge diffs these test cases generate, I might look into generating the .txt contents at runtime.
Another fix for the stack overflow problem, this covers all cases (I …
…think), and has immeasurable performance impact