[PATCH] ggc-page loop

Nathan Sidwell nathan@acm.org
Tue May 2 23:50:00 GMT 2017


This loop in ggc-page confused me, because the iterator is one greater than the 
indexing value.  Also the formatting of the array indexing is incorrect.

Fixed thusly, and applied as obvious after booting on x86_64-linux-gnu

nathan
-- 
Nathan Sidwell
-------------- next part --------------
2017-05-02  Nathan Sidwell  <nathan@acm.org>

	* ggc-page.c (move_ptes_to_front): Replace unsigned >0 with i--
	check.  Fix formatting.

Index: ggc-page.c
===================================================================
--- ggc-page.c	(revision 247528)
+++ ggc-page.c	(working copy)
@@ -2507,8 +2507,6 @@ ggc_pch_finish (struct ggc_pch_data *d,
 static void
 move_ptes_to_front (int count_old_page_tables, int count_new_page_tables)
 {
-  unsigned i;
-
   /* First, we swap the new entries to the front of the varrays.  */
   page_entry **new_by_depth;
   unsigned long **new_save_in_use;
@@ -2536,10 +2534,10 @@ move_ptes_to_front (int count_old_page_t
   G.save_in_use = new_save_in_use;
 
   /* Now update all the index_by_depth fields.  */
-  for (i = G.by_depth_in_use; i > 0; --i)
+  for (unsigned i = G.by_depth_in_use; i--;)
     {
-      page_entry *p = G.by_depth[i-1];
-      p->index_by_depth = i-1;
+      page_entry *p = G.by_depth[i];
+      p->index_by_depth = i;
     }
 
   /* And last, we update the depth pointers in G.depth.  The first


More information about the Gcc-patches mailing list