X-Git-Url: https://git.llucax.com/z.facultad/75.00/informe.git/blobdiff_plain/42683a0599349aaa0543508dc47672a37fbaf84c..refs/heads/master:/source/gc.rst?ds=sidebyside diff --git a/source/gc.rst b/source/gc.rst index e4c6be5..66c64bd 100644 --- a/source/gc.rst +++ b/source/gc.rst @@ -1730,13 +1730,13 @@ recolectores deben estar íntimamente relacionados con el *low level allocator*, ya que la organización del *heap* y la forma de asignar memoria es parte fundamental de este algoritmo. Se asume que ya hay dos áreas de memoria del mismo tamaño destinadas al *Fromspace* y *Tospace*, y la existencia de -4 variables: ``fromspace`` (que apunta a la base del *Fromspace*), ``tospace`` -(que apunta a la base del *Tospace*), ``spacesize`` (que contiene el tamaño de -un semi-espacio) y ``free`` (que apunta al lugar del *Fromspace* donde -comienza la memoria libre). También vale aclarar que este algoritmo soporta -inherentemente celdas de tamaño variable, por lo que los servicios ``alloc()`` -y ``new()`` [#gccopynew]_ reciben como parámetro el tamaño de la celda -a asignar:: +4 variables globales: ``fromspace`` (que apunta a la base del *Fromspace*), +``tospace`` (que apunta a la base del *Tospace*), ``spacesize`` (que contiene +el tamaño de un semi-espacio) y ``free`` (que apunta al lugar del *Fromspace* +donde comienza la memoria libre). También vale aclarar que este algoritmo +soporta inherentemente celdas de tamaño variable, por lo que los servicios +``alloc()`` y ``new()`` [#gccopynew]_ reciben como parámetro el tamaño de la +celda a asignar:: function alloc(size) is if free + size > fromspace + spacesize