At 1:22 PM -0800 3/3/99, Mike Pellegrino wrote:
>Now if I hooked the OS functions (I haven't looked into this), then this
>becomes a non-issue because all OS calls to MemHandleX and MemPtrX are
>routed through the VMM. In that case, we can afford to be less polite.
This is a really interesting thread, by the way.
I still have a feeling that you won't actually be able to move that much
out of the dynamic heap. Before you spend a lot more time on this, you
should probably do some analysis first.
Without an MMU, the pointers or locked chunks have to be located where the
address says they are, and you can't go moving them around. That means the
only candidates for VM-ing are unlocked handles. Right? Well, in general
there just aren't that many of them.
Which means that what you're really trying to do boils down to combining a
copy to a new dynamic chunk with a call to MemHandleLock when accessing
storage chunks. Then you can freely read/write these things, and when you
unlock them they get copied back to the storage heap in one DmWrite.
...but that's not really all that difficult to do with current APIs. In
fact, you could probably even do it with a couple of #defines.
Or am I missing something? (It's possible that I am -- from mid-Friday
last week until Tuesday morning I was accidently unsubscribed from this
list, so I missed the middle of this discussion.)
--Bob