Author: Antonio Cuni <[email protected]>
Branch:
Changeset: r57350:7b4611fd9310
Date: 2012-09-14 17:17 +0200
http://bitbucket.org/pypy/pypy/changeset/7b4611fd9310/
Log: hg backout eeca37b5c607: there is no point in trying to have a
prebuilt RuntimeError on pypy: we should be able to allocate objects
anyway (and if not, nothing works)
diff --git a/pypy/interpreter/baseobjspace.py b/pypy/interpreter/baseobjspace.py
--- a/pypy/interpreter/baseobjspace.py
+++ b/pypy/interpreter/baseobjspace.py
@@ -590,10 +590,6 @@
w_exc = self.getitem(w_dic, w_name)
exc_types_w[name] = w_exc
setattr(self, "w_" + excname, w_exc)
- # Make a prebuilt recursion error
- w_msg = self.wrap("maximum recursion depth exceeded")
- self.prebuilt_recursion_error = OperationError(self.w_RuntimeError,
- w_msg)
return exc_types_w
def install_mixedmodule(self, mixedname, installed_builtin_modules):
diff --git a/pypy/interpreter/gateway.py b/pypy/interpreter/gateway.py
--- a/pypy/interpreter/gateway.py
+++ b/pypy/interpreter/gateway.py
@@ -651,7 +651,8 @@
raise OperationError(space.w_MemoryError, space.w_None)
except rstackovf.StackOverflow, e:
rstackovf.check_stack_overflow()
- raise space.prebuilt_recursion_error
+ raise OperationError(space.w_RuntimeError,
+ space.wrap("maximum recursion depth exceeded"))
except RuntimeError: # not on top of py.py
raise OperationError(space.w_RuntimeError, space.w_None)
diff --git a/pypy/interpreter/pyopcode.py b/pypy/interpreter/pyopcode.py
--- a/pypy/interpreter/pyopcode.py
+++ b/pypy/interpreter/pyopcode.py
@@ -104,9 +104,11 @@
next_instr = self.handle_asynchronous_error(ec,
self.space.w_MemoryError)
except rstackovf.StackOverflow, e:
+ # Note that this case catches AttributeError!
rstackovf.check_stack_overflow()
- w_err = self.space.prebuilt_recursion_error
- next_instr = self.handle_operation_error(ec, w_err)
+ next_instr = self.handle_asynchronous_error(ec,
+ self.space.w_RuntimeError,
+ self.space.wrap("maximum recursion depth exceeded"))
return next_instr
def handle_asynchronous_error(self, ec, w_type, w_value=None):
_______________________________________________
pypy-commit mailing list
[email protected]
http://mail.python.org/mailman/listinfo/pypy-commit