[Message Prev][Message Next][Thread Prev][Thread Next][Message Index][Thread Index]
[MD:2843]Make Portable Dumper fit with Meadow heap manager.
- X-ml-count: 2843
- Subject: [MD:2843]Make Portable Dumper fit with Meadow heap manager.
- From: Yoshiki Hayashi <yoshiki@xxxxxxxxxx>
- Date: 21 Jan 2002 14:44:22 +0900
- User-agent: T-gnus/6.15.3 (based on Oort Gnus v0.03) (revision 06)
MIYASHITA Hisashi(宮下 尚:HIMI) <himi@xxxxxxxxxxx> writes:
> 大まかにはMeadowはstartup時にVirtualAlloc()で、Emacsで使えるaddress空間を
> めいっぱいReserveしようとします。その後、gmalloc/r_alloc経由でやってくる
> morecoreから呼び出されるsbrk()呼び出しで、Reserveされた領域を少しづつcommit
> していくというapproachを取っています。
>
> そういうわけで、Portable Dumperでは、Reserveされた領域の先頭部分を
> Memory Mapped Fileに割り当てるという作業をすれば良いと思います。いまは
> dumpされたheapをそのまま貼り付けているんですが。
>
> しかし、ここで確か落とし穴があって、Windows9x系ではここでMMFが(エンロン騒ぎで
> 落ちている某Fundを思い出すな。)うまく動かないので、Windows9x系では、ReadFileで
> ごまかす必要があったと思います。
手元では Meadow 1.15pre1 の portable dumper 版が一応動いてい
るように見えますので、それを今日か明日に Meadow の CVS に
commit します (専用 branch に)。Windows の方は問答無用で
malloc & read しているので、memory mapped file の実装の方は
よろしくお願いします。
# もし MMF で貼り付ける address がほぼ固定されるのであれば、
# PDUMP_OFFSET で今は hard code している値を変更できるように
# すると、load 時に relocate しなくて良くなってちょっと速く
# なるかもしれません。
--
Yoshiki Hayashi