]> granicus.if.org Git - gc/commitdiff
2011-05-07 Ivan Maidanski <ivmai@mail.ru>
authorivmai <ivmai>
Sat, 7 May 2011 19:04:25 +0000 (19:04 +0000)
committerIvan Maidanski <ivmai@mail.ru>
Tue, 26 Jul 2011 17:06:58 +0000 (21:06 +0400)
* alloc.c (GC_clear_a_few_frames): Use BZERO().
* mark_rts.c (GC_clear_roots, GC_rebuild_root_index): Ditto.
* reclaim.c (GC_start_reclaim): Ditto.
* blacklst.c (total_stack_black_listed): Remove "len" local
variable.
* dbg_mlc.c (GC_generate_random_valid_address): Replace "for"
statement with "do-while" one.
* dyn_load.c (GC_register_dynamic_libraries,
GC_register_dynlib_callback): Remove redundant parentheses.

ChangeLog
alloc.c
blacklst.c
dbg_mlc.c
dyn_load.c
mark_rts.c
reclaim.c

index 6131fa4d6f3ccc1aec92fb834c02541ade4e8a39..d3a23113cbfa9655efa57aa813adeb0b3f83b562 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,15 @@
+2011-05-07  Ivan Maidanski  <ivmai@mail.ru>
+
+       * alloc.c (GC_clear_a_few_frames): Use BZERO().
+       * mark_rts.c (GC_clear_roots, GC_rebuild_root_index): Ditto.
+       * reclaim.c (GC_start_reclaim): Ditto.
+       * blacklst.c (total_stack_black_listed): Remove "len" local
+       variable.
+       * dbg_mlc.c (GC_generate_random_valid_address): Replace "for"
+       statement with "do-while" one.
+       * dyn_load.c (GC_register_dynamic_libraries,
+       GC_register_dynlib_callback): Remove redundant parentheses.
+
 2011-05-06  Ivan Maidanski  <ivmai@mail.ru>
 
        * cord/cordxtra.c (CORD_from_file_lazy_inner): Suppress
diff --git a/alloc.c b/alloc.c
index df77781fbd636ecc91356c3c1cab3d4278e28534..592535217c41fdd75bd72b953f5fb3f8bb6e5e40 100644 (file)
--- a/alloc.c
+++ b/alloc.c
@@ -285,9 +285,7 @@ STATIC void GC_clear_a_few_frames(void)
 #     define CLEAR_NWORDS 64
 #   endif
     volatile word frames[CLEAR_NWORDS];
-    int i;
-
-    for (i = 0; i < CLEAR_NWORDS; i++) frames[i] = 0;
+    BZERO((word *)frames, CLEAR_NWORDS * sizeof(word));
 }
 
 /* Heap size at which we need a collection to avoid expanding past      */
index a6df693380dcc0b29799c7f2734d7d873c865d44..9fd00167f206fec15af2c9f51ef9eaf39d1fdfd3 100644 (file)
@@ -281,8 +281,7 @@ static word total_stack_black_listed(void)
 
     for (i = 0; i < GC_n_heap_sects; i++) {
         struct hblk * start = (struct hblk *) GC_heap_sects[i].hs_start;
-        size_t len = (word) GC_heap_sects[i].hs_bytes;
-        struct hblk * endp1 = start + len/HBLKSIZE;
+        struct hblk * endp1 = start + GC_heap_sects[i].hs_bytes/HBLKSIZE;
 
         total += GC_number_stack_black_listed(start, endp1);
     }
index c3d9e77f0a40feccac2f21832377f903ea2f1b1a..c2820602f93bcd6714ea6d80b10b02ea5d2e92a7 100644 (file)
--- a/dbg_mlc.c
+++ b/dbg_mlc.c
@@ -171,13 +171,11 @@ GC_INNER void GC_default_print_heap_obj_proc(ptr_t p);
   {
     ptr_t result;
     ptr_t base;
-    for (;;) {
-        result = GC_generate_random_heap_address();
-        base = GC_base(result);
-        if (0 == base) continue;
-        if (!GC_is_marked(base)) continue;
-        return result;
-    }
+    do {
+      result = GC_generate_random_heap_address();
+      base = GC_base(result);
+    } while (base == 0 || !GC_is_marked(base));
+    return result;
   }
 
   /* Print back trace for p */
index 9cc854dbc9745f44a0efe386e49a8ca4e0b69035..a00e0102873b49086bb86bef1789a82a6c41c03d 100644 (file)
@@ -189,9 +189,7 @@ GC_INNER void GC_register_dynamic_libraries(void)
   struct link_map *lm = GC_FirstDLOpenedLinkMap();
 
 
