]> git.llucax.com Git - z.facultad/75.00/informe.git/commitdiff
Hacer variables globales más evidentes en pseudo-código
authorLeandro Lucarella <llucax@gmail.com>
Wed, 29 Sep 2010 01:57:39 +0000 (22:57 -0300)
committerLeandro Lucarella <llucax@gmail.com>
Wed, 29 Sep 2010 02:05:29 +0000 (23:05 -0300)
source/dgc.rst

index 1c0b84b37040157a1b6b640a00779722a2a6ad38..90192467994cf1e5f9e25bb6142a9d52e5ab8a9c 100644 (file)
@@ -455,7 +455,7 @@ Esta fase consiste de varios pasos, que pueden resumirse en el siguiente
 algoritmo::
 
    function mark_phase() is
-      more_to_scan = false
+      global more_to_scan = false
       stop_the_world()
       clear_mark_scan_bits()
       mark_free_lists()
@@ -559,7 +559,7 @@ una celda (o bloque) no se siguen sus *hijas*, solo se activa el bit de *scan*
          block.mark = true
          if block.noscan is false
             block.scan = true
-            more_to_scan = true
+            global more_to_scan = true
 
 Por lo tanto en este punto, tenemos todas las celdas inmediatamente
 alcanzables desde el *root set* marcadas y con el bit *scan* activado si la
@@ -568,8 +568,8 @@ forma conservativa) iterativamente todo el *heap* hasta que no hayan más
 celdas para visitar (con el bit *scan* activo)::
 
    function mark_heap() is
-      while more_to_scan
-         more_to_scan = false
+      while global more_to_scan
+         global more_to_scan = false
          foreach pool in heap
             foreach page in pool
                if page.block_size <= PAGE // saltea FREE y CONTINUATION