Author: Remi Meier <remi.me...@gmail.com>
Branch: stmgc-c8
Changeset: r81930:89984a5ade1e
Date: 2016-01-25 10:51 +0100
http://bitbucket.org/pypy/pypy/changeset/89984a5ade1e/

Log:    remove dummy allocation

        AFAICS, we introduced this in C7 to make stop-the-world commits as
        fast as possible. It is only needed for major GCs in C8, so let's
        not pay the overhead.

diff --git a/rpython/jit/backend/llsupport/stmrewrite.py 
b/rpython/jit/backend/llsupport/stmrewrite.py
--- a/rpython/jit/backend/llsupport/stmrewrite.py
+++ b/rpython/jit/backend/llsupport/stmrewrite.py
@@ -137,16 +137,20 @@
         self.handle_getfields(op)
 
     def possibly_add_dummy_allocation(self):
-        if not self.does_any_allocation:
-            # do a fake allocation since this is needed to check
-            # for requested safe-points:
-            self.does_any_allocation = True
+        # was necessary in C7 for others to commit, but in C8 it is only
+        # necessary for requesting major GCs. I think we better avoid this
+        # overhead for tight loops and wait a bit longer in that case.
+        pass
+        # if not self.does_any_allocation:
+        #     # do a fake allocation since this is needed to check
+        #     # for requested safe-points:
+        #     self.does_any_allocation = True
 
-            # minimum size for the slowpath of MALLOC_NURSERY:
-            size = self.gc_ll_descr.minimal_size_in_nursery
-            op = ResOperation(rop.LABEL, []) # temp, will be replaced by 
gen_malloc_nursery
-            assert self._op_malloc_nursery is None # no ongoing allocation
-            self.gen_malloc_nursery(size, op)
+        #     # minimum size for the slowpath of MALLOC_NURSERY:
+        #     size = self.gc_ll_descr.minimal_size_in_nursery
+        #     op = ResOperation(rop.LABEL, []) # temp, will be replaced by 
gen_malloc_nursery
+        #     assert self._op_malloc_nursery is None # no ongoing allocation
+        #     self.gen_malloc_nursery(size, op)
 
     def must_apply_write_barrier(self, val, v):
         # also apply for non-ref values
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to