A data processing apparatus for handling multi-thread programs comprises a
data processor coupled with a random-access memory (HM) containing a
plurality of data objects (DO). Each data object is accessed via
respective pointers carried by memory stacks (SF) associated with
respective threads. Periodically, a garbage collection procedure is
applied to the random-access memory with those data objects (DO) having no
extant pointers thereto from any source being identified and deleted.
Subject to a locking constraint applied to some of the data objects, the
remainder are compacted to free space in the memory (HM). To enable
localizing of the garbage collection procedure, reference stacks (RS) are
provided for each thread stack frame (SF) such as to identify, preferably
via a per-thread reference table (TT), data objects (DO) referenced from
only a single frame, which objects are deleted on conclusion of that
frame.
Un aparato de proceso de datos para manejar programas multi-thread abarca un informático juntado con una memoria de acceso aleatorio (HM) que contiene una pluralidad de objetos de los datos (). Cada objeto de los datos está alcanzado vía los indicadores respectivos llevados por los apilados de memoria (SF) asociados a los hilos de rosca respectivos. Periódicamente, un procedimiento de la colección de la basura se aplica a la memoria de acceso aleatorio con esos objetos de los datos () que no tienen ningún indicador extant además de cualquier fuente que es identificada y suprimida. Conforme a un constreñimiento de fijación aplicado a algunos de los objetos de los datos, el resto se condensa para liberar el espacio en la memoria (HM). Para permitir localizar del procedimiento de la colección de la basura, los apilados de la referencia (RS) se proporcionan para cada marco del apilado del hilo de rosca (SF) por ejemplo para identificar, vía por-roscan preferiblemente la tabla de la referencia (TT), objetos de los datos () referidos solamente de un solo marco, que los objetos se suprimen en la conclusión de ese bastidor.