Skip to content
Snippets Groups Projects
Commit 9f9ac396 authored by dtc's avatar dtc
Browse files

Flush references to the catch and unwind block current-code slot on

the x86 port in preparation for its removal.
parent bf8d3664
No related branches found
No related tags found
No related merge requests found
......@@ -7,7 +7,7 @@
;;; Scott Fahlman or slisp-group@cs.cmu.edu.
;;;
(ext:file-comment
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/nlx.lisp,v 1.9 1997/12/03 15:30:22 dtc Exp $")
"$Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/compiler/x86/nlx.lisp,v 1.10 1998/01/17 05:56:38 dtc Exp $")
;;;
;;; **********************************************************************
;;;
......@@ -16,7 +16,7 @@
;;; Written by William Lott.
;;;
;;; Debugged by Paul F. Werkowski Spring/Summer 1995.
;;; Enhancements/debugging by Douglas T. Crosher 1996,1997.
;;; Enhancements/debugging by Douglas T. Crosher 1996,1997,1998.
;;;
(in-package :x86)
......@@ -107,8 +107,6 @@
(load-symbol-value temp lisp::*current-unwind-protect-block*)
(storew temp block unwind-block-current-uwp-slot)
(storew ebp-tn block unwind-block-current-cont-slot)
;; The code slot is unused - fill with 0.
(storew 0 block vm:unwind-block-current-code-slot)
(storew (make-fixup nil :code-object entry-label)
block catch-block-entry-pc-slot)))
......@@ -127,8 +125,6 @@
(load-symbol-value temp lisp::*current-unwind-protect-block*)
(storew temp block unwind-block-current-uwp-slot)
(storew ebp-tn block unwind-block-current-cont-slot)
;; The code slot is unused - fill with 0.
(storew 0 block vm:catch-block-current-code-slot)
(storew (make-fixup nil :code-object entry-label)
block catch-block-entry-pc-slot)
(storew tag block catch-block-tag-slot)
......
/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/monitor.c,v 1.7 1997/11/23 08:52:51 dtc Exp $ */
/* $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/monitor.c,v 1.8 1998/01/17 05:56:35 dtc Exp $ */
#include <stdio.h>
#include <sys/types.h>
......@@ -399,7 +399,19 @@ static void catchers_cmd(char **ptr)
printf("There are no active catchers!\n");
else {
while (catch != NULL) {
printf("0x%08lX:\n\tuwp: 0x%08lX\n\tfp: 0x%08lX\n\tcode: 0x%08lx\n\tentry: 0x%08lx\n\ttag: ", (unsigned long)catch, (unsigned long)(catch->current_uwp), (unsigned long)(catch->current_cont), catch->current_code, catch->entry_pc);
#ifndef i386
printf("0x%08lX:\n\tuwp: 0x%08lX\n\tfp: 0x%08lX\n\tcode: 0x%08lx\n\tentry: 0x%08lx\n\ttag: ",
(unsigned long)catch, (unsigned long)(catch->current_uwp),
(unsigned long)(catch->current_cont),
catch->current_code,
catch->entry_pc);
#else
printf("0x%08lX:\n\tuwp: 0x%08lX\n\tfp: 0x%08lX\n\tcode: 0x%08lx\n\tentry: 0x%08lx\n\ttag: ",
(unsigned long)catch, (unsigned long)(catch->current_uwp),
(unsigned long)(catch->current_cont),
component_ptr_from_pc(catch->entry_pc) + type_OtherPointer,
catch->entry_pc);
#endif
brief_print((lispobj)catch->tag);
catch = catch->previous_catch;
}
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment