implemented marker procs for the GC resulting in huge speedups

This commit is contained in:
Araq 2012-03-21 23:10:56 +01:00
commit 03ba0f3e25
6 changed files with 169 additions and 18 deletions

View file

@ -10,9 +10,6 @@ version 0.9.0
- Test capture of for loop vars; test generics;
- test constant closures
- GC: marker procs for native Nimrod GC and Boehm GC; precise stack marking;
escape analysis for string/seq seems to be easy to do too;
even further write barrier specialization
- dead code elim for JS backend; 'of' operator for JS backend
- const ptr/ref
- unsigned ints and bignums; requires abstract integer literal type:
@ -133,6 +130,11 @@ Low priority
need to recompile clients; er ... what about templates, macros or anything
that has inlining semantics?
- codegen should use "NIM_CAST" macro and respect aliasing rules for GCC
- GC: precise stack marking;
escape analysis for string/seq seems to be easy to do too;
even further write barrier specialization
- GC: marker procs Boehm GC
- implement marker procs for assignment and message passing
- warning for implicit openArray -> varargs conversion
- implement explicit varargs; **but** ``len(varargs)`` problem remains!
--> solve by implicit conversion from varargs to openarray