I didn't use the suggested fix by either @Syntacticlosure or @mfelleisen
because there's another usage of `not-has?` which is correct already, so
changing `not-has?` would break it.
Commit 68b2f597ec moved the argument from RDI to RCX, but the
`popcount-slow` function wasn't updated.
Related to racket/racket#3150
original commit: 80ffa4eea197a885cd647fcfb76dda720b64781d
* docs: for/stream: mention multiple values
A minimal improvement to the for/stream docs mentioning it doesn't support multiple values per iteration.
* docs: for/stream: mention stream/values package
* docs: for/stream: remove mention of external packages
* docs: for/stream: improve spelling, fix link to multiple values
Instead of logging an error when the `openssl` module is loaded, defer
a complaint until procedures that would depend on the configuration is
called. Otherwise, errors can get printed in programs that depend on
the `openssl` library but do not always need OpenSSL support at run
time.
This is a backward-incompatible changed, but no packages currently
registered at pkgs.racket-lang.org refer to `ssl-dh4096-param-path`.
Providing `ssl-dh4096-param-bytes`, instead, avoids carrying along an
extra file with any stand-alone executable that depends on `openssl`.
Move jobs doing static analysis to its own workflow.
RacketCGC is needed so perform a speed build (takes 3mins) before the static analysis on each job that requires it.
When potentially adding the `--disable-lib` flag, don't drop existing
extra configure flags. Specifically, the `--enable-crossany` flag
from distro-build could get lost, which breaks a soutrce distribution
with built packages.
Don't try to park values when allocating a weak box or pair in a
future thread, since that creates a race on the parking spaces. A
future thread can't run a GC, so it's doesn't need to park.
Touching a future in a future allocates a weak box, so this bug could
have been responsible for many crahses.
Related to #3145
Update GMP license statment following 392dc33ceb which comes from
a recent GMP version.
This does not affect the overall license situation of Racket BC,
which includes other LGPL v3 code, or of Racket CS, which does not
use GMP.
The `call-with-deep-time-limit` function in `racket/sandbox` expects a
subprocess to be removed from its custodian when the subprocess is
done. CS wasn't doing that at all, leaving custodian removal to a
finalizer. BC was doing delaying a remove until `subprocess-status` is
used (which happened to work for existing uses of
`call-with-deep-time-limit`, apparently.)
Relevant to #3140
When incremental mode is enabled, adjust garbage collection to avoid
promoting objects from the next-to-oldest generation into the oldest
generation. This change produces a good approximation to incremental
collection for game-like programs (although probably not server-like
programs with large, temporary jobs).
Part of the repair makes it ok to re-sweep an ephemeron, which is more
consistent with evertything else.
original commit: 2c11bb39129b1492108390a704eb08deaa5d6bcc