[pypy-svn] r52092 - in pypy/branch/jit-refactoring/pypy: jit/timeshifter rpython

arigo at codespeak.net arigo at codespeak.net
Mon Mar 3 15:52:31 CET 2008


Author: arigo
Date: Mon Mar  3 15:52:30 2008
New Revision: 52092

Modified:
   pypy/branch/jit-refactoring/pypy/jit/timeshifter/rtimeshift.py
   pypy/branch/jit-refactoring/pypy/rpython/annlowlevel.py
Log:
Whack until exceptions within ll_continue_compilation()
no longer give obscure infinite loops when stdout is
captured by py.test.


Modified: pypy/branch/jit-refactoring/pypy/jit/timeshifter/rtimeshift.py
==============================================================================
--- pypy/branch/jit-refactoring/pypy/jit/timeshifter/rtimeshift.py	(original)
+++ pypy/branch/jit-refactoring/pypy/jit/timeshifter/rtimeshift.py	Mon Mar  3 15:52:30 2008
@@ -776,6 +776,7 @@
                 lloperation.llop.debug_fatalerror(
                     lltype.Void, "compilation-time error %s" % e)
         self.ll_continue_compilation = ll_continue_compilation
+        ll_continue_compilation._debugexc = True
 
         FUNCTYPE = lltype.FuncType([base_ptr_lltype(), ERASED], lltype.Void)
         FUNCPTRTYPE = lltype.Ptr(FUNCTYPE)

Modified: pypy/branch/jit-refactoring/pypy/rpython/annlowlevel.py
==============================================================================
--- pypy/branch/jit-refactoring/pypy/rpython/annlowlevel.py	(original)
+++ pypy/branch/jit-refactoring/pypy/rpython/annlowlevel.py	Mon Mar  3 15:52:30 2008
@@ -344,7 +344,8 @@
 def llhelper(F, f):
     # implementation for the purpose of direct running only
     # XXX need more cleverness to support translation of prebuilt llhelper ptr
-    return lltype.functionptr(F.TO, f.func_name, _callable=f)
+    return lltype.functionptr(F.TO, f.func_name, _callable=f,
+                              _debugexc = getattr(f, '_debugexc', False))
 
 class LLHelperEntry(extregistry.ExtRegistryEntry):
     _about_ = llhelper



More information about the Pypy-commit mailing list