Privileged instruction 5

マルチスレッドは関係ないということと、削除(remove)をしていると現象が起こるというところまでわかりましたが、削除後必ずrehashすると起こらないということがわかったので、とりあえずはこれで対応します。
しかし、削除があるたびにrehashするのは、かなり効率が悪いので、もうこの際ここは自分で作ろうと思います。
一応、aaA.dを見てみたのですが、そう凝っていない作りだったので、自分で実装しても大してパフォーマンスが落ちたりはないかなと。
(そもそもバランス木を使えばrehashなんて必要ない気がするんだが・・)

Dの連想配列がバグっているとは思っていないのですが、バグを追うにしてもコンパイラまで絡んでくるところよりは、自分で作ったクラスのほうが追いやすいかなと思うので、これは決定。

http://www.digitalmars.com/d/archives/16678.html
http://www.digitalmars.com/d/archives/16729.html
この人も同じようなことおきていたみたい。
直っていないといっているのが少し気になる。

んで、次のバグ。

30分くらい起動しておくと、毎秒3MBくらいの勢いでぐんぐんメモリ使用率が増えていって最終的に350MBくらい使ったところで、Windowsがものすごく重くなって全体的に固まる。

↑最悪。
GCがあるのでメモリリークはしないと思っているんだけど・・・、これもrehashの影響であって欲しい・・。