From f0dc15c3355b42cad94d2d36ffbe120fe06bedc8 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sat, 26 Oct 2019 17:50:53 -0600 Subject: [PATCH] mark single-valued internal primitives Probably makes no difference right now, since these internal functons rarely show up in the process of optimizing user programs, but just in case. original commit: b54a288b31731368dbcf57c95b78f0a162c29147 --- s/primdata.ss | 1068 +++++++++++++++++++++++++------------------------ 1 file changed, 535 insertions(+), 533 deletions(-) diff --git a/s/primdata.ss b/s/primdata.ss index 87cb6642cf..b219e29061 100644 --- a/s/primdata.ss +++ b/s/primdata.ss @@ -1759,566 +1759,568 @@ (wrapper-procedure-data [sig [(ptr) -> (ptr)]] [flags discard]) ) + + (define-symbol-flags* ([libraries] [flags system proc]) ; system procedures - ($address-in-heap? [flags]) - ($address->object [flags]) - ($allocate-thread-parameter [feature pthreads] [flags alloc]) + ($address-in-heap? [flags single-valued]) + ($address->object [flags single-valued]) + ($allocate-thread-parameter [feature pthreads] [flags single-valued alloc]) ($app [flags]) ($apply [flags]) - ($assembly-output [flags]) + ($assembly-output [flags single-valued]) ($as-time-goes-by [flags]) - ($bignum-length [flags pure true]) - ($bigpositive? [flags]) - ($breakhere [flags]) - ($build-install-library/ct-code [flags]) - ($build-install-library/rt-code [flags]) - ($build-invoke-program [flags]) - ($byte-copy! [flags]) - ($bytevector-ref-check? [flags]) - ($bytevector-set!-check? [flags]) - ($bytevector-set! [flags]) + ($bignum-length [flags single-valued pure true]) + ($bigpositive? [flags single-valued]) + ($breakhere [flags single-valued]) + ($build-install-library/ct-code [flags single-valued]) + ($build-install-library/rt-code [flags single-valued]) + ($build-invoke-program [flags single-valued]) + ($byte-copy! [flags single-valued]) + ($bytevector-ref-check? [flags single-valued]) + ($bytevector-set!-check? [flags single-valued]) + ($bytevector-set! [flags single-valued]) ($bytevector-set-immutable! #;[sig [(bytevector) -> (ptr)]] [flags true]) - ($capture-fasl-target [flags]) + ($capture-fasl-target [flags single-valued]) ($c-error [flags]) - ($check-heap-errors [flags]) - ($clear-dynamic-closure-counts [flags]) ; added for closure instrumentation - ($clear-pass-stats [flags]) - ($clear-source-lines-cache [flags]) - ($close-files [flags]) - ($close-resurrected-files [flags]) - ($close-resurrected-mutexes&conditions [feature pthreads] [flags]) - ($closure-code [flags]) - ($closure-length [flags]) - ($closure-ref [flags]) + ($check-heap-errors [flags single-valued]) + ($clear-dynamic-closure-counts [flags single-valued]) ; added for closure instrumentation + ($clear-pass-stats [flags single-valued]) + ($clear-source-lines-cache [flags single-valued]) + ($close-files [flags single-valued]) + ($close-resurrected-files [flags single-valued]) + ($close-resurrected-mutexes&conditions [feature pthreads] [flags single-valued]) + ($closure-code [flags single-valued]) + ($closure-length [flags single-valued]) + ($closure-ref [flags single-valued]) ($closure-set! [flags]) - ($c-make-closure [flags]) - ($c-make-code [flags]) - ($code? [flags]) - ($code-free-count [flags]) - ($code-info [flags]) - ($code-arity-mask [flags]) - ($code-name [flags]) - ($code-pinfo* [flags]) - ($code-mutable-closure? [flags]) - ($code-arity-in-closure? [flags]) - ($code-single-valued? [flags]) + ($c-make-closure [flags single-valued]) + ($c-make-code [flags single-valued]) + ($code? [flags single-valued]) + ($code-free-count [flags single-valued]) + ($code-info [flags single-valued]) + ($code-arity-mask [flags single-valued]) + ($code-mutable-closure? [flags single-valued]) + ($code-arity-in-closure? [flags single-valued]) + ($code-name [flags single-valued]) + ($code-pinfo* [flags single-valued]) + ($code-single-valued? [flags single-valued]) ($collect-rendezvous [flags]) - ($compile-backend [flags]) - ($compiled-file-header? [flags]) - ($compile-host-library [flags]) + ($compile-backend [flags single-valued]) + ($compiled-file-header? [flags single-valued]) + ($compile-host-library [flags single-valued]) ($compound-condition-components [flags discard true]) ($compound-condition? [flags pure unrestricted mifoldable discard]) - ($compute-composition [flags]) - ($compute-size [flags]) - ($compute-size-increments [flags]) - ($constituent? [flags]) + ($compute-composition [flags single-valued]) + ($compute-size [flags single-valued]) + ($compute-size-increments [flags single-valued]) + ($constituent? [flags single-valued]) ($constituent-ports [flags]) - ($continuation? [flags]) - ($continuation-link [flags]) - ($continuation-return-code [flags]) - ($continuation-return-livemask [flags]) - ($continuation-return-offset [flags]) - ($continuation-stack-clength [flags]) - ($continuation-stack-length [flags]) - ($continuation-stack-ref [flags]) - ($continuation-winders [flags]) - ($continuation-attachments [flags]) - ($cp0 [flags]) - ($cpcheck [flags]) - ($cptypes [flags]) - ($cpcheck-prelex-flags [flags]) - ($cpcommonize [flags]) - ($cpletrec [flags]) - ($cpvalid [flags]) - ($c-stlv! [flags]) - ($cte-optimization-info [flags]) - ($c-tlv [flags]) - ($current-attachments [flags]) - ($current-stack-link [flags]) - ($current-winders [flags]) - ($distinct-bound-ids? [flags]) - ($dofmt [flags]) - ($do-wind [flags]) - ($dynamic-closure-counts [flags alloc]) ; added for closure instrumentation - ($enum-set-members [flags]) - ($eol-style? [flags]) - ($eq-hashtable-cells [flags discard]) + ($continuation? [flags single-valued]) + ($continuation-link [flags single-valued]) + ($continuation-return-code [flags single-valued]) + ($continuation-return-livemask [flags single-valued]) + ($continuation-return-offset [flags single-valued]) + ($continuation-stack-clength [flags single-valued]) + ($continuation-stack-length [flags single-valued]) + ($continuation-stack-ref [flags single-valued]) + ($continuation-winders [flags single-valued]) + ($continuation-attachments [flags single-valued]) + ($cp0 [flags single-valued]) + ($cpcheck [flags single-valued]) + ($cpcheck-prelex-flags [flags single-valued]) + ($cpcommonize [flags single-valued]) + ($cpletrec [flags single-valued]) + ($cptypes [flags single-valued]) + ($cpvalid [flags single-valued]) + ($c-stlv! [flags single-valued]) + ($cte-optimization-info [flags single-valued]) + ($c-tlv [flags single-valued]) + ($current-attachments [flags single-valued]) + ($current-stack-link [flags single-valued]) + ($current-winders [flags single-valued]) + ($distinct-bound-ids? [flags single-valued]) + ($dofmt [flags single-valued]) + ($do-wind [flags single-valued]) + ($dynamic-closure-counts [flags single-valued alloc]) ; added for closure instrumentation + ($enum-set-members [flags single-valued]) + ($eol-style? [flags single-valued]) + ($eq-hashtable-cells [flags single-valued discard]) ($eq-hashtable-clear! [flags true]) ($eq-hashtable-copy [flags true discard]) ($eq-hashtable-entries [flags discard]) ($eq-hashtable-keys [flags true discard]) ($eq-hashtable-values [flags true discard]) - ($errno [flags]) - ($errno->string [flags]) - ($error-handling-mode? [flags]) - ($event [flags]) - ($exactnum? [flags]) - ($exactnum-imag-part [flags]) - ($exactnum-real-part [flags]) - ($expand/cte/optimize #;[sig [(ptr) (ptr environment) -> (ptr)]] [flags]) - ($expand/cte #;[sig [(ptr) (ptr environment) -> (ptr)]] [flags]) - ($expand-fp-ftype [flags]) + ($errno [flags single-valued]) + ($errno->string [flags single-valued]) + ($error-handling-mode? [flags single-valued]) + ($event [flags single-valued]) + ($exactnum? [flags single-valued]) + ($exactnum-imag-part [flags single-valued]) + ($exactnum-real-part [flags single-valued]) + ($expand/cte/optimize #;[sig [(ptr) (ptr environment) -> (ptr)]] [flags single-valued]) + ($expand/cte #;[sig [(ptr) (ptr environment) -> (ptr)]] [flags single-valued]) + ($expand-fp-ftype [flags single-valued]) ($expeditor [feature expeditor] [flags]) - ($fasl-base-rtd [flags]) - ($fasl-bld-graph [flags]) - ($fasl-enter [flags]) - ($fasl-file-equal? #;[sig [(pathname pathname) (pathname pathname ptr) -> (boolean)]] [flags]) - ($fasl-out [flags]) - ($fasl-start [flags]) - ($fasl-table [flags]) - ($fasl-wrf-graph [flags]) - ($filter-conv [flags]) - ($filter-foreign-type [flags]) - ($fixed-path? [flags]) - ($<= [flags]) - ($< [flags]) - ($= [flags]) - ($- [flags]) - ($/ [flags]) - ($* [flags]) - ($+ [flags]) - ($fleqv? [flags]) - ($flhash [flags]) - ($flonum->digits [flags]) - ($flonum-exponent [flags]) - ($flonum->fixnum [flags]) - ($flonum-sign [flags]) - ($flush-instruction-cache [flags]) - ($foreign-char? [flags pure unrestricted mifoldable discard]) - ($foreign-entries [flags]) - ($foreign-entry [flags discard]) - ($foreign-wchar? [flags pure unrestricted cp02]) - ($format-scheme-version [flags alloc]) - ($fp-filter-type [flags]) - ($fp-string->utf16 [flags]) - ($fp-string->utf32 [flags]) - ($fp-string->utf8 [flags]) - ($fptr-fptr-ref [flags discard]) - ($fptr-fptr-set! [flags]) - ($fptr-init-lock! [flags]) - ($fptr-locked-decr! [flags]) - ($fptr-locked-incr! [flags]) - ($fptr-lock! [flags]) - ($fptr-offset-addr [flags]) - ($fptr-ref-bits [flags discard]) - ($fptr-ref-boolean [flags discard]) - ($fptr-ref-char [flags discard]) - ($fptr-ref-double-float [flags discard]) - ($fptr-ref-fixnum [flags discard]) - ($fptr-&ref [flags discard]) - ($fptr-ref [flags discard]) - ($fptr-ref-ibits-swap-unsigned-16 [flags discard]) - ($fptr-ref-ibits-swap-unsigned-24 [flags discard]) - ($fptr-ref-ibits-swap-unsigned-32 [flags discard]) - ($fptr-ref-ibits-swap-unsigned-40 [flags discard]) - ($fptr-ref-ibits-swap-unsigned-48 [flags discard]) - ($fptr-ref-ibits-swap-unsigned-56 [flags discard]) - ($fptr-ref-ibits-swap-unsigned-64 [flags discard]) - ($fptr-ref-ibits-unsigned-16 [flags discard]) - ($fptr-ref-ibits-unsigned-24 [flags discard]) - ($fptr-ref-ibits-unsigned-32 [flags discard]) - ($fptr-ref-ibits-unsigned-40 [flags discard]) - ($fptr-ref-ibits-unsigned-48 [flags discard]) - ($fptr-ref-ibits-unsigned-56 [flags discard]) - ($fptr-ref-ibits-unsigned-64 [flags discard]) - ($fptr-ref-ibits-unsigned-8 [flags discard]) - ($fptr-ref-integer-16 [flags discard]) - ($fptr-ref-integer-24 [flags discard]) - ($fptr-ref-integer-32 [flags discard]) - ($fptr-ref-integer-40 [flags discard]) - ($fptr-ref-integer-48 [flags discard]) - ($fptr-ref-integer-56 [flags discard]) - ($fptr-ref-integer-64 [flags discard]) - ($fptr-ref-integer-8 [flags discard]) - ($fptr-ref-single-float [flags discard]) - ($fptr-ref-swap-boolean [flags discard]) - ($fptr-ref-swap-double-float [flags discard]) - ($fptr-ref-swap-fixnum [flags discard]) - ($fptr-ref-swap-integer-16 [flags discard]) - ($fptr-ref-swap-integer-24 [flags discard]) - ($fptr-ref-swap-integer-32 [flags discard]) - ($fptr-ref-swap-integer-40 [flags discard]) - ($fptr-ref-swap-integer-48 [flags discard]) - ($fptr-ref-swap-integer-56 [flags discard]) - ($fptr-ref-swap-integer-64 [flags discard]) - ($fptr-ref-swap-single-float [flags discard]) - ($fptr-ref-swap-unsigned-16 [flags discard]) - ($fptr-ref-swap-unsigned-24 [flags discard]) - ($fptr-ref-swap-unsigned-32 [flags discard]) - ($fptr-ref-swap-unsigned-40 [flags discard]) - ($fptr-ref-swap-unsigned-48 [flags discard]) - ($fptr-ref-swap-unsigned-56 [flags discard]) - ($fptr-ref-swap-unsigned-64 [flags discard]) - ($fptr-ref-swap-wchar [flags discard]) - ($fptr-ref-ubits-swap-unsigned-16 [flags discard]) - ($fptr-ref-ubits-swap-unsigned-24 [flags discard]) - ($fptr-ref-ubits-swap-unsigned-32 [flags discard]) - ($fptr-ref-ubits-swap-unsigned-40 [flags discard]) - ($fptr-ref-ubits-swap-unsigned-48 [flags discard]) - ($fptr-ref-ubits-swap-unsigned-56 [flags discard]) - ($fptr-ref-ubits-swap-unsigned-64 [flags discard]) - ($fptr-ref-ubits-unsigned-16 [flags discard]) - ($fptr-ref-ubits-unsigned-24 [flags discard]) - ($fptr-ref-ubits-unsigned-32 [flags discard]) - ($fptr-ref-ubits-unsigned-40 [flags discard]) - ($fptr-ref-ubits-unsigned-48 [flags discard]) - ($fptr-ref-ubits-unsigned-56 [flags discard]) - ($fptr-ref-ubits-unsigned-64 [flags discard]) - ($fptr-ref-ubits-unsigned-8 [flags discard]) - ($fptr-ref-unsigned-16 [flags discard]) - ($fptr-ref-unsigned-24 [flags discard]) - ($fptr-ref-unsigned-32 [flags discard]) - ($fptr-ref-unsigned-40 [flags discard]) - ($fptr-ref-unsigned-48 [flags discard]) - ($fptr-ref-unsigned-56 [flags discard]) - ($fptr-ref-unsigned-64 [flags discard]) - ($fptr-ref-unsigned-8 [flags discard]) - ($fptr-ref-wchar [flags discard]) - ($fptr-set-bits! [flags]) - ($fptr-set-bits-swap-unsigned-16! [flags]) - ($fptr-set-bits-swap-unsigned-24! [flags]) - ($fptr-set-bits-swap-unsigned-32! [flags]) - ($fptr-set-bits-swap-unsigned-40! [flags]) - ($fptr-set-bits-swap-unsigned-48! [flags]) - ($fptr-set-bits-swap-unsigned-56! [flags]) - ($fptr-set-bits-swap-unsigned-64! [flags]) - ($fptr-set-bits-unsigned-16! [flags]) - ($fptr-set-bits-unsigned-24! [flags]) - ($fptr-set-bits-unsigned-32! [flags]) - ($fptr-set-bits-unsigned-40! [flags]) - ($fptr-set-bits-unsigned-48! [flags]) - ($fptr-set-bits-unsigned-56! [flags]) - ($fptr-set-bits-unsigned-64! [flags]) - ($fptr-set-bits-unsigned-8! [flags]) - ($fptr-set-boolean! [flags]) - ($fptr-set-char! [flags]) - ($fptr-set-double-float! [flags]) - ($fptr-set-fixnum! [flags]) - ($fptr-set! [flags]) - ($fptr-set-integer-16! [flags]) - ($fptr-set-integer-24! [flags]) - ($fptr-set-integer-32! [flags]) - ($fptr-set-integer-40! [flags]) - ($fptr-set-integer-48! [flags]) - ($fptr-set-integer-56! [flags]) - ($fptr-set-integer-64! [flags]) - ($fptr-set-integer-8! [flags]) - ($fptr-set-single-float! [flags]) - ($fptr-set-swap-boolean! [flags]) - ($fptr-set-swap-double-float! [flags]) - ($fptr-set-swap-fixnum! [flags]) - ($fptr-set-swap-integer-16! [flags]) - ($fptr-set-swap-integer-24! [flags]) - ($fptr-set-swap-integer-32! [flags]) - ($fptr-set-swap-integer-40! [flags]) - ($fptr-set-swap-integer-48! [flags]) - ($fptr-set-swap-integer-56! [flags]) - ($fptr-set-swap-integer-64! [flags]) - ($fptr-set-swap-single-float! [flags]) - ($fptr-set-swap-unsigned-16! [flags]) - ($fptr-set-swap-unsigned-24! [flags]) - ($fptr-set-swap-unsigned-32! [flags]) - ($fptr-set-swap-unsigned-40! [flags]) - ($fptr-set-swap-unsigned-48! [flags]) - ($fptr-set-swap-unsigned-56! [flags]) - ($fptr-set-swap-unsigned-64! [flags]) - ($fptr-set-swap-wchar! [flags]) - ($fptr-set-unsigned-16! [flags]) - ($fptr-set-unsigned-24! [flags]) - ($fptr-set-unsigned-32! [flags]) - ($fptr-set-unsigned-40! [flags]) - ($fptr-set-unsigned-48! [flags]) - ($fptr-set-unsigned-56! [flags]) - ($fptr-set-unsigned-64! [flags]) - ($fptr-set-unsigned-8! [flags]) - ($fptr-set-wchar! [flags]) - ($fptr-spin-lock! [flags]) - ($fptr-unlock! [flags]) - ($fp-type->pred [flags]) - ($ftd? [flags]) - ($ftd-alignment [flags]) - ($ftd-as-box? [flags]) - ($ftd-atomic-category [flags]) - ($ftd-compound? [flags]) - ($ftd-size [flags]) - ($ftd->members [flags]) + ($fasl-base-rtd [flags single-valued]) + ($fasl-bld-graph [flags single-valued]) + ($fasl-enter [flags single-valued]) + ($fasl-file-equal? #;[sig [(pathname pathname) (pathname pathname ptr) -> (boolean)]] [flags single-valued]) + ($fasl-out [flags single-valued]) + ($fasl-start [flags single-valued]) + ($fasl-table [flags single-valued]) + ($fasl-wrf-graph [flags single-valued]) + ($filter-conv [flags single-valued]) + ($filter-foreign-type [flags single-valued]) + ($fixed-path? [flags single-valued]) + ($<= [flags single-valued]) + ($< [flags single-valued]) + ($= [flags single-valued]) + ($- [flags single-valued]) + ($/ [flags single-valued]) + ($* [flags single-valued]) + ($+ [flags single-valued]) + ($fleqv? [flags single-valued]) + ($flhash [flags single-valued]) + ($flonum->digits [flags single-valued]) + ($flonum-exponent [flags single-valued]) + ($flonum->fixnum [flags single-valued]) + ($flonum-sign [flags single-valued]) + ($flush-instruction-cache [flags single-valued]) + ($foreign-char? [flags single-valued pure unrestricted mifoldable discard]) + ($foreign-entries [flags single-valued]) + ($foreign-entry [flags single-valued discard]) + ($foreign-wchar? [flags single-valued pure unrestricted cp02]) + ($format-scheme-version [flags single-valued alloc]) + ($fp-filter-type [flags single-valued]) + ($fp-string->utf16 [flags single-valued]) + ($fp-string->utf32 [flags single-valued]) + ($fp-string->utf8 [flags single-valued]) + ($fptr-fptr-ref [flags single-valued discard]) + ($fptr-fptr-set! [flags single-valued]) + ($fptr-init-lock! [flags single-valued]) + ($fptr-locked-decr! [flags single-valued]) + ($fptr-locked-incr! [flags single-valued]) + ($fptr-lock! [flags single-valued]) + ($fptr-offset-addr [flags single-valued]) + ($fptr-ref-bits [flags single-valued discard]) + ($fptr-ref-boolean [flags single-valued discard]) + ($fptr-ref-char [flags single-valued discard]) + ($fptr-ref-double-float [flags single-valued discard]) + ($fptr-ref-fixnum [flags single-valued discard]) + ($fptr-&ref [flags single-valued discard]) + ($fptr-ref [flags single-valued discard]) + ($fptr-ref-ibits-swap-unsigned-16 [flags single-valued discard]) + ($fptr-ref-ibits-swap-unsigned-24 [flags single-valued discard]) + ($fptr-ref-ibits-swap-unsigned-32 [flags single-valued discard]) + ($fptr-ref-ibits-swap-unsigned-40 [flags single-valued discard]) + ($fptr-ref-ibits-swap-unsigned-48 [flags single-valued discard]) + ($fptr-ref-ibits-swap-unsigned-56 [flags single-valued discard]) + ($fptr-ref-ibits-swap-unsigned-64 [flags single-valued discard]) + ($fptr-ref-ibits-unsigned-16 [flags single-valued discard]) + ($fptr-ref-ibits-unsigned-24 [flags single-valued discard]) + ($fptr-ref-ibits-unsigned-32 [flags single-valued discard]) + ($fptr-ref-ibits-unsigned-40 [flags single-valued discard]) + ($fptr-ref-ibits-unsigned-48 [flags single-valued discard]) + ($fptr-ref-ibits-unsigned-56 [flags single-valued discard]) + ($fptr-ref-ibits-unsigned-64 [flags single-valued discard]) + ($fptr-ref-ibits-unsigned-8 [flags single-valued discard]) + ($fptr-ref-integer-16 [flags single-valued discard]) + ($fptr-ref-integer-24 [flags single-valued discard]) + ($fptr-ref-integer-32 [flags single-valued discard]) + ($fptr-ref-integer-40 [flags single-valued discard]) + ($fptr-ref-integer-48 [flags single-valued discard]) + ($fptr-ref-integer-56 [flags single-valued discard]) + ($fptr-ref-integer-64 [flags single-valued discard]) + ($fptr-ref-integer-8 [flags single-valued discard]) + ($fptr-ref-single-float [flags single-valued discard]) + ($fptr-ref-swap-boolean [flags single-valued discard]) + ($fptr-ref-swap-double-float [flags single-valued discard]) + ($fptr-ref-swap-fixnum [flags single-valued discard]) + ($fptr-ref-swap-integer-16 [flags single-valued discard]) + ($fptr-ref-swap-integer-24 [flags single-valued discard]) + ($fptr-ref-swap-integer-32 [flags single-valued discard]) + ($fptr-ref-swap-integer-40 [flags single-valued discard]) + ($fptr-ref-swap-integer-48 [flags single-valued discard]) + ($fptr-ref-swap-integer-56 [flags single-valued discard]) + ($fptr-ref-swap-integer-64 [flags single-valued discard]) + ($fptr-ref-swap-single-float [flags single-valued discard]) + ($fptr-ref-swap-unsigned-16 [flags single-valued discard]) + ($fptr-ref-swap-unsigned-24 [flags single-valued discard]) + ($fptr-ref-swap-unsigned-32 [flags single-valued discard]) + ($fptr-ref-swap-unsigned-40 [flags single-valued discard]) + ($fptr-ref-swap-unsigned-48 [flags single-valued discard]) + ($fptr-ref-swap-unsigned-56 [flags single-valued discard]) + ($fptr-ref-swap-unsigned-64 [flags single-valued discard]) + ($fptr-ref-swap-wchar [flags single-valued discard]) + ($fptr-ref-ubits-swap-unsigned-16 [flags single-valued discard]) + ($fptr-ref-ubits-swap-unsigned-24 [flags single-valued discard]) + ($fptr-ref-ubits-swap-unsigned-32 [flags single-valued discard]) + ($fptr-ref-ubits-swap-unsigned-40 [flags single-valued discard]) + ($fptr-ref-ubits-swap-unsigned-48 [flags single-valued discard]) + ($fptr-ref-ubits-swap-unsigned-56 [flags single-valued discard]) + ($fptr-ref-ubits-swap-unsigned-64 [flags single-valued discard]) + ($fptr-ref-ubits-unsigned-16 [flags single-valued discard]) + ($fptr-ref-ubits-unsigned-24 [flags single-valued discard]) + ($fptr-ref-ubits-unsigned-32 [flags single-valued discard]) + ($fptr-ref-ubits-unsigned-40 [flags single-valued discard]) + ($fptr-ref-ubits-unsigned-48 [flags single-valued discard]) + ($fptr-ref-ubits-unsigned-56 [flags single-valued discard]) + ($fptr-ref-ubits-unsigned-64 [flags single-valued discard]) + ($fptr-ref-ubits-unsigned-8 [flags single-valued discard]) + ($fptr-ref-unsigned-16 [flags single-valued discard]) + ($fptr-ref-unsigned-24 [flags single-valued discard]) + ($fptr-ref-unsigned-32 [flags single-valued discard]) + ($fptr-ref-unsigned-40 [flags single-valued discard]) + ($fptr-ref-unsigned-48 [flags single-valued discard]) + ($fptr-ref-unsigned-56 [flags single-valued discard]) + ($fptr-ref-unsigned-64 [flags single-valued discard]) + ($fptr-ref-unsigned-8 [flags single-valued discard]) + ($fptr-ref-wchar [flags single-valued discard]) + ($fptr-set-bits! [flags single-valued]) + ($fptr-set-bits-swap-unsigned-16! [flags single-valued]) + ($fptr-set-bits-swap-unsigned-24! [flags single-valued]) + ($fptr-set-bits-swap-unsigned-32! [flags single-valued]) + ($fptr-set-bits-swap-unsigned-40! [flags single-valued]) + ($fptr-set-bits-swap-unsigned-48! [flags single-valued]) + ($fptr-set-bits-swap-unsigned-56! [flags single-valued]) + ($fptr-set-bits-swap-unsigned-64! [flags single-valued]) + ($fptr-set-bits-unsigned-16! [flags single-valued]) + ($fptr-set-bits-unsigned-24! [flags single-valued]) + ($fptr-set-bits-unsigned-32! [flags single-valued]) + ($fptr-set-bits-unsigned-40! [flags single-valued]) + ($fptr-set-bits-unsigned-48! [flags single-valued]) + ($fptr-set-bits-unsigned-56! [flags single-valued]) + ($fptr-set-bits-unsigned-64! [flags single-valued]) + ($fptr-set-bits-unsigned-8! [flags single-valued]) + ($fptr-set-boolean! [flags single-valued]) + ($fptr-set-char! [flags single-valued]) + ($fptr-set-double-float! [flags single-valued]) + ($fptr-set-fixnum! [flags single-valued]) + ($fptr-set! [flags single-valued]) + ($fptr-set-integer-16! [flags single-valued]) + ($fptr-set-integer-24! [flags single-valued]) + ($fptr-set-integer-32! [flags single-valued]) + ($fptr-set-integer-40! [flags single-valued]) + ($fptr-set-integer-48! [flags single-valued]) + ($fptr-set-integer-56! [flags single-valued]) + ($fptr-set-integer-64! [flags single-valued]) + ($fptr-set-integer-8! [flags single-valued]) + ($fptr-set-single-float! [flags single-valued]) + ($fptr-set-swap-boolean! [flags single-valued]) + ($fptr-set-swap-double-float! [flags single-valued]) + ($fptr-set-swap-fixnum! [flags single-valued]) + ($fptr-set-swap-integer-16! [flags single-valued]) + ($fptr-set-swap-integer-24! [flags single-valued]) + ($fptr-set-swap-integer-32! [flags single-valued]) + ($fptr-set-swap-integer-40! [flags single-valued]) + ($fptr-set-swap-integer-48! [flags single-valued]) + ($fptr-set-swap-integer-56! [flags single-valued]) + ($fptr-set-swap-integer-64! [flags single-valued]) + ($fptr-set-swap-single-float! [flags single-valued]) + ($fptr-set-swap-unsigned-16! [flags single-valued]) + ($fptr-set-swap-unsigned-24! [flags single-valued]) + ($fptr-set-swap-unsigned-32! [flags single-valued]) + ($fptr-set-swap-unsigned-40! [flags single-valued]) + ($fptr-set-swap-unsigned-48! [flags single-valued]) + ($fptr-set-swap-unsigned-56! [flags single-valued]) + ($fptr-set-swap-unsigned-64! [flags single-valued]) + ($fptr-set-swap-wchar! [flags single-valued]) + ($fptr-set-unsigned-16! [flags single-valued]) + ($fptr-set-unsigned-24! [flags single-valued]) + ($fptr-set-unsigned-32! [flags single-valued]) + ($fptr-set-unsigned-40! [flags single-valued]) + ($fptr-set-unsigned-48! [flags single-valued]) + ($fptr-set-unsigned-56! [flags single-valued]) + ($fptr-set-unsigned-64! [flags single-valued]) + ($fptr-set-unsigned-8! [flags single-valued]) + ($fptr-set-wchar! [flags single-valued]) + ($fptr-spin-lock! [flags single-valued]) + ($fptr-unlock! [flags single-valued]) + ($fp-type->pred [flags single-valued]) + ($ftd? [flags single-valued]) + ($ftd-alignment [flags single-valued]) + ($ftd-as-box? [flags single-valued]) + ($ftd-atomic-category [flags single-valued]) + ($ftd-compound? [flags single-valued]) + ($ftd-size [flags single-valued]) + ($ftd->members [flags single-valued]) ($ftype-guardian-oops [flags]) - ($ftype-pointer? [flags]) - ($fxaddress [flags unrestricted alloc]) - ($fx-? [flags]) - ($fx/ [flags]) - ($fx* [flags]) - ($fx+? [flags]) - ($fxu< [flags pure cp02]) - ($fxvector-ref-check? [flags]) - ($fxvector-set!-check? [flags]) + ($ftype-pointer? [flags single-valued]) + ($fxaddress [flags single-valued unrestricted alloc]) + ($fx-? [flags single-valued]) + ($fx/ [flags single-valued]) + ($fx* [flags single-valued]) + ($fx+? [flags single-valued]) + ($fxu< [flags single-valued pure cp02]) + ($fxvector-ref-check? [flags single-valued]) + ($fxvector-set!-check? [flags single-valued]) ($fxvector-set-immutable! #;[sig [(fxvector) -> (ptr)]] [flags true]) ($gc-cpu-time [flags true]) ($gc-real-time [flags true]) - ($generation [flags]) - ($gensym->pretty-name [flags]) + ($generation [flags single-valued]) + ($gensym->pretty-name [flags single-valued]) ($guard [flags]) - ($hand-coded [flags]) + ($hand-coded [flags single-valued]) ($hashtable-report [flags true]) - ($hashtable-size->minlen [flags]) + ($hashtable-size->minlen [flags single-valued]) ($hashtable-veclen [flags discard]) - ($ht-minlen [flags discard]) - ($ht-veclen [flags discard]) - ($immediate? [flags]) + ($ht-minlen [flags single-valued discard]) + ($ht-veclen [flags single-valued discard]) + ($immediate? [flags single-valued]) ($impoops [flags abort-op]) - ($import-library [flags]) - ($inexactnum? [flags]) - ($inexactnum-imag-part [flags]) - ($inexactnum-real-part [flags]) - ($install-ftype-guardian [flags]) - ($install-guardian [flags]) - ($install-library-clo-info [flags]) - ($install-library/ct-code [flags]) - ($install-library/ct-desc [flags]) - ($install-library-entry [flags]) - ($install-library/rt-code [flags]) - ($install-library/rt-desc [flags]) - ($install-program-desc [flags]) - ($instantiate-code-object [flags]) - ($integer-16? [flags pure unrestricted mifoldable discard]) - ($integer-24? [flags pure unrestricted mifoldable discard]) - ($integer-32? [flags pure unrestricted mifoldable discard]) - ($integer-40? [flags pure unrestricted mifoldable discard]) - ($integer-48? [flags pure unrestricted mifoldable discard]) - ($integer-56? [flags pure unrestricted mifoldable discard]) - ($integer-64? [flags pure unrestricted mifoldable discard]) - ($integer-8? [flags pure unrestricted mifoldable discard]) - ($intern2 [flags]) - ($intern3 [flags]) - ($intern-gensym [flags]) - ($interpret-backend [flags]) - ($invalid-ftype-index [flags]) - ($invoke-library [flags]) - ($invoke-program [flags]) - ($io-init [flags]) - ($keep-live [flags]) - ($last-new-vector-element [flags]) - ($lexical-error [flags]) + ($import-library [flags single-valued]) + ($inexactnum? [flags single-valued]) + ($inexactnum-imag-part [flags single-valued]) + ($inexactnum-real-part [flags single-valued]) + ($install-ftype-guardian [flags single-valued]) + ($install-guardian [flags single-valued]) + ($install-library-clo-info [flags single-valued]) + ($install-library/ct-code [flags single-valued]) + ($install-library/ct-desc [flags single-valued]) + ($install-library-entry [flags single-valued]) + ($install-library/rt-code [flags single-valued]) + ($install-library/rt-desc [flags single-valued]) + ($install-program-desc [flags single-valued]) + ($instantiate-code-object [flags single-valued]) + ($integer-16? [flags single-valued pure unrestricted mifoldable discard]) + ($integer-24? [flags single-valued pure unrestricted mifoldable discard]) + ($integer-32? [flags single-valued pure unrestricted mifoldable discard]) + ($integer-40? [flags single-valued pure unrestricted mifoldable discard]) + ($integer-48? [flags single-valued pure unrestricted mifoldable discard]) + ($integer-56? [flags single-valued pure unrestricted mifoldable discard]) + ($integer-64? [flags single-valued pure unrestricted mifoldable discard]) + ($integer-8? [flags single-valued pure unrestricted mifoldable discard]) + ($intern2 [flags single-valued]) + ($intern3 [flags single-valued]) + ($intern-gensym [flags single-valued]) + ($interpret-backend [flags single-valued]) + ($invalid-ftype-index [flags single-valued]) + ($invoke-library [flags single-valued]) + ($invoke-program [flags single-valued]) + ($io-init [flags single-valued]) + ($keep-live [flags single-valued]) + ($last-new-vector-element [flags single-valued]) + ($lexical-error [flags single-valued]) ($library-search [flags]) ($list-length [flags single-valued]) - ($load-library [flags]) + ($load-library [flags single-valued]) ($locate-source [flags]) - ($logand [flags]) - ($logbit0 [flags]) - ($logbit1 [flags]) - ($logbit? [flags]) - ($lognot [flags]) - ($logor [flags]) - ($logtest [flags]) - ($logxor [flags]) - ($lookup-library-entry [flags]) - ($loop-unroll-limit [flags]) - ($make-annotation-options [flags pure discard true]) - ($make-base-modules [flags]) - ($make-binary-input/output-port #;[sig [(string port-handler bytevector bytevector) (string port-handler bytevector bytevector ptr) -> (binary-input/output-port)]] [flags alloc]) - ($make-binary-input-port #;[sig [(string port-handler bytevector) (string port-handler bytevector ptr) -> (binary-input-port)]] [flags alloc]) - ($make-binary-output-port #;[sig [(string port-handler bytevector) (string port-handler bytevector ptr) -> (binary-output-port)]] [flags alloc]) - ($make-boot-file [flags]) - ($make-boot-header [flags]) - ($make-cinst [flags]) - ($make-closure [flags]) - ($make-code-object [flags]) - ($make-environment [flags]) - ($make-eq-hashtable [flags alloc]) - ($make-eqhash-vector [flags alloc]) - ($make-exactnum [flags]) - ($make-fasl-strip-options [flags pure discard true]) - ($make-file-options [flags pure discard true]) - ($make-fmt->expr [flags]) - ($make-foreign-callable [flags]) - ($make-foreign-procedure [flags]) - ($make-fptr [flags pure mifoldable discard true]) - ($make-ftype-guardian [flags alloc cp02]) - ($make-graph-env [flags]) - ($make-library-requirements-options [flags pure discard true]) - ($make-load-binary [flags]) - ($make-object-finder [flags]) - ($make-phantom-bytevector [flags]) - ($make-promise [flags alloc]) - ($make-read [flags]) - ($make-recompile-condition [flags]) - ($make-record-constructor-descriptor [flags pure true cp02]) - ($make-record-type-descriptor [flags pure alloc cp02]) - ($make-record-type #;[sig [(rtd maybe-rtd sub-ptr sub-list ptr ptr ptr ...) -> (rtd)]] [flags pure alloc cp02]) - ($make-relocation-table! [flags]) - ($make-rnrs-libraries [flags]) - ($make-source-oops [flags]) - ($make-src-condition [flags]) - ($make-textual-input/output-port #;[sig [(string port-handler string string) (string port-handler string string ptr) -> (textual-input/output-port)]] [flags alloc]) - ($make-textual-input-port #;[sig [(string port-handler string) (string port-handler string ptr) -> (textual-input-port)]] [flags alloc]) - ($make-textual-output-port #;[sig [(string port-handler string) (string port-handler string ptr) -> (textual-output-port)]] [flags alloc]) - ($make-tlc [flags alloc]) - ($make-vtable [flags]) - ($make-wrapper-procedure [flags]) - ($map [flags]) - ($mark-invoked! [flags]) - ($maybe-compile-file [flags]) - ($maybe-seginfo [flags]) - ($noexpand? [flags]) - ($np-boot-code [flags]) - ($np-compile [flags]) - ($np-get-timers [flags]) - ($np-last-pass [flags]) - ($np-reset-timers! [flags]) - ($np-tracer [flags]) - ($null-continuation [flags]) - ($object-address [flags]) - ($object-in-heap? [flags]) - ($object-ref [flags]) ; can't fold since optimize-level 2 version does no checks - ($object-set! [flags]) + ($logand [flags single-valued]) + ($logbit0 [flags single-valued]) + ($logbit1 [flags single-valued]) + ($logbit? [flags single-valued]) + ($lognot [flags single-valued]) + ($logor [flags single-valued]) + ($logtest [flags single-valued]) + ($logxor [flags single-valued]) + ($lookup-library-entry [flags single-valued]) + ($loop-unroll-limit [flags single-valued]) + ($make-annotation-options [flags single-valued pure discard true]) + ($make-base-modules [flags single-valued]) + ($make-binary-input/output-port #;[sig [(string port-handler bytevector bytevector) (string port-handler bytevector bytevector ptr) -> (binary-input/output-port)]] [flags single-valued alloc]) + ($make-binary-input-port #;[sig [(string port-handler bytevector) (string port-handler bytevector ptr) -> (binary-input-port)]] [flags single-valued alloc]) + ($make-binary-output-port #;[sig [(string port-handler bytevector) (string port-handler bytevector ptr) -> (binary-output-port)]] [flags single-valued alloc]) + ($make-boot-file [flags single-valued]) + ($make-boot-header [flags single-valued]) + ($make-cinst [flags single-valued]) + ($make-closure [flags single-valued]) + ($make-code-object [flags single-valued]) + ($make-environment [flags single-valued]) + ($make-eq-hashtable [flags single-valued alloc]) + ($make-eqhash-vector [flags single-valued alloc]) + ($make-exactnum [flags single-valued]) + ($make-fasl-strip-options [flags single-valued pure discard true]) + ($make-file-options [flags single-valued pure discard true]) + ($make-fmt->expr [flags single-valued]) + ($make-foreign-callable [flags single-valued]) + ($make-foreign-procedure [flags single-valued]) + ($make-fptr [flags single-valued pure mifoldable discard true]) + ($make-ftype-guardian [flags single-valued alloc cp02]) + ($make-graph-env [flags single-valued]) + ($make-library-requirements-options [flags single-valued pure discard true]) + ($make-load-binary [flags single-valued]) + ($make-object-finder [flags single-valued]) + ($make-phantom-bytevector [flags single-valued]) + ($make-promise [flags single-valued alloc]) + ($make-read [flags single-valued]) + ($make-recompile-condition [flags single-valued]) + ($make-record-constructor-descriptor [flags single-valued pure true cp02]) + ($make-record-type-descriptor [flags single-valued pure alloc cp02]) + ($make-record-type #;[sig [(rtd maybe-rtd sub-ptr sub-list ptr ptr ptr ...) -> (rtd)]] [flags single-valued pure alloc cp02]) + ($make-relocation-table! [flags single-valued]) + ($make-rnrs-libraries [flags single-valued]) + ($make-source-oops [flags single-valued]) + ($make-src-condition [flags single-valued]) + ($make-textual-input/output-port #;[sig [(string port-handler string string) (string port-handler string string ptr) -> (textual-input/output-port)]] [flags single-valued alloc]) + ($make-textual-input-port #;[sig [(string port-handler string) (string port-handler string ptr) -> (textual-input-port)]] [flags single-valued alloc]) + ($make-textual-output-port #;[sig [(string port-handler string) (string port-handler string ptr) -> (textual-output-port)]] [flags single-valued alloc]) + ($make-tlc [flags single-valued alloc]) + ($make-vtable [flags single-valued]) + ($make-wrapper-procedure [flags single-valued]) + ($map [flags single-valued]) + ($mark-invoked! [flags single-valued]) + ($maybe-compile-file [flags single-valued]) + ($maybe-seginfo [flags single-valued]) + ($noexpand? [flags single-valued]) + ($np-boot-code [flags single-valued]) + ($np-compile [flags single-valued]) + ($np-get-timers [flags single-valued]) + ($np-last-pass [flags single-valued]) + ($np-reset-timers! [flags single-valued]) + ($np-tracer [flags single-valued]) + ($null-continuation [flags single-valued]) + ($object-address [flags single-valued]) + ($object-in-heap? [flags single-valued]) + ($object-ref [flags single-valued]) ; can't fold since optimize-level 2 version does no checks + ($object-set! [flags single-valued]) ($oops/c [flags abort-op]) ($oops [flags abort-op]) ($open-bytevector-list-output-port [flags]) - ($open-file-input/output-port [flags]) - ($open-file-input-port [flags]) - ($open-file-output-port [flags]) - ($open-source-file [flags]) - ($parse-format-string [flags]) - ($pass-stats-fields [flags]) - ($pass-stats [flags]) - ($pass-time [flags]) - ($port-flags-set? [flags]) - ($port-handler [flags]) - ($port-info #;[sig [(port) -> (ptr)]] [flags discard]) - ($print-pass-stats [flags]) - ($procedure-name [flags]) - ($profile-block-data? [flags]) - ($profile-show-database [flags]) - ($profile-source-data? [flags]) - ($ptr-copy! [flags]) - ($quotient-remainder [flags]) - ($ratio-denominator [flags]) - ($ratio-numerator [flags]) - ($raw-collect-cond [feature pthreads] [flags]) - ($raw-tc-mutex [feature pthreads] [flags]) - ($read-performance-monitoring-counter [flags]) - ($read-time-stamp-counter [flags]) - ($real->flonum [flags arith-op mifoldable discard]) - ($real-sym-name [flags]) - ($recompile-condition? [flags]) - ($recompile-importer-path [flags]) - ($record [flags cp02 unrestricted alloc]) ; first arg should be an rtd, but we don't check - ($record? [flags pure mifoldable discard]) - ($record-cas! [sig [(record sub-index ptr ptr) -> (boolean)]] [flags]) - ($record-equal-procedure [flags discard]) - ($record-hash-procedure [flags discard]) - ($record-oops #;[sig [(maybe-who sub-ptr rtd) -> (bottom)]] [flags abort-op]) - ($record-ref [sig [(ptr sub-index) -> (ptr)]] [flags discard cp03]) + ($open-file-input/output-port [flags single-valued]) + ($open-file-input-port [flags single-valued]) + ($open-file-output-port [flags single-valued]) + ($open-source-file [flags single-valued]) + ($parse-format-string [flags single-valued]) + ($pass-stats-fields [flags single-valued]) + ($pass-stats [flags single-valued]) + ($pass-time [flags single-valued]) + ($port-flags-set? [flags single-valued]) + ($port-handler [flags single-valued]) + ($port-info #;[sig [(port) -> (ptr)]] [flags single-valued discard]) + ($print-pass-stats [flags single-valued]) + ($procedure-name [flags single-valued]) + ($profile-block-data? [flags single-valued]) + ($profile-show-database [flags single-valued]) + ($profile-source-data? [flags single-valued]) + ($ptr-copy! [flags single-valued]) + ($quotient-remainder [flags single-valued]) + ($ratio-denominator [flags single-valued]) + ($ratio-numerator [flags single-valued]) + ($raw-collect-cond [feature pthreads] [flags single-valued]) + ($raw-tc-mutex [feature pthreads] [flags single-valued]) + ($read-performance-monitoring-counter [flags single-valued]) + ($read-time-stamp-counter [flags single-valued]) + ($real->flonum [flags single-valued arith-op mifoldable discard]) + ($real-sym-name [flags single-valued]) + ($recompile-condition? [flags single-valued]) + ($recompile-importer-path [flags single-valued]) + ($record [flags single-valued cp02 unrestricted alloc]) ; first arg should be an rtd, but we don't check + ($record? [flags single-valued pure mifoldable discard]) + ($record-cas! [sig [(record sub-index ptr ptr) -> (boolean)]] [flags single-valued]) + ($record-equal-procedure [flags single-valued discard]) + ($record-hash-procedure [flags single-valued discard]) + ($record-oops #;[sig [(who sub-ptr rtd) -> (bottom)]] [flags abort-op]) + ($record-ref [sig [(ptr sub-index) -> (ptr)]] [flags single-valued discard cp03]) ($record-set! [sig [(ptr sub-index ptr) -> (void)]] [flags true]) - ($record-type-descriptor [flags pure mifoldable discard true]) - ($record-type-field-offsets [flags pure mifoldable discard true]) - ($reloc [flags]) - ($remake-rtd [flags]) - ($report-string [flags]) - ($require-include [flags]) - ($require-libraries [flags]) + ($record-type-descriptor [flags single-valued pure mifoldable discard true]) + ($record-type-field-offsets [flags single-valued pure mifoldable discard true]) + ($reloc [flags single-valued]) + ($remake-rtd [flags single-valued]) + ($report-string [flags single-valued]) + ($require-include [flags single-valued]) + ($require-libraries [flags single-valued]) ($reset-port-flags! [flags true]) ($reset-protect [flags]) - ($revisit [flags]) - ($rtd-counts? [flags]) - ($scheme [flags]) - ($scheme-greeting [flags]) - ($scheme-init [flags]) - ($sc-put-cte [flags]) - ($sc-put-property! [flags]) - ($script [flags]) - ($sealed-record? [flags pure mifoldable discard]) - ($seginfo-generation [flags]) - ($seginfo-space [flags]) - ($set-code-byte! [flags]) - ($set-code-long! [flags]) - ($set-code-quad! [flags]) - ($set-code-word! [flags]) - ($set-collect-trip-bytes [flags]) + ($revisit [flags single-valued]) + ($rtd-counts? [flags single-valued]) + ($scheme [flags single-valued]) + ($scheme-greeting [flags single-valued]) + ($scheme-init [flags single-valued]) + ($sc-put-cte [flags single-valued]) + ($sc-put-property! [flags single-valued]) + ($script [flags single-valued]) + ($sealed-record? [flags single-valued pure mifoldable discard]) + ($seginfo-generation [flags single-valued]) + ($seginfo-space [flags single-valued]) + ($set-code-byte! [flags single-valued]) + ($set-code-long! [flags single-valued]) + ($set-code-quad! [flags single-valued]) + ($set-code-word! [flags single-valued]) + ($set-collect-trip-bytes [flags single-valued]) ($set-port-flags! [flags true]) ($set-port-info! #;[sig [(port ptr) -> (void)]] [flags true]) - ($set-symbol-hash! [flags]) - ($set-symbol-name! [flags]) - ($set-symbol-property-list! [flags]) - ($set-system-property-list! [flags]) - ($set-thread-parameter! [feature pthreads] [flags]) - ($set-timer [flags]) + ($set-symbol-hash! [flags single-valued]) + ($set-symbol-name! [flags single-valued]) + ($set-symbol-property-list! [flags single-valued]) + ($set-system-property-list! [flags single-valued]) + ($set-thread-parameter! [feature pthreads] [flags single-valued]) + ($set-timer [flags single-valued]) ($set-tlc-next! [flags true]) ($set-top-level-value! [flags true cp02]) - ($sgetprop [flags]) - ($show-allocation [flags]) - ($signal-interrupt-handler [flags]) - ($source-file-descriptor [flags]) - ($source-violation [flags]) - ($source-warning [flags]) - ($spaces [flags]) - ($split-continuation [flags]) - ($sputprop [flags]) - ($src-condition? [flags]) - ($src-condition-src [flags]) - ($src-condition-start [flags]) - ($sremprop [flags]) - ($string-char-foldcase [flags]) - ($string-ref-check? [flags]) - ($string-set!-check? [flags]) + ($sgetprop [flags single-valued]) + ($show-allocation [flags single-valued]) + ($signal-interrupt-handler [flags single-valued]) + ($source-file-descriptor [flags single-valued]) + ($source-violation [flags single-valued]) + ($source-warning [flags single-valued]) + ($spaces [flags single-valued]) + ($split-continuation [flags single-valued]) + ($sputprop [flags single-valued]) + ($src-condition? [flags single-valued]) + ($src-condition-src [flags single-valued]) + ($src-condition-start [flags single-valued]) + ($sremprop [flags single-valued]) + ($string-char-foldcase [flags single-valued]) + ($string-ref-check? [flags single-valued]) + ($string-set!-check? [flags single-valued]) ($string-set-immutable! #;[sig [(string) -> (ptr)]] [flags true]) - ($str->num [flags]) - ($subsequent? [flags]) - ($swap-object-ref [flags]) ; can't fold since optimize-level 2 version does no checks - ($symbol-hash [flags]) - ($symbol-name [flags]) - ($symbol-property-list [flags]) - ($symbol-type [flags]) - ($syntax-dispatch [flags]) - ($syntax-match? [flags]) + ($str->num [flags single-valued]) + ($subsequent? [flags single-valued]) + ($swap-object-ref [flags single-valued]) ; can't fold since optimize-level 2 version does no checks + ($symbol-hash [flags single-valued]) + ($symbol-name [flags single-valued]) + ($symbol-property-list [flags single-valued]) + ($symbol-type [flags single-valued]) + ($syntax-dispatch [flags single-valued]) + ($syntax-match? [flags single-valued]) ($syntax->src [flags]) - ($syntax-top-level? [flags]) - ($system-code? [flags]) - ($system-environment [flags]) - ($system-library? [flags]) - ($system-procedure? [flags]) - ($system-property-list [flags]) + ($syntax-top-level? [flags single-valued]) + ($system-code? [flags single-valued]) + ($system-environment [flags single-valued]) + ($system-library? [flags single-valued]) + ($system-procedure? [flags single-valued]) + ($system-property-list [flags single-valued]) ($tc-field [flags single-valued]) - ($tc [flags]) - ($thread-list [flags]) - ($thread-tc [flags]) - ($tlc? [flags pure unrestricted mifoldable discard]) - ($tlc-ht [flags mifoldable discard]) - ($tlc-keyval [flags pure mifoldable discard]) - ($tlc-next [flags mifoldable discard]) - ($top-level-bound? [flags discard single-valued]) - ($top-level-value [flags discard cp02 single-valued]) - ($trace-closure [flags pure alloc]) - ($trace [flags]) - ($track-dynamic-closure-counts [flags]) ; added for closure instrumentation - ($track-static-closure-counts [flags alloc]) ; added for closure instrumentation - ($trans-define-ftype [flags]) - ($transformer->binding [flags]) - ($trans-ftype-guardian [flags]) - ($trans-ftype-locked-op! [flags]) - ($trans-ftype-pointer? [flags]) - ($trans-ftype-&ref [flags]) - ($trans-ftype-ref [flags]) - ($trans-ftype-set! [flags]) - ($trans-ftype-sizeof [flags]) - ($trans-make-ftype-pointer [flags]) - ($unbound-object? [flags pure unrestricted mifoldable discard]) - ($unbound-object [flags pure unrestricted mifoldable discard true]) - ($uncprep [flags]) ; side-effects preinfo-sexpr, at least + ($tc [flags single-valued]) + ($thread-list [flags single-valued]) + ($thread-tc [flags single-valued]) + ($tlc? [flags single-valued pure unrestricted mifoldable discard]) + ($tlc-ht [flags single-valued mifoldable discard]) + ($tlc-keyval [flags single-valued pure mifoldable discard]) + ($tlc-next [flags single-valued mifoldable discard]) + ($top-level-bound? [flags single-valued discard single-valued]) + ($top-level-value [flags single-valued discard cp02 single-valued]) + ($trace-closure [flags single-valued pure alloc]) + ($trace [flags single-valued]) + ($track-dynamic-closure-counts [flags single-valued]) ; added for closure instrumentation + ($track-static-closure-counts [flags single-valued alloc]) ; added for closure instrumentation + ($trans-define-ftype [flags single-valued]) + ($transformer->binding [flags single-valued]) + ($trans-ftype-guardian [flags single-valued]) + ($trans-ftype-locked-op! [flags single-valued]) + ($trans-ftype-pointer? [flags single-valued]) + ($trans-ftype-&ref [flags single-valued]) + ($trans-ftype-ref [flags single-valued]) + ($trans-ftype-set! [flags single-valued]) + ($trans-ftype-sizeof [flags single-valued]) + ($trans-make-ftype-pointer [flags single-valued]) + ($unbound-object? [flags single-valued pure unrestricted mifoldable discard]) + ($unbound-object [flags single-valued pure unrestricted mifoldable discard true]) + ($uncprep [flags single-valued]) ; side-effects preinfo-sexpr, at least ($undefined-violation [flags abort-op]) - ($untrace [flags]) - ($unwrap-ftype-pointer [flags]) - ($value [flags unrestricted discard single-valued cp02]) - ($vector-ref-check? [flags]) - ($vector-set!-check? [flags]) + ($untrace [flags single-valued]) + ($unwrap-ftype-pointer [flags single-valued]) + ($value [flags pure unrestricted discard cp02]) + ($vector-ref-check? [flags single-valued]) + ($vector-set!-check? [flags single-valued]) ($vector-set-immutable! #;[sig [(vector) -> (ptr)]] [flags true]) - ($verify-ftype-address [flags cp02]) - ($verify-ftype-pointer [flags]) - ($visit [flags]) - ($visit-library [flags]) - ($with-fasl-target [flags]) - ($write-pretty-quick [flags]) - ($xscript-port? [flags]) + ($verify-ftype-address [flags single-valued cp02]) + ($verify-ftype-pointer [flags single-valued]) + ($visit [flags single-valued]) + ($visit-library [flags single-valued]) + ($with-fasl-target [flags single-valued]) + ($write-pretty-quick [flags single-valued]) + ($xscript-port? [flags single-valued]) ) (define-symbol-flags* ([libraries] [flags system]) ; system options sets @@ -2329,22 +2331,22 @@ ) (define-symbol-flags* ([libraries] [flags system proc]) ; system parameters - ($block-counter [flags]) - ($cafe [flags]) - ($compile-profile [flags]) - ($cp0-inner-unroll-limit #;[sig [() -> (ufixnum)] [(ufixnum) -> (void)]] [flags]) - ($cp0-polyvariant #;[sig [() -> (boolean)] [(ptr) -> (void)]] [flags unrestricted]) - ($current-mso [flags]) - ($enable-check-heap [flags]) - ($enable-check-prelex-flags [flags]) - ($enable-expeditor [feature expeditor] [flags]) - ($enable-pass-timing [flags]) - ($expeditor-history-file [feature expeditor] [flags]) - ($fasl-target [flags]) - ($optimize-closures #;[sig [() -> (boolean)] [(ptr) -> (void)]] [flags unrestricted]) - ($suppress-primitive-inlining #;[sig [() -> (boolean)] [(ptr) -> (void)]] [flags unrestricted]) - ($sfd [flags]) - ($target-machine [flags]) + ($block-counter [flags single-valued]) + ($cafe [flags single-valued]) + ($compile-profile [flags single-valued]) + ($cp0-inner-unroll-limit #;[sig [() -> (ufixnum)] [(ufixnum) -> (void)]] [flags single-valued]) + ($cp0-polyvariant #;[sig [() -> (boolean)] [(ptr) -> (void)]] [flags single-valued unrestricted]) + ($current-mso [flags single-valued]) + ($enable-check-heap [flags single-valued]) + ($enable-check-prelex-flags [flags single-valued]) + ($enable-expeditor [feature expeditor] [flags single-valued]) + ($enable-pass-timing [flags single-valued]) + ($expeditor-history-file [feature expeditor] [flags single-valued]) + ($fasl-target [flags single-valued]) + ($optimize-closures #;[sig [() -> (boolean)] [(ptr) -> (void)]] [flags single-valued unrestricted]) + ($suppress-primitive-inlining #;[sig [() -> (boolean)] [(ptr) -> (void)]] [flags single-valued unrestricted]) + ($sfd [flags single-valued]) + ($target-machine [flags single-valued]) ) (define-symbol-flags* ([libraries] [flags system]) ; system state variables