For #958, I droped NativeCodePage dependency, it makes no need for writting the machine code to makes dummy slots at all.

I was thinking is it possible to keep thouse clr moduel alive after domain reload. I may try to implement it if I could.


Actually, it won't be easy to make #1016 pass all tests as an independency, since many pre conditions are not completed. Like some refcnt fixes it doesn't possess.

For achieving the soft shutdown, I have to fixes some flaws and bugs whiches on master branch in #958. That making the PR become biger and biger(some are the optimizations I added passingly).

Thouse bugs maybe insignificances(reference count error, memory leaks, etc.) on master branch, be they may be the criticals when you try to reset the python runtime, you have to wipe them out first.


About those weird crashes in other branches, they're not the odd. since I fixed the bugs I found in my branch, I have great confidence that if you try to merge #958 into them, they may pass. So I still recommend merge #958 directly, split them just reduce efficiency, because I have to consider the merge order if I need all tests pass. But now the efficiency of merge progress is worse. #1016 may be the one very close the final one if it have to be split.