diff --git a/lisp/x86-assem.S b/lisp/x86-assem.S index 2b792bf4ef762458f5bbd2a9e6922e250f8ba2d6..416c86fbe7f252a01035878142a2141f5130d32a 100644 --- a/lisp/x86-assem.S +++ b/lisp/x86-assem.S @@ -1,6 +1,6 @@ ### x86-assem.S -*- Mode: Asm; -*- /** - * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/x86-assem.S,v 1.9 1997/11/29 19:52:32 dtc Exp $ + * $Header: /Volumes/share2/src/cmucl/cvs2git/cvsroot/src/lisp/x86-assem.S,v 1.10 1998/01/19 09:01:59 dtc Exp $ * * Authors: Paul F. Werkowski <pw@snoopy.mv.com> * Douglas T. Crosher @@ -269,16 +269,14 @@ GNAME(closure_tramp): GNAME(function_end_breakpoint_guts): /* Multiple Value return */ jmp multiple_value_return - /* Single value return */ - - /* The eventual return will now be a multi-value return so - setup for it. Multi-value returns are not in general valid - for one value so convert to 2 values. Perhaps the - convertion should be changed? */ - movl $8,%ecx # Setup ecx=2 for the debugger. - movl $NIL,%edi # Second value - movl %esp,%ebx # ebx has the ofp - subl $8,%esp # needed? + /* Single value return: The eventual return will now use the + multiple values return convention but with a return values + count of one. */ + movl %esp,%ebx # Setup ebx - the ofp. + subl $4,%esp # Allocate one stack slot for the return value + movl $4,%ecx # Setup ecx for one return value. + movl $NIL,%edi # Default second value + movl $NIL,%esi # Default third value multiple_value_return: @@ -286,11 +284,10 @@ multiple_value_return: GNAME(function_end_breakpoint_trap): int3 .byte trap_FunctionEndBreakpoint + hlt # Should never return here. - /* Never returns here. */ .global GNAME(function_end_breakpoint_end) GNAME(function_end_breakpoint_end): - hlt .global GNAME(do_pending_interrupt)