threads clean up their heap

This commit is contained in:
Araq 2011-06-04 23:55:10 +02:00
commit 24ed9d560f
9 changed files with 93 additions and 46 deletions

View file

@ -1,19 +1,9 @@
* improve ``echo`` code generation for multi-threading
* codegen for threadvars
* two issues for thread local heaps:
- must prevent to construct a data structure that contains memory
from different heaps: n.next = otherHeapPtr
- must prevent that GC cleans up memory that other threads can still read...
this can be prevented if the shared heap is simply uncollected (at least
for now)
* add --deadlock_prevention:on|off switch? timeout for locks?
* make GC fully thread-safe; needs:
- thread must store its stack boundaries
- GC must traverse these stacks: Even better each thread traverses its
stack! No need to stop if you can help the GC ;-)
- isOnStack() needs to take them into account (SLOW?)
- GC must stop the world
* implicit ref/ptr->var conversion; the compiler may store an object
implicitly on the heap for write barrier efficiency! (Especially