From 909cbfe3c0cffc74de381c1a515f90005631619e Mon Sep 17 00:00:00 2001 From: "Guillermo J. Rozas" Date: Tue, 29 Jun 1993 22:29:10 +0000 Subject: [PATCH] Disable some primitives until the back end learns how to handle them. --- v7/src/compiler/machines/C/machin.scm | 14 +++++++++----- v7/src/compiler/machines/i386/machin.scm | 13 +++++++++---- v7/src/compiler/machines/mips/machin.scm | 11 ++++++++--- v7/src/compiler/machines/sparc/machin.scm | 13 +++++++++---- v7/src/compiler/machines/vax/machin.scm | 11 ++++++++--- 5 files changed, 43 insertions(+), 19 deletions(-) diff --git a/v7/src/compiler/machines/C/machin.scm b/v7/src/compiler/machines/C/machin.scm index 4ac875a99..408dc96b1 100644 --- a/v7/src/compiler/machines/C/machin.scm +++ b/v7/src/compiler/machines/C/machin.scm @@ -1,8 +1,8 @@ #| -*-Scheme-*- -$Id: machin.scm,v 1.2 1993/06/10 01:06:33 jawilson Exp $ +$Id: machin.scm,v 1.3 1993/06/29 22:28:16 gjr Exp $ -Copyright (c) 1992 Massachusetts Institute of Technology +Copyright (c) 1992-1993 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -54,7 +54,7 @@ MIT in each case. |# ;;; rethink the character addressing strategy. (define address-units-per-object "ADDRESS_UNITS_PER_OBJECT") - +(define-integrable address-units-per-float "ADDRESS_UNITS_PER_FLOAT") (define-integrable address-units-per-packed-char 1) ;; We expect a C long to be at least 32 bits wide, @@ -306,7 +306,11 @@ MIT in each case. |# true) (define compiler:primitives-with-no-open-coding - '(DIVIDE-FIXNUM GCD-FIXNUM &/ FLONUM-SIN FLONUM-COS FLONUM-TAN FLONUM-ASIN FLONUM-ACOS + '( + DIVIDE-FIXNUM GCD-FIXNUM &/ FLONUM-SIN FLONUM-COS FLONUM-TAN + FLONUM-ASIN FLONUM-ACOS FLONUM-ATAN FLONUM-EXP FLONUM-LOG FLONUM-TRUNCATE FLONUM-ROUND - FLONUM-REMAINDER FLONUM-SQRT)) + FLONUM-REMAINDER FLONUM-SQRT + VECTOR-CONS STRING-ALLOCATE FLOATING-VECTOR-CONS + FLOATING-VECTOR-REF FLOATING-VECTOR-SET!)) diff --git a/v7/src/compiler/machines/i386/machin.scm b/v7/src/compiler/machines/i386/machin.scm index 32afe90b3..5fe42652b 100644 --- a/v7/src/compiler/machines/i386/machin.scm +++ b/v7/src/compiler/machines/i386/machin.scm @@ -1,8 +1,8 @@ #| -*-Scheme-*- -$Id: machin.scm,v 1.16 1993/01/08 00:04:22 cph Exp $ +$Id: machin.scm,v 1.17 1993/06/29 22:25:12 gjr Exp $ -Copyright (c) 1992-93 Massachusetts Institute of Technology +Copyright (c) 1992-1993 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -54,9 +54,12 @@ MIT in each case. |# (define-integrable scheme-datum-width (- scheme-object-width scheme-type-width)) -(define-integrable flonum-size 2) +(define-integrable float-width 64) (define-integrable float-alignment 32) +(define-integrable address-units-per-float + (quotient float-width addressing-granularity)) + ;;; It is currently required that both packed characters and objects ;;; be integrable numbers of address units. Furthermore, the number ;;; of address units per object must be an integral multiple of the @@ -355,4 +358,6 @@ MIT in each case. |# FLONUM-ASIN FLONUM-ACOS ;; Disabled for now. The F2XM1 instruction is ;; broken on the 387 (or at least some of them). - FLONUM-EXP)) \ No newline at end of file + FLONUM-EXP + VECTOR-CONS STRING-ALLOCATE FLOATING-VECTOR-CONS + FLOATING-VECTOR-REF FLOATING-VECTOR-SET!)) \ No newline at end of file diff --git a/v7/src/compiler/machines/mips/machin.scm b/v7/src/compiler/machines/mips/machin.scm index 144037513..e2cc150c9 100644 --- a/v7/src/compiler/machines/mips/machin.scm +++ b/v7/src/compiler/machines/mips/machin.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: machin.scm,v 1.11 1993/01/08 00:04:37 cph Exp $ +$Id: machin.scm,v 1.12 1993/06/29 22:25:51 gjr Exp $ Copyright (c) 1988-1993 Massachusetts Institute of Technology @@ -49,9 +49,12 @@ MIT in each case. |# (define-integrable scheme-datum-width (- scheme-object-width scheme-type-width)) -(define-integrable flonum-size 2) +(define-integrable float-width 64) (define-integrable float-alignment 64) +(define-integrable address-units-per-float + (quotient float-width addressing-granularity)) + ;;; It is currently required that both packed characters and objects ;;; be integrable numbers of address units. Furthermore, the number ;;; of address units per object must be an integral multiple of the @@ -393,4 +396,6 @@ MIT in each case. |# INTEGER-QUOTIENT INTEGER-REMAINDER &/ QUOTIENT REMAINDER FLONUM-SIN FLONUM-COS FLONUM-TAN FLONUM-ASIN FLONUM-ACOS FLONUM-ATAN FLONUM-EXP FLONUM-LOG FLONUM-TRUNCATE FLONUM-ROUND - FLONUM-REMAINDER FLONUM-SQRT)) \ No newline at end of file + FLONUM-REMAINDER FLONUM-SQRT + VECTOR-CONS STRING-ALLOCATE FLOATING-VECTOR-CONS + FLOATING-VECTOR-REF FLOATING-VECTOR-SET!)) \ No newline at end of file diff --git a/v7/src/compiler/machines/sparc/machin.scm b/v7/src/compiler/machines/sparc/machin.scm index c0cc91d4b..ff3f67608 100644 --- a/v7/src/compiler/machines/sparc/machin.scm +++ b/v7/src/compiler/machines/sparc/machin.scm @@ -1,8 +1,8 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/machines/sparc/machin.scm,v 1.1 1993/06/08 06:11:02 gjr Exp $ +$Id: machin.scm,v 1.2 1993/06/29 22:29:10 gjr Exp $ -Copyright (c) 1988-1992 Massachusetts Institute of Technology +Copyright (c) 1988-1993 Massachusetts Institute of Technology This material was developed by the Scheme project at the Massachusetts Institute of Technology, Department of Electrical Engineering and @@ -49,9 +49,12 @@ MIT in each case. |# (define-integrable scheme-datum-width (- scheme-object-width scheme-type-width)) -(define-integrable flonum-size 2) +(define-integrable float-width 64) (define-integrable float-alignment 64) +(define-integrable address-units-per-float + (quotient float-width addressing-granularity)) + ;;; It is currently required that both packed characters and objects ;;; be integrable numbers of address units. Furthermore, the number ;;; of address units per object must be an integral multiple of the @@ -406,4 +409,6 @@ MIT in each case. |# INTEGER-QUOTIENT INTEGER-REMAINDER &/ QUOTIENT REMAINDER FLONUM-SIN FLONUM-COS FLONUM-TAN FLONUM-ASIN FLONUM-ACOS FLONUM-ATAN FLONUM-EXP FLONUM-LOG FLONUM-TRUNCATE FLONUM-ROUND - FLONUM-REMAINDER FLONUM-SQRT)) \ No newline at end of file + FLONUM-REMAINDER FLONUM-SQRT + VECTOR-CONS STRING-ALLOCATE FLOATING-VECTOR-CONS + FLOATING-VECTOR-REF FLOATING-VECTOR-SET!)) \ No newline at end of file diff --git a/v7/src/compiler/machines/vax/machin.scm b/v7/src/compiler/machines/vax/machin.scm index 5db3e9384..c0b1f74ab 100644 --- a/v7/src/compiler/machines/vax/machin.scm +++ b/v7/src/compiler/machines/vax/machin.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: machin.scm,v 4.11 1993/01/08 00:05:10 cph Exp $ +$Id: machin.scm,v 4.12 1993/06/29 22:26:39 gjr Exp $ Copyright (c) 1987-1993 Massachusetts Institute of Technology @@ -54,9 +54,12 @@ MIT in each case. |# (define-integrable scheme-datum-width (- scheme-object-width scheme-type-width)) -(define-integrable flonum-size 2) +(define-integrable float-width 64) (define-integrable float-alignment 32) +(define-integrable address-units-per-float + (quotient float-width addressing-granularity)) + ;;; It is currently required that both packed characters and objects ;;; be integrable numbers of address units. Furthermore, the number ;;; of address units per object must be an integral multiple of the @@ -299,4 +302,6 @@ MIT in each case. |# false) (define compiler:primitives-with-no-open-coding - '(DIVIDE-FIXNUM GCD-FIXNUM &/)) \ No newline at end of file + '(DIVIDE-FIXNUM GCD-FIXNUM &/ + VECTOR-CONS STRING-ALLOCATE FLOATING-VECTOR-CONS + FLOATING-VECTOR-REF FLOATING-VECTOR-SET!)) \ No newline at end of file -- 2.25.1