-  for (lm = GC_FirstDLOpenedLinkMap();
-       lm != (struct link_map *) 0;  lm = lm->l_next)
-    {
+  for (lm = GC_FirstDLOpenedLinkMap(); lm != 0; lm = lm->l_next) {
         ElfW(Ehdr) * e;
         ElfW(Phdr) * p;
         unsigned long offset;
@@ -205,7 +203,7 @@ GC_INNER void GC_register_dynamic_libraries(void)
 #       endif
         p = ((ElfW(Phdr) *)(((char *)(e)) + e->e_phoff));
         offset = ((unsigned long)(lm->l_addr));
-        for( i = 0; i < (int)(e->e_phnum); ((i++),(p++)) ) {
+        for( i = 0; i < (int)e->e_phnum; i++, p++ ) {
           switch( p->p_type ) {
             case PT_LOAD:
               {
@@ -454,7 +452,7 @@ STATIC int GC_register_dynlib_callback(struct dl_phdr_info * info,
     return -1;
 
   p = info->dlpi_phdr;
-  for( i = 0; i < (int)(info->dlpi_phnum); ((i++),(p++)) ) {
+  for( i = 0; i < (int)info->dlpi_phnum; i++, p++ ) {
     switch( p->p_type ) {
 #     ifdef PT_GNU_RELRO
         case PT_GNU_RELRO:
@@ -681,8 +679,7 @@ GC_INNER void GC_register_dynamic_libraries(void)
     }
 # endif
   lm = GC_FirstDLOpenedLinkMap();
-  for (lm = GC_FirstDLOpenedLinkMap();
-       lm != (struct link_map *) 0;  lm = lm->l_next)
+  for (lm = GC_FirstDLOpenedLinkMap(); lm != 0;  lm = lm->l_next)
     {
         ElfW(Ehdr) * e;
         ElfW(Phdr) * p;
@@ -697,7 +694,7 @@ GC_INNER void GC_register_dynamic_libraries(void)
 #       endif
         p = ((ElfW(Phdr) *)(((char *)(e)) + e->e_phoff));
         offset = ((unsigned long)(lm->l_addr));
-        for( i = 0; i < (int)(e->e_phnum); ((i++),(p++)) ) {
+        for( i = 0; i < (int)e->e_phnum; i++, p++ ) {
           switch( p->p_type ) {
             case PT_LOAD:
               {
@@ -1066,7 +1063,6 @@ GC_INNER void GC_register_dynamic_libraries(void)
 
       /* For each region in this module */
         for (region = 0; region < moduleinfo.lmi_nregion; region++) {
-
           /* Get the region information */
             status = ldr_inq_region(mypid, moduleid, region, &regioninfo,
                                     regioninfosize, &regionreturnsize);
@@ -1471,10 +1467,8 @@ GC_INNER GC_bool GC_register_main_static_data(void)
       for (q = p -> lf_ls; q != NIL; q = q -> ls_next) {
         if ((q -> ls_flags & PCR_IL_SegFlags_Traced_MASK)
             == PCR_IL_SegFlags_Traced_on) {
-          GC_add_roots_inner
-                  ((char *)(q -> ls_addr),
-                   (char *)(q -> ls_addr) + q -> ls_bytes,
-                   TRUE);
+          GC_add_roots_inner((char *)(q -> ls_addr),
+                             (char *)(q -> ls_addr) + q -> ls_bytes, TRUE);
         }
       }
     }
index 3ae8e614ee91908ba3a15ca498aea41eb9cd8512..02acf3bd40c54a3cf3f4568b02908631dcb1714b 100644 (file)
@@ -251,10 +251,7 @@ GC_API void GC_CALL GC_clear_roots(void)
     n_root_sets = 0;
     GC_root_size = 0;
 #   if !defined(MSWIN32) && !defined(MSWINCE) && !defined(CYGWIN32)
-      {
-        int i;
-        for (i = 0; i < RT_SIZE; i++) GC_root_index[i] = 0;
-      }
+      BZERO(GC_root_index, RT_SIZE * sizeof(void *));
 #   endif
     UNLOCK();
 }
@@ -273,8 +270,7 @@ STATIC void GC_remove_root_at_pos(int i)
   STATIC void GC_rebuild_root_index(void)
   {
     int i;
-
-    for (i = 0; i < RT_SIZE; i++) GC_root_index[i] = 0;
+    BZERO(GC_root_index, RT_SIZE * sizeof(void *));
     for (i = 0; i < n_root_sets; i++)
         add_roots_to_index(GC_static_roots + i);
   }
index c9e8e530b990ff0fe71d617e0469c4b68be6011a..68dd1b9842995e7996ed2b99ae3e81a391161c2f 100644 (file)
--- a/reclaim.c
+++ b/reclaim.c
@@ -511,8 +511,6 @@ GC_INNER void GC_start_reclaim(GC_bool report_if_found)
       for (kind = 0; kind < GC_n_kinds; kind++) {
         void **fop;
         void **lim;
-        struct hblk ** rlp;
-        struct hblk ** rlim;
         struct hblk ** rlist = GC_obj_kinds[kind].ok_reclaim_list;
         GC_bool should_clobber = (GC_obj_kinds[kind].ok_descriptor != 0);
 
@@ -530,10 +528,7 @@ GC_INNER void GC_start_reclaim(GC_bool report_if_found)
             }
         } /* otherwise free list objects are marked,    */
           /* and its safe to leave them                 */
-        rlim = rlist + MAXOBJGRANULES+1;
-        for( rlp = rlist; rlp < rlim; rlp++ ) {
-            *rlp = 0;
-        }
+        BZERO(rlist, (MAXOBJGRANULES + 1) * sizeof(void *));
       }