Rubyにjemallocを組み込もうとしたが、うまく行っていない

NyaRuRuさんの日記を読んで(http://d.hatena.ne.jp/NyaRuRu/20080327/p1)、jemallocの入手先が分かったので、Rubyに組み込もうとしました。結果うまく行っていません。

やったこと、

  1. NyaRuRuさんのページの情報を元にFireFox 3.0b4のソースを入手し、その中のmemory/jemalloc.cをチェック
  2. とりあえず、gcc -c -DMOZ_MEMORY jemalloc.cとコンパイルしてみる
  3. ヘッダファイルがないとか色々怒られる。適当にプログラムを修正してなんとか強引にコンパイルを通す

結局、こんなコードがコンパイルできず残りました。

#ifdef MOZ_MEMORY_WINDOWS
	VirtualAlloc(chunk, size, MEM_RESET, PAGE_READWRITE);
#elif (defined(MOZ_MEMORY_DARWIN))
	mmap(chunk, size, PROT_READ | PROT_WRITE, MAP_PRIVATE
	    | MAP_ANON | MAP_FIXED, -1, 0);
#else
	madvise(chunk, size, MADV_FREE);
#endif

うーん、これをCygwinで実現する方法を調べる必要がありそうです。出来るのかなー?
別のOS(Windowsネイティブも含む)だとあっさり組み込めるような気もします。ソースをチラッと見た範囲ではMozillaに依存した記述は見当たらないようだし。