cs: suppress reundant letrec-variable checking

The schmiefy pass already ensures that variables are defined before
use, so skip cpvalid in Chez Scheme. The difference is tiny, though.
This commit is contained in:
Matthew Flatt 2020-01-30 18:58:13 -07:00
parent 37ce9478cd
commit ad9dc342f8
4 changed files with 7 additions and 5 deletions

View File

@ -12,7 +12,7 @@
(define collection 'multi)
(define version "7.6.0.7")
(define version "7.6.0.8")
(define deps `("racket-lib"
["racket" #:version ,version]))

View File

@ -2,7 +2,7 @@
;; Check to make we're using a build of Chez Scheme
;; that has all the features we need.
(define-values (need-maj need-min need-sub need-dev)
(values 9 5 3 15))
(values 9 5 3 16))
(unless (guard (x [else #f]) (eval 'scheme-fork-version-number))
(error 'compile-file

View File

@ -1269,10 +1269,12 @@
;; Since the schemify layer inserts `|#%app|` any time the rator of
;; an application might not be a procedure, we can avoid redundant
;; checks for other applications by enabling unsafe mode. But do that
;; checks for other applications by enabling unsafe mode. Ditto for
;; potential early reference to `letrec`-bound variables. But do that
;; only if we're compiling the primitive layer in unsafe mode.
(meta-cond
[(>= (optimize-level) 3)
(enable-unsafe-application #t)]
(enable-unsafe-application #t)
(enable-unsafe-variable-reference #t)]
[else
(void)]))

View File

@ -16,7 +16,7 @@
#define MZSCHEME_VERSION_X 7
#define MZSCHEME_VERSION_Y 6
#define MZSCHEME_VERSION_Z 0
#define MZSCHEME_VERSION_W 7
#define MZSCHEME_VERSION_W 8
/* A level of indirection makes `#` work as needed: */
#define AS_a_STR_HELPER(x) #x