From: Stephen Adams Date: Fri, 17 Oct 1997 01:32:18 +0000 (+0000) Subject: Added some comments. X-Git-Tag: 20090517-FFI~4992 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=984a06f5cbf50c1ac0021439e3a1f4c90f5c102c;p=mit-scheme.git Added some comments. --- diff --git a/v7/src/compiler/machines/i386/rules3.scm b/v7/src/compiler/machines/i386/rules3.scm index f928a3633..4a7b5ab05 100644 --- a/v7/src/compiler/machines/i386/rules3.scm +++ b/v7/src/compiler/machines/i386/rules3.scm @@ -1,8 +1,8 @@ #| -*-Scheme-*- -$Id: rules3.scm,v 1.28 1997/10/17 01:25:41 adams Exp $ +$Id: rules3.scm,v 1.29 1997/10/17 01:32:18 adams Exp $ -Copyright (c) 1992-1993 Massachusetts Institute of Technology +Copyright (c) 1992-1997 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -44,6 +44,8 @@ MIT in each case. |# (define-rule statement (POP-RETURN) + ;; The continuation is on the stack. + ;; The type code needs to be cleared first. (cond ((block-association 'POP-RETURN) => current-bblock-continue!) (else @@ -52,8 +54,8 @@ MIT in each case. |# (let ((interrupt-label (generate-label 'INTERRUPT))) (LAP (CMP W (R ,regnum:free-pointer) ,reg:compiled-memtop) (JGE (@PCR ,interrupt-label)) - (POP (R ,eax)) - (AND W (R ,eax) (R ,regnum:datum-mask)) + (POP (R ,eax)) ; continuation + (AND W (R ,eax) (R ,regnum:datum-mask)) ; clear type (JMP (R ,eax)) (LABEL ,interrupt-label) ,@(invoke-hook @@ -96,7 +98,7 @@ MIT in each case. |# ;; It expects the procedure at the top of the stack (LAP ,@(clear-map!) (POP (R ,eax)) - (AND W (R ,eax) (R ,regnum:datum-mask)) + (AND W (R ,eax) (R ,regnum:datum-mask)) ;clear type code (JMP (R ,eax)))) (define-rule statement @@ -115,7 +117,7 @@ MIT in each case. |# ;; It expects the procedure at the top of the stack (LAP ,@(clear-map!) (POP (R ,ecx)) - (AND W (R ,ecx) (R ,regnum:datum-mask)) + (AND W (R ,ecx) (R ,regnum:datum-mask)) ; clear type code (MOV W (R ,edx) (& ,number-pushed)) ,@(invoke-interface code:compiler-lexpr-apply)))