From: Cyrus H. <ch...@bo...> - 2005-05-31 17:46:21
|
The bits in the following patch were first submitted in conjunction with the 768M dynamic space patch for ppc. Now that the 768M dynamic space has been merged and a few other dynamic space cleanups have been made, I've resolved the conflicts and resubmit the following patch. The main improvement is that (room) can now report the amount of dynamic space available: CL-USER> (room) Dynamic space usage is: 24,756,504 bytes. Dynamic space available is: 780,543,888 bytes. Read-only space usage is: 19,120,664 bytes. ... In theory, the dynamic_space_end could be used to make sure that we don't try to allocate off the end of the dynamic space, which we still allow, but it seems to me that at least keeping track of the dynamic space end is a good thing and a step in the right direction. Currently, AFAIUI, if we allocate more memory than available in the dynamic space, we die a horrible screaming death on GC. I'm not sure what the best way to do this on gencgc are, so the (room) bits are #!-gencgc, but current_dyamic_space_end should be set properly on gencgc. The main changes required to support this are: 1. add a new C variable current_dynamic_space_end 2. add #!-gencgc dynamic-avail function that tells how much dynamic space is left 3. room calls dynamic-avail (#!-gencgc of course) 4. cheneygc.c updates current_dynamic_end when switching spaces Thanks, Cyrus |