some not-so-random questions

Jan Bottorff janb at pmatrix.com
Tue Nov 3 21:46:42 UTC 1998


At 09:53 AM 11/3/98 -0800, Tim Rowledge wrote:
>Windows? Hmm, how about actually allocating a huge virtual space but
pretending
>to the VM that you only have as much as the -memory param asked for. Then to
>expand, you just change that 'fake' boundary. The only trick that springs to
>mind is remembering to reset the size of the free chunk at the top of memory.
>
>Shrinking object space wouldn't be much harder from the VM point of view,
>though I'm not sure whether the released memory would get back to the OS pool
>very efectively.

This is trivial to do under Windows. Just do a VirtualAlloc of a huge chunk
of uncommitted address space on startup (like 512 MBytes), and then commit
the pages as needed. You can do multiple linear arrays of memory that can
each grow independently as needed. For example, old/perm space, large
space, code cache space. This seems like just the ticket for interesting
memory managers. You can also uncommmit the pages (without deallocating the
address space) to give memory back to the os.

What's missing is an "ignore the contents of some pages to make them clean,
so they won't be paged out", like after a new space sweep.

- Jan

___________________________________________________________________
            Paradigm Matrix Inc., San Ramon California
   "video products and development services for Win32 platforms"
Internet: Jan Bottorff janb at pmatrix.com
          WWW          http://www.pmatrix.com
Phone: voice  (925) 803-9318
       fax    (925) 803-9397
PGP: public key  <http://www-swiss.ai.mit.edu/~bal/pks-toplev.html>
     fingerprint  52 CB FF 60 91 25 F9 44  6F 87 23 C9 AB 5D 05 F6
___________________________________________________________________





More information about the Squeak-dev mailing list