Author: wenzhuman <manwen...@gmail.com>
Branch: gc-two-end-nursery
Changeset: r72083:395364919ac7
Date: 2014-06-17 01:43 -0400
http://bitbucket.org/pypy/pypy/changeset/395364919ac7/

Log:    add gctransformer level operation

diff --git a/rpython/memory/gctransform/framework.py 
b/rpython/memory/gctransform/framework.py
--- a/rpython/memory/gctransform/framework.py
+++ b/rpython/memory/gctransform/framework.py
@@ -844,6 +844,19 @@
                   resultvar=op.result)
         self.pop_roots(hop, livevars)
 
+    def gct_do_malloc_fixedsize(self, hop):
+        op = hop.spaceop
+        [v_typeid, v_size,
+         v_has_finalizer, v_has_light_finalizer, v_contains_weakptr] = op.args
+        livevars = self.push_roots(hop) 
+        hop.genop("direct_call",
+                  [self.malloc_fixedsize_clear_ptr, self.c_const_gc,
+                   v_typeid, v_size,
+                   v_has_finalizer, v_has_light_finalizer,
+                   v_contains_weakptr],
+                  resultvar=op.result)
+        self.pop_roots(hop, livevars)
+        
     def gct_do_malloc_varsize_clear(self, hop):
         # used by the JIT (see rpython.jit.backend.llsupport.gc)
         op = hop.spaceop
_______________________________________________
pypy-commit mailing list
pypy-commit@python.org
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to