Please sign in to comment.
Greatly improved memory management
There were a lot of problems with garbage collection before, particularly with infinite loop generators. The problem is that the handle to the fiber was always held in a deadlock, since we pass it as the `this` context to the Fiber entry. So now `yield()` is a global, to avoid this problem. Additionally we are now giving v8 proper hints for externally-allocated memory, so it can handle garbage collection better. Also the coroutine library can free finished coroutines correctly now. Incidentally, node-fibers doesn't use any node-specific API's anymore; if you change the node.h include to be v8.h, it will still compile and run just fine.
- Loading branch information...
Showing with 206 additions and 84 deletions.
Oops, something went wrong.