Made the API Concat function work with Tree execution
Added more detailed documentation to the garbage collector
Made changes to the way the heap and VM handle flagging on garbage collection removing the need for each garbage collection to iterate through every valid heap element twice
Fixed a bug with new array creation which would cause type location to fail if it was > 256 bytes in
Changed hits before garbage collection to fifty. Still yet to find a sweet spot
Fixed a bug with the syntax causing return statements not to work when anywhere other than the root of a function (I.e. no return from a for statement ). This is now fixed.
Added a nice example of fibs to test.scribble
Changed the initial size of the stack to 32kb
Added code which will automatically expand the stack when needed
In preperation for non recursive VM::execute moved load function into a macro.
Function calls inside VM are no inline and not recursive ( OpCall doesn't reexecute the VM::execute function and instead pushes a state which OpReturn can pop ). Working out instability with certain test cases now
Documented some OpCodes in the VM
Finished updating OpCode descriptions in VM::execute
Documented ArrayLength and several other instructions more thoroughly
Moved function return in VM into a seperate function.