X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fcode%2Finterr.lisp;h=9014b56ae65333cfd681521e2f69c85ef633ef88;hb=4b13aa3a7f0f4c6249e2787f4171e3c362d634c1;hp=8ac4f7a740e0e324116920e5acd5fcba34e038fd;hpb=053874e1a563956dd86c5c122fbd1df37d7ceb1b;p=sbcl.git diff --git a/src/code/interr.lisp b/src/code/interr.lisp index 8ac4f7a..9014b56 100644 --- a/src/code/interr.lisp +++ b/src/code/interr.lisp @@ -460,6 +460,20 @@ "Control stack guard page temporarily disabled: proceed with caution~%") (error 'control-stack-exhausted)))) +(defun binding-stack-exhausted-error () + (let ((sb!debug:*stack-top-hint* nil)) + (infinite-error-protect + (format *error-output* + "Binding stack guard page temporarily disabled: proceed with caution~%") + (error 'binding-stack-exhausted)))) + +(defun alien-stack-exhausted-error () + (let ((sb!debug:*stack-top-hint* nil)) + (infinite-error-protect + (format *error-output* + "Alien stack guard page temporarily disabled: proceed with caution~%") + (error 'alien-stack-exhausted)))) + ;;; KLUDGE: we keep a single HEAP-EXHAUSTED-ERROR object around, so ;;; that we don't need to allocate it when running out of ;;; memory. Similarly we pass the amounts in special variables as