1;; Also used by "cross-serve.ss"
2
3(when omit-debugging?
4  (generate-inspector-information (not omit-debugging?))
5  (generate-procedure-source-information #t))
6
7(when measure-performance?
8  (#%$enable-pass-timing #t)
9  (#%$clear-pass-stats))
10
11(enable-arithmetic-left-associative #t)
12(expand-omit-library-invocations #t)
13(enable-error-source-expression #f)
14(fasl-compressed #f)
15(compile-omit-concatenate-support #t)
16
17;; Avoid gensyms for generated record-type UIDs. Otherwise,
18;; printing one of those gensyms --- perhaps when producing a trace
19;; via `dump-memory-stats` --- causes the gensym to be permanent
20;; (since it has properties).
21(current-generate-id (lambda (sym) (gensym sym)))
22
23;; Since the schemify layer inserts `|#%app|` any time the rator of
24;; an application might not be a procedure, we can avoid redundant
25;; checks for other applications by enabling unsafe mode. Ditto for
26;; potential early reference to `letrec`-bound variables. But do that
27;; only if we're compiling the primitive layer in unsafe mode.
28(meta-cond
29 [(>= (optimize-level) 3)
30  (enable-unsafe-application #t)
31  (enable-unsafe-variable-reference #t)]
32 [else
33  (void)])
34