summaryrefslogtreecommitdiffstats
path: root/src/uctx.h
Commit message (Collapse)AuthorAgeFilesLines
* libtf: major redesign startedHEADmasterTimo Teräs2010-07-021-15/+26
| | | | | | | | | | the idea is to make libtf completely multi-threaded. meaning each fiber can be running concurrently in separate thread. quite a bit of framework is added for this and some atomic helpers are already introduced. however, io polling is busy polling now (will be soon in own thread) and timeouts are still more or less broken. oh, and the multithreading core is not there yet. basically we are currently mostly broken ;)
* mem: add mmap allocatorTimo Teras2010-03-101-2/+5
| | | | use it for heaps and fiber stacks.
* libtf: fix stack frame creation and valgrind issuesTimo Teras2010-03-101-11/+9
| | | | | debugging looks now better. there was also some valgrind issues that needed attention.
* libtf: separate scheduler fibre, change the core apiTimo Teras2010-03-101-35/+47
|
* libtf: optimize x86 fiber switchingTimo Teras2009-12-011-15/+24
| | | | | by letting gcc figure out better how to represent stack pointers. also uses labels to make the code more readable.
* libtf: implement x86 assembly fiber switchingTimo Teras2009-11-271-0/+134
it's faster and has smaller context in the beginning of the fiber. it's also required since setjmp() seems to use mangled pointers in glibc so we could not schedule fibers in non-creation threads. additionally the setjmp() setup code has a race condition.