#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/make.scm-68040,v 4.59 1989/11/15 02:48:07 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/make.scm-68040,v 4.60 1989/11/21 22:20:51 jinx Exp $
Copyright (c) 1988, 1989 Massachusetts Institute of Technology
((package/reference (find-package name) 'INITIALIZE-PACKAGE!)))
'((COMPILER MACROS)
(COMPILER DECLARATIONS)))
-(add-system! (make-system "Liar (Motorola MC68020)" 4 59 '()))
\ No newline at end of file
+(add-system! (make-system "Liar (Motorola MC68020)" 4 60 '()))
\ No newline at end of file
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rgcomb.scm,v 4.12 1989/10/26 07:39:03 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rgcomb.scm,v 4.13 1989/11/21 22:21:34 jinx Exp $
Copyright (c) 1988, 1989 Massachusetts Institute of Technology
(generate/procedure-entry/inline callee))
(else
(enqueue-procedure! callee)
- (if (procedure-rest callee)
- (rtl:make-invocation:lexpr
- (if (stack-block/static-link? (procedure-block callee))
- (-1+ frame-size)
- frame-size)
- continuation
- (procedure-label callee))
+ (if (not (procedure-rest callee))
(rtl:make-invocation:jump
frame-size
continuation
- (procedure-label callee))))))))
+ (procedure-label callee))
+ (let* ((callee-block (procedure-block callee))
+ (core
+ (lambda (frame-size)
+ (rtl:make-invocation:lexpr
+ (if (stack-block/static-link? callee-block)
+ (-1+ frame-size)
+ frame-size)
+ continuation
+ (procedure-label callee)))))
+ (if (not (block/dynamic-link? callee-block))
+ (core frame-size)
+ (scfg*scfg->scfg!
+ (rtl:make-push-link)
+ (core (1+ frame-size)))))))))))
(define (invocation/apply model operator frame-size continuation prefix)
model operator ; ignored
#| -*-Scheme-*-
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rgproc.scm,v 4.8 1989/04/21 17:10:15 markf Rel $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/rtlgen/rgproc.scm,v 4.9 1989/11/21 22:21:12 jinx Exp $
Copyright (c) 1988 Massachusetts Institute of Technology
((procedure-rest procedure)
(with-values (lambda () (procedure-arity-encoding procedure))
(lambda (min max)
- (rtl:make-procedure-header (procedure-label procedure)
- min max))))
+ (if (open-procedure-needs-dynamic-link? procedure)
+ (scfg*scfg->scfg!
+ (rtl:make-procedure-header (procedure-label procedure)
+ (1+ min) (-1+ max))
+ (rtl:make-pop-link))
+ (rtl:make-procedure-header (procedure-label procedure)
+ min max)))))
(else
(rtl:make-open-procedure-header (procedure-label procedure))))
(setup-stack-frame procedure context))))