(guarantee-binding source-environment source-name)
(link-variables environment (vector-ref binding 0)
source-environment source-name)))))))))
- (->environment '(package)))))
\ No newline at end of file
+ (->environment '(package)))
+ (eval
+ '(define-syntax select-on-bytes-per-word
+ (er-macro-transformer
+ (lambda (form rename compare)
+ rename compare
+ (syntax-check '(KEYWORD EXPRESSION EXPRESSION) form)
+ (let ((bpo (bytes-per-object)))
+ (case bpo
+ ((4) (cadr form))
+ ((8) (caddr form))
+ (else (error "Unsupported bytes-per-object:" bpo)))))))
+ (->environment '(runtime)))))
\ No newline at end of file
(lambda (form environment)
environment
(make-return-address (apply microcode-return (cdr form))))))
-
+\f
(define-syntax define-guarantee
(sc-macro-transformer
(lambda (form environment)
(,(rename 'ADD-BOOT-INIT!)
(,(rename 'LAMBDA) ()
(,(rename 'SET!) ,name ,value)
- ,(rename 'UNSPECIFIC))))))))
\ No newline at end of file
+ ,(rename 'UNSPECIFIC))))))))
+
+(define-syntax select-on-bytes-per-word
+ (er-macro-transformer
+ (lambda (form rename compare)
+ rename compare
+ (syntax-check '(KEYWORD EXPRESSION EXPRESSION) form)
+ (let ((bpo (bytes-per-object)))
+ (case bpo
+ ((4) (cadr form))
+ ((8) (caddr form))
+ (else (error "Unsupported bytes-per-object:" bpo)))))))
\ No newline at end of file