[pypy-commit] pypy gc-hooks: move the if gc_*_enabled checks inside the fire_* methods

antocuni pypy.commits at gmail.com
Sat Mar 31 06:07:41 EDT 2018


Author: Antonio Cuni <anto.cuni at gmail.com>
Branch: gc-hooks
Changeset: r94194:def5c83256cc
Date: 2018-03-31 11:49 +0200
http://bitbucket.org/pypy/pypy/changeset/def5c83256cc/

Log:	move the if gc_*_enabled checks inside the fire_* methods

diff --git a/rpython/memory/gc/hook.py b/rpython/memory/gc/hook.py
--- a/rpython/memory/gc/hook.py
+++ b/rpython/memory/gc/hook.py
@@ -15,7 +15,6 @@
         self.gc_collect_step_enabled = False
         self.gc_collect_enabled = False
 
-
     def on_gc_minor(self, total_memory_used, pinned_objects):
         """
         Called after a minor collection
@@ -44,16 +43,19 @@
 
     @rgc.no_collect
     def fire_gc_minor(self, total_memory_used, pinned_objects):
-        self.on_gc_minor(total_memory_used, pinned_objects)
+        if self.gc_minor_enabled:
+            self.on_gc_minor(total_memory_used, pinned_objects)
 
     @rgc.no_collect
     def fire_gc_collect_step(self, oldstate, newstate):
-        self.on_gc_collect_step(oldstate, newstate)
+        if self.gc_collect_step_enabled:
+            self.on_gc_collect_step(oldstate, newstate)
 
     @rgc.no_collect
     def fire_gc_collect(self, count, arenas_count_before, arenas_count_after,
                         arenas_bytes, rawmalloc_bytes_before,
                         rawmalloc_bytes_after):
-        self.on_gc_collect(count, arenas_count_before, arenas_count_after,
-                           arenas_bytes, rawmalloc_bytes_before,
-                           rawmalloc_bytes_after)
+        if self.gc_collect_enabled:
+            self.on_gc_collect(count, arenas_count_before, arenas_count_after,
+                               arenas_bytes, rawmalloc_bytes_before,
+                               rawmalloc_bytes_after)
diff --git a/rpython/memory/gc/incminimark.py b/rpython/memory/gc/incminimark.py
--- a/rpython/memory/gc/incminimark.py
+++ b/rpython/memory/gc/incminimark.py
@@ -1838,9 +1838,8 @@
         self.root_walker.finished_minor_collection()
         #
         debug_stop("gc-minor")
-        if self.hooks.gc_minor_enabled:
-            self.hooks.fire_gc_minor(total_memory_used=total_memory_used,
-                                   pinned_objects=self.pinned_objects_in_nursery)
+        self.hooks.fire_gc_minor(total_memory_used=total_memory_used,
+                               pinned_objects=self.pinned_objects_in_nursery)
 
     def _reset_flag_old_objects_pointing_to_pinned(self, obj, ignore):
         ll_assert(self.header(obj).tid & GCFLAG_PINNED_OBJECT_PARENT_KNOWN != 0,
@@ -2424,14 +2423,13 @@
                             self.stat_rawmalloced_total_size, " => ",
                             self.rawmalloced_total_size)
                 debug_stop("gc-collect-done")
-                if self.hooks.gc_collect_enabled:
-                    self.hooks.fire_gc_collect(
-                        count=self.num_major_collects,
-                        arenas_count_before=self.stat_ac_arenas_count,
-                        arenas_count_after=self.ac.arenas_count,
-                        arenas_bytes=self.ac.total_memory_used,
-                        rawmalloc_bytes_before=self.stat_rawmalloced_total_size,
-                        rawmalloc_bytes_after=self.rawmalloced_total_size)
+                self.hooks.fire_gc_collect(
+                    count=self.num_major_collects,
+                    arenas_count_before=self.stat_ac_arenas_count,
+                    arenas_count_after=self.ac.arenas_count,
+                    arenas_bytes=self.ac.total_memory_used,
+                    rawmalloc_bytes_before=self.stat_rawmalloced_total_size,
+                    rawmalloc_bytes_after=self.rawmalloced_total_size)
                 #
                 # Set the threshold for the next major collection to be when we
                 # have allocated 'major_collection_threshold' times more than
@@ -2483,9 +2481,8 @@
 
         debug_print("stopping, now in gc state: ", GC_STATES[self.gc_state])
         debug_stop("gc-collect-step")
-        if self.hooks.gc_collect_step_enabled:
-            self.hooks.fire_gc_collect_step(oldstate=oldstate,
-                                          newstate=self.gc_state)
+        self.hooks.fire_gc_collect_step(oldstate=oldstate,
+                                      newstate=self.gc_state)
 
     def _sweep_old_objects_pointing_to_pinned(self, obj, new_list):
         if self.header(obj).tid & GCFLAG_VISITED:


More information about the pypy-commit mailing list