From: Guillermo J. Rozas Date: Sun, 1 Apr 1990 22:26:01 +0000 (+0000) Subject: lap:make-unconditional-branch now returns a sequence rather than a X-Git-Tag: 20090517-FFI~11478 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=75707adc4c6e08a2490f4e794d0bbc864bf4618c;p=mit-scheme.git lap:make-unconditional-branch now returns a sequence rather than a single instructions. On machines with branch delay slots and no nullification, a nop must be returned in addition to the branch instruction. --- diff --git a/v7/src/compiler/machines/bobcat/lapgen.scm b/v7/src/compiler/machines/bobcat/lapgen.scm index 53889da5d..adbd12f03 100644 --- a/v7/src/compiler/machines/bobcat/lapgen.scm +++ b/v7/src/compiler/machines/bobcat/lapgen.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/lapgen.scm,v 4.30 1990/03/14 21:05:05 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/bobcat/lapgen.scm,v 4.31 1990/04/01 22:26:01 jinx Exp $ Copyright (c) 1988, 1989, 1990 Massachusetts Institute of Technology @@ -505,7 +505,8 @@ MIT in each case. |# n) (define-integrable fixnum-1 - (expt 2 scheme-type-width)) + ;; (expt 2 scheme-type-width) *** + 64) (define (load-fixnum-constant constant register-reference) (LAP (MOV L (& ,(* constant fixnum-1)) ,register-reference))) @@ -765,8 +766,9 @@ MIT in each case. |# (define (object->datum register-reference) (LAP (AND L ,mask-reference ,register-reference))) -(define scheme-type-mask - (-1+ (expt 2 scheme-type-width))) +(define-integrable scheme-type-mask + ;; (-1+ (expt 2 scheme-type-width)) *** + #x3f) (define use-68020-instructions? true) @@ -852,7 +854,7 @@ MIT in each case. |# (INST (LABEL ,label))) (define (lap:make-unconditional-branch label) - (INST (BRA (@PCR ,label)))) + (LAP (BRA (@PCR ,label)))) (define (lap:make-entry-point label block-start-label) block-start-label