On 15 March 2016 at 19:45, Bill Hart <[email protected]> wrote:

>
>> >
>> > I noticed in the code that it looks like things get promoted if they
>> survive
>> > more than 2 generations (currently). But what happens to the objects
>> between
>>
>> more than 2 collection*
>>
>
> I see, so collections can happen at any time, not when some block of
> memory is "full".
>

Actually, let me ask this a bit more precisely.

Suppose a collection has occurred. Then there are big gaps where memory has
been reclaimed, between blocks that are still in use. If there is no
copying collector, how does the gc avoid fragmentation?

I see that each page of memory is released as it is found to contain no
objects still in use. Is that the only mechanism used to control
fragmentation?

Bill.

Reply via email to