Matthew Flatt
b64e17388f
cs: fix stdio/syslog GC logging as triggered by future thread
...
Always use the main `rktio` instance and don't try to explicitly start
atomic mode.
2019-06-24 20:00:51 -06:00
Matthew Flatt
309a0c2489
cs: fix future-logging race
2019-06-24 18:28:03 -06:00
Matthew Flatt
51ab4a5c6a
thread: repairs for event logging
...
Fix RacketCS so that the future visualizer works.
2019-06-24 16:36:16 -06:00
Matthew Flatt
0106abaf6e
bump version number
...
Since it removes an built-in place-local definition, commit 564dcf339a
can affect compilation for Racket CS.
2019-06-24 15:29:45 -06:00
Matthew Flatt
87673902dc
docs: correct description of file-position
...
Explain more when a file's size is changed by `file-position`.
2019-06-24 15:28:22 -06:00
Matthew Flatt
0d3d0d7d86
thread: add notes on the behavior of futures
2019-06-24 14:54:37 -06:00
Matthew Flatt
564dcf339a
cs: fix memory accounting and futures
...
Also avoid problems with interrupting a rapidly allocating
computation and shutting down the main custodian.
2019-06-24 13:59:03 -06:00
Matthew Flatt
a5a84ea8c6
remove accidentally committed debugging printout
2019-06-24 08:14:58 -06:00
Matthew Flatt
1192225c97
avoid some compiler warnings
2019-06-23 06:46:28 -06:00
Matthew Flatt
2a530b4c88
makefile: avoid git submodule update
in cs-as-is
2019-06-22 08:01:12 -06:00
Matthew Flatt
1e84b11462
expander: repair extraction when using an existing Racket build
...
Recent improvements to module-name resolution caching exposed a
problem in the extraction setup.
2019-06-22 07:43:02 -06:00
Matthew Flatt
f00de510de
cs configure: support installed libz and libzl4
...
Continue to build the bundled-with-Chez zlib and lz4 by default, but
support `--enable-libz` and `--enable-liblz4`, and turn those on when
the Chez Scheme directory doesn't have bundled versions. That should
make things build right for distributions where repackaging
dependencies is disallowed or discouraged.
2019-06-22 07:11:09 -06:00
Matthew Flatt
6647d832bb
configure: further improvements for NetBSD and OpenBSD
...
Enable ELF support for `racketcs` embedding, and add `paxctl +m`
build steps for NetBSD.
2019-06-22 06:23:47 -06:00
Matthew Flatt
7706b447a5
configure: propagate ARFLAGS to libffi configure
2019-06-21 21:54:22 -06:00
Matthew Flatt
5fb38fc246
cs: sync include path for {Free,Open}BSD
2019-06-21 21:12:17 -06:00
Matthew Flatt
e68269b357
makefile: avoid automatic "Makefile" rebuild
2019-06-21 19:46:39 -06:00
Matthew Flatt
90b79524aa
revise build to avoid ld
and nicear
...
The Chez Scheme build process now create an archive instead of linking
"kernel.o". Adjust the Racket CS build to use archives instead of
"kernel.o".
Also, modernize the Racket build's use of `ar`. Using the flags `rc` by
default (instead of `ruv`) should avoid the need for `nicear`.
2019-06-21 16:53:58 -06:00
Matthew Flatt
5c51096a88
cs: repair filesystem-change-evt
...
Correct an incomplete adaptation in a2a67a9660
.
2019-06-21 13:35:33 -06:00
Matthew Flatt
f27924b8a7
extra math tests
...
Check repairs for some Racket CS differences that Vincent found
through random testing.
Related to #2708
2019-06-21 13:35:33 -06:00
Vincent St-Amour
77b48f1f2c
Fix typo.
2019-06-21 12:32:37 -05:00
Matthew Flatt
c7f7170a3e
avoid compiler warning
2019-06-21 09:50:32 -06:00
Matthew Flatt
6e70d8ec1d
nicer nicear: suppress "modifier ignored" warning
...
If GUN ar is configured for deterministic mode by default, then
ar: `u' modifier ignored since `D' is the default (see `U')
prints. Suppress that to avoid stderr output.
2019-06-21 09:49:11 -06:00
Matthew Flatt
c1bb341d2e
skip test of non-embedded "embed-me37.rkt"
...
The module works as intended only when embedded with the right flags.
2019-06-21 09:30:14 -06:00
Matthew Flatt
db3b75eaf1
expander: add shadow filesystem for Windows in collection lookup
...
Checking for directories when searching for a collection can be
especially slow with the Windows filesystem, but Windows also supports
filesystem-change events. So, cache information about the existence of
paths, relying on filesystem-change events to detect with the cache is
out of date.
Related to racket/drracket#281
2019-06-21 09:27:12 -06:00
Matthew Flatt
a2a67a9660
filesystem-change-evt: fix use of failure thunk
...
Also, allow the failure thunk to be #f to get the default behavior.
2019-06-21 09:27:12 -06:00
Atharva Raykar
d6ffc5b820
Fix cosmetic error in code example ( #2705 )
...
* Fix cosmetic error in code example
* Improve code example
2019-06-21 09:28:21 -04:00
Matthew Flatt
ec5b45e4f8
cs: inline arithmetic-shift
and other bitwise operations
2019-06-20 18:31:19 -06:00
Matthew Flatt
9083c6abb4
schemify: use unsafe box operation for lifted mutable variables
2019-06-20 18:30:55 -06:00
Matthew Flatt
bf692f572d
cs: avoid indirection through Chez Scheme for raise
2019-06-20 14:37:03 -06:00
Matthew Flatt
3f35504355
thread: refactor scheduler poll-and-select loop
...
Further reduce redundant checks, and also avoid an excessive delay
after making the process sleep.
2019-06-20 14:36:43 -06:00
Matthew Flatt
6d3eff55a4
cs: repair for external signals
...
Like 2a1404f9a3
, but for Ctl-C.
2019-06-20 12:14:48 -06:00
Matthew Flatt
35ff9137e7
cs: tweak return for call/ec
and call-with-continuation-barrier
...
The prompt installed for an escape continuation or continuation
barrier is never used to delimit a captured continuation, so the
return from the continuatiton can be streamlined slightly.
The benefit is very small (but detectable in the macro expander's use
of barriers). There's an opportunity to use `call/1cc` instead of
`call/cc`, but that change does seem to help --- neither Chez Scheme's
current `call/1cc` nor the opportunistic variant of `call/cc` use to
implement continuation attachments.
2019-06-20 08:48:56 -06:00
Matthew Flatt
30393ae0fa
cs: linear-time prompt check
...
Add cache for `continuation-prompt-available?` so it's amortized
constant time.
2019-06-20 08:48:56 -06:00
Ryan Culpepper
685d067361
syntax/parse: fix handling of ~seq with action patterns
2019-06-20 16:36:14 +02:00
Matthew Flatt
2a1404f9a3
cs & io: fix fd semaphore polling
...
Reducing external-event polling exposed a problem with fd semaphore
checking, where the check before sleeping didn't abandon the sleep if
an fd semaphore was posted.
Also, fix a bug with interrupted network address lookup.
2019-06-19 18:13:37 -06:00
Matthew Flatt
1ba4d76fe0
cs & thread: avoid excessive polling for external events
...
Reduce polling in the case that threads that block and swap rapidly,
in which case polling on every thread swap can be useless and
expensive.
2019-06-19 17:27:24 -06:00
Matthew Flatt
ba8d442e75
cs & thread: refactor and finish futures implementation
...
Complete the implementation of futures, fsemaphores, future logging,
and their cooperation with threads, places, and custodians.
2019-06-19 12:50:19 -06:00
Ryan Culpepper
eb4ec000b0
syntax/parse: use generic tree functions in analyses
2019-06-19 16:21:43 +02:00
Ryan Culpepper
4b64cdef54
syntax/parse: add multiple pattern-processing passes
...
- pair specialization
- and/ord normalization, and cleanup
- add pat:seq-end to list-pattern
2019-06-19 16:21:43 +02:00
Ryan Culpepper
29e46bea78
syntax/parse: add generic (dynamic) tree traversal library
2019-06-19 16:21:43 +02:00
Ryan Culpepper
e845d0861d
syntax/parse: add explicit pattern checks
2019-06-19 16:21:43 +02:00
Ryan Culpepper
fa78f5ebd3
syntax/parse: add well-formed pattern predicates
2019-06-19 16:21:43 +02:00
Ryan Culpepper
769dfb9e34
syntax/parse: add hpat:single; {single,head}-pattern types disjoint
2019-06-19 16:21:43 +02:00
Ryan Culpepper
5ab82ccdd4
syntax/parse: code reorganization
2019-06-19 16:21:43 +02:00
Ryan Culpepper
1c01df60ce
syntax/parse: use logging instead of conditional eprintf, show more patterns
2019-06-19 16:21:43 +02:00
Ryan Culpepper
39bacd45d5
syntax/parse: simplify head pattern compilation
...
The continuation expression for a head pattern evaluates to a
procedure that takes the rest of the term and the current progress.
2019-06-19 16:21:43 +02:00
Ryan Culpepper
6e46dd1b0d
syntax/parse: fix saving of eh-alternatives
...
Avoid adding extra syntax wrapping. This doesn't matter for parsing,
but it does matter for pattern analyses.
2019-06-19 16:21:43 +02:00
Ryan Culpepper
4a7717679a
syntax/parse: clean up insertion of default expressions in patterns
2019-06-19 16:21:43 +02:00
Ryan Culpepper
233c9b8f50
syntax/parse: fix abstract failure pattern analysis
2019-06-19 16:21:43 +02:00
Ryan Culpepper
bad4dd909d
syntax/parse: delete dead make-dummy-stxclass
2019-06-19 16:21:43 +02:00