Author: Maciej Fijalkowski <fij...@gmail.com> Branch: gc-minimark-pinning Changeset: r54339:175be1a2c933 Date: 2012-04-13 17:27 +0200 http://bitbucket.org/pypy/pypy/changeset/175be1a2c933/
Log: transform gc support diff --git a/pypy/rpython/memory/gctransform/framework.py b/pypy/rpython/memory/gctransform/framework.py --- a/pypy/rpython/memory/gctransform/framework.py +++ b/pypy/rpython/memory/gctransform/framework.py @@ -446,6 +446,10 @@ [s_gc, annmodel.SomeInteger(nonneg=True)], annmodel.s_None) + self.pin_ptr = getfn(GCClass.pin, + [s_gc, annmodel.SomeAddress()], annmodel.s_None) + self.unpin_ptr = getfn(GCClass.unpin, + [s_gc, annmodel.SomeAddress()], annmodel.s_None) self.write_barrier_ptr = None self.write_barrier_from_array_ptr = None @@ -747,6 +751,14 @@ hop.genop("direct_call", [self.can_move_ptr, self.c_const_gc, v_addr], resultvar=op.result) + def gct_gc_pin(self, hop): + op = hop.spaceop + hop.genop("direct_call", [self.pin_ptr, self.c_const_gc, op.args[0]]) + + def gct_gc_unpin(self, hop): + op = hop.spaceop + hop.genop("direct_call", [self.unpin_ptr, self.c_const_gc, op.args[0]]) + def gct_shrink_array(self, hop): if self.shrink_array_ptr is None: return GCTransformer.gct_shrink_array(self, hop) _______________________________________________ pypy-commit mailing list pypy-commit@python.org http://mail.python.org/mailman/listinfo/pypy-commit