Author: Remi Meier <[email protected]>
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
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit