Commits

Armin Rigo committed 87bf117 Merge

merge heads

  • Participants
  • Parent commits 765ff6e, 87a5aca

Comments (0)

Files changed (3)

File pypy/jit/metainterp/optimizeopt/__init__.py

                 optimizations.append(OptFfiCall())
 
     if ('rewrite' not in enable_opts or 'virtualize' not in enable_opts
-        or 'heap' not in enable_opts or 'unroll' not in enable_opts):
+        or 'heap' not in enable_opts or 'unroll' not in enable_opts
+        or 'pure' not in enable_opts):
         optimizations.append(OptSimplify())
 
     return optimizations, unroll

File pypy/jit/metainterp/optimizeopt/heap.py

             opnum == rop.COPYSTRCONTENT or       # no effect on GC struct/array
             opnum == rop.COPYUNICODECONTENT):    # no effect on GC struct/array
             return
-        assert opnum != rop.CALL_PURE
         if (opnum == rop.CALL or
+            opnum == rop.CALL_PURE or
             opnum == rop.CALL_MAY_FORCE or
             opnum == rop.CALL_RELEASE_GIL or
             opnum == rop.CALL_ASSEMBLER):

File pypy/jit/metainterp/optimizeopt/optimizer.py

 
     @specialize.argtype(0)
     def _emit_operation(self, op):
+        assert op.getopnum() != rop.CALL_PURE
         for i in range(op.numargs()):
             arg = op.getarg(i)
             try: