There is always enough space in gen1 to promote the whole gen0. It is
guaranteed by the code in gc_heap::allocate_semi_space:
//do we have enough room for the whole gen0 allocation
// plus the promoted gen 0 in the current segment.
-Jan
This posting is provided "AS IS" with no warranties, and confers no
rights.
-----Original Message-----
From: Discussion of the Rotor Shared Source CLI implementation
[mailto:[EMAIL PROTECTED] On Behalf Of Pedro Felix
Sent: Tuesday, July 15, 2003 6:37 AM
To: [EMAIL PROTECTED]
Subject: [DOTNET-ROTOR] GC: overflow in gen1 while promoting
I've the flowwing question regarding the GC in Rotor.
When promoting gen0 survivors to gen1 (copy_phase) the
function "copy_object_simple" calls "allocate_in_older_generation" to
allocate space in gen1. Is it possible to gen1 to be full at this
moment,
which would require a GC in gen1 (mark-and-sweep)?
I followed the "allocate_in_older_generation" and didn't found any
traces
of a GC. If it is not possible, how is this guaranteed.
I thank in advance
P. Felix