The present invention relates to a method of delaying space allocation for
parallel copying garbage collection in a data processing system comprising
a memory divided in a current area (from-space) used by at least a program
thread during current program execution and reserve area (to-space), and
wherein a copying garbage collection is run in parallel by several
collector threads, the garbage collection consisting in stopping the
program threads and flipping the roles of the current area and reserved
area before copying into the reserved area the live objects stored in the
current area. Such a method comprises the steps of checking (12) by one
collector thread the live objects of the current area to be copied in said
reserved area, the live objects being referenced by a list of pointers;
storing for each live object, a record into an allocation log, this record
including at least the address of the object and its size; adding (14) the
object size to a total_size which is the accumulated size of all the
checked objects for which a record has been stored in the allocation log;
and copying (20) all the checked objects into the reserved area when the
value of total_size reaches a predetermined allocation bound.