#| -*-Scheme-*-
-$Id: machin.scm,v 4.28 1993/02/28 06:20:24 gjr Exp $
+$Id: machin.scm,v 4.29 1993/07/01 03:16:40 gjr Exp $
Copyright (c) 1988-1993 Massachusetts Institute of Technology
;; (expt 2 (- 8 scheme-type-width)) ***
4)
-(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
(= (rtl:register-number expression) regnum:dynamic-link)))
(define-integrable (interpreter-environment-register)
- (rtl:make-offset (interpreter-regs-pointer) 3))
+ (rtl:make-offset (interpreter-regs-pointer)
+ (rtl:make-machine-constant 3)))
(define (interpreter-environment-register? expression)
(and (rtl:offset? expression)
(interpreter-regs-pointer? (rtl:offset-base expression))
- (= 3 (rtl:offset-number expression))))
+ (let ((offset (rtl:offset-offset expression)))
+ (and (rtl:machine-constant? offset)
+ (= 3 (rtl:machine-constant-value offset))))))
(define-integrable (interpreter-register:access)
(rtl:make-machine-register g28))
ENTRY:CONTINUATION
ASSIGNMENT-CACHE
VARIABLE-CACHE
- OFFSET-ADDRESS)
+ OFFSET-ADDRESS
+ BYTE-OFFSET-ADDRESS
+ FLOAT-OFFSET-ADDRESS)
3)
((CONS-POINTER)
(and (rtl:machine-constant? (rtl:cons-pointer-type expression))
true)
(define compiler:primitives-with-no-open-coding
- '(DIVIDE-FIXNUM GCD-FIXNUM &/
- FLONUM-SIN FLONUM-COS FLONUM-TAN FLONUM-ASIN FLONUM-ACOS
- FLONUM-ATAN FLONUM-EXP FLONUM-LOG FLONUM-TRUNCATE))
\ No newline at end of file
+ '(DIVIDE-FIXNUM GCD-FIXNUM &/))
\ No newline at end of file