From: Bruno H. <br...@cl...> - 2017-05-27 19:42:08
|
Hi Vladimir, > I see you've added OLD_GC to revert to pre-MT GC. While adding MT stuff I > tried hard to keep everything "as is" in single thread builds. This is good, and I appreciate it. The principle is that any complex feature should have a simple substitute, so that we can isolate bugs by trying to reproduce them in various configurations. This is the idea behind ENABLE_UNICODE, NO_GENERATIONAL_GC, NO_GETTEXT, and so on. For the GC, there's not only your existing (past) changes. There's also new algorithm alternatives that we may implement in the future, such as - a "1 page per object" model, that may be useful with valgrind, - a "1 new generation per thread" structure, that would make the allocation of a new object in MT lock-less in most cases, - a possible parallel or incremental GC,... The OLD_GC is meant as a reference point, to make it easier to distinguish bugs due to new GC changes from bugs outside the GC. The DEBUG_GCSAFETY instrumentation catches a number of bugs of the latter category, but not all. Bruno |