Author: Armin Rigo <[email protected]>
Branch: stmgc-c4
Changeset: r66921:1bc89ff1af70
Date: 2013-09-12 11:06 +0200
http://bitbucket.org/pypy/pypy/changeset/1bc89ff1af70/

Log:    Baaah. jit_assembler_call() needs to say canmallocgc=True. To be
        on the safe side, also say canraise=Exc. I guess that indirect_call
        is special-cased by various anaysis, but not jit_assembler_call.

diff --git a/rpython/rtyper/lltypesystem/lloperation.py 
b/rpython/rtyper/lltypesystem/lloperation.py
--- a/rpython/rtyper/lltypesystem/lloperation.py
+++ b/rpython/rtyper/lltypesystem/lloperation.py
@@ -507,7 +507,9 @@
     'get_write_barrier_from_array_failing_case': LLOp(sideeffects=False),
     'gc_get_type_info_group': LLOp(sideeffects=False),
     'll_read_timestamp': LLOp(canrun=True),
-    'jit_assembler_call': LLOp(canrun=True),   # similar to an 'indirect_call'
+    'jit_assembler_call': LLOp(canrun=True,   # similar to an 'indirect_call'
+                               canraise=(Exception,),
+                               canmallocgc=True),
 
     # __________ GC operations __________
 
_______________________________________________
pypy-commit mailing list
[email protected]
https://mail.python.org/mailman/listinfo/pypy-commit

Reply via email to