A method is provided enabling concurrent garbage collection of a young
generation of a task with other tasks executing in a multi-tasking
virtual machine. A first record is provided for each thread which has a
value in an old generation memory after each thread successfully
allocates an object in the old generation memory. A second record is
provided for each thread which has a memory address value. Threads of a
garbage-collecting task are stopped and an end of scan value for the task
is calculated. Garbage collection on threads associated the
garbage-collected task are permitted when one of two conditions involving
either second records or second records and first records are met.