D-Programming-Language/druntime — pull request #107 by dawgfoto (2011-12-17 19:04:29+00:00)
Title: Refactor module info

- unittest module topological sorting
- move implementation from object_.d into own rt module
- remove GC allocations
- remove TLS ctor declarations from object.di
- remove accessing of global data during sorting
- consistently prefix extern(C) interface with 'rt_'

This is partly a preparation for shared library support in the runtime where
other runtime modules will need to interact with the module infos.

Possible future improvements:
- let _minit(windows asm) return an array rather than accessing
an extern global variable
- further cleanup of of sorting algorithm, recheck it's complexity needs,
avoid excessive alloca/recursion