Commit Graph

42384 Commits

Author SHA1 Message Date
Matthew Flatt
3499e79377 cs: fix glib logging callback
Allow a NULL domain string.

Related to #3216
2020-06-01 14:14:43 -06:00
Matthew Flatt
11f4a0048b thread: fix scheduler's handling of async callbacks
If the callback takes too long to run, then a second copy was
scheduled --- which likely schedules a third copy, and so on. This
problem could lead DrRacket to get stuck in a GC cycle, for example.
2020-06-01 13:25:00 -06:00
Matthew Flatt
f3209ca63c fix fl comparison with more than inline-args-limit arguments
original commit: 0efbfb50b372009d0974edc01e6194179d7300ef
2020-06-01 06:59:03 -06:00
Matthew Flatt
43e2bc0327 unbreak Windows build
original commit: 999d4e9fc8b9cbeedc58b625f814a1db8172a259
2020-05-31 19:10:13 -06:00
Matthew Flatt
613155a317 doc: repair example in Inside 2020-05-31 17:17:17 -06:00
Matthew Flatt
d5024cf595 schemify: keep simple loop patterrns intact
In Schemify's lifting pass, avoid disturbing loop patterns that Chez
Scheme will recognize. Keeping the loops intact is helpful for
floating-point unboxing, where (currently) unbxoing is supported
across loop iterations but not across function boundaries in general.
2020-05-31 17:17:17 -06:00
Matthew Flatt
58282cbb5f correct GC problem with mark mode
The problem especially affects `enable-object-counts`, where mark mode
can update an old rtd instead of a copy that is already made.

original commit: 31e2df63894d39b005c6b9984745b44409198d02
2020-05-31 17:09:07 -06:00
Matthew Flatt
7768b09118 unbox local floating-point arithmetic
Avoid allocating a flonum object for floating-opint calculations
that are consumed only by other floating-point caculations.

For this first cut, unboxing applies only to fl+, fl-, fl*, fl/,
flabs, fl<, fl<=, fl=, fl>, fl>=, bytevector-ieee-double-[native-]ref,
and bytevector-ieee-double-[native-]set!. Local variables can be
unboxed in the same way as implicit temporaries, and loop arguments
can be unboxed, but values in a closure and function-call arguments
are always boxed.

arm32 support is mostly in place, but not yet right. ppc32 support is
not yet implemented.

This commit includes a small change that is incompatible with previous
Chez Scheme versions: `(fl= +nan.0)` (and similar for other
comparisons) produces true instead of false.

original commit: 36459e43f10705aa3e383376ca7d54cf2998b7ee
2020-05-31 17:08:38 -06:00
Paulo Matos
aa0cfd0557
Fix typo in comment 2020-05-30 08:42:01 +02:00
frogbird
f44877bf4b added in-list 2020-05-28 14:06:52 -05:00
frogbird
2cca55c38b moved up coerce-contract check 2020-05-28 14:05:00 -05:00
Paulo Matos
bb4317e545
Improve Windows CI Testing (#3220)
Build and Test 3m and CS under Windows 10

This improves testing considerably on Windows.
For both PRs and Pushes, build 3m and CS on Windows and run tests.
2020-05-28 14:19:50 +02:00
Sam Tobin-Hochstadt
72ef9f8b6b Avoid empty prototype list.
Related to github/codeql#3535.
2020-05-26 13:17:57 -04:00
Paulo Matos
6e4bbcb4b9
Non-split build/test workflow on Windows10 for push commits (#3218) 2020-05-26 19:06:31 +02:00
Paulo Matos
3657b096d6
Run CI jobs inside containers (#3134)
Also splits Linux and MacOS push workflows, since they cannot share a
matrix. Updates several checkout, upload/download-artifact actions to v2.
2020-05-26 17:53:58 +02:00
Matthew Flatt
e4485d1e11 doc: more notes on dynamic-require examples
Suggested by Shriram.
2020-05-25 07:49:15 -06:00
Sorawee Porncharoenwase
83d9e56296 doc: body-expr -> body 2020-05-24 14:22:38 -06:00
Matthew Flatt
406a67def6 cs: fix resolve-path to preserve directory separator
Closes #3212
2020-05-24 13:48:35 -06:00
Matthew Flatt
f0c79b6b16 doc: fix evaluation order for parameterize
Closes #3211
2020-05-24 13:23:23 -06:00
Matthew Flatt
f66fff1ca9 setup/xref: fix load-collections-xref for multple uses
When the result of `load-collections-xref` is used in multiple
document renderings (e.g., multiple calls to `render`), then an
intenal cache behaved the wrong way. Fixing the problem required an
extension to `scribble/xref`.
2020-05-24 11:05:53 -06:00
Matthew Flatt
462a4f5c37 adjust test to avoid port leaks 2020-05-24 07:38:56 -06:00
Matthew Flatt
9d8e048e04 unbreak test (that no longer has a timeout) 2020-05-24 07:21:43 -06:00
Matthew Flatt
2434bb3a0c avoid an unnecessary timeout in a test 2020-05-24 07:19:46 -06:00
Matthew Flatt
b297271a5c doc clarification on continuation-mark-set-first performance 2020-05-24 07:13:14 -06:00
Matthew Flatt
0473bd52f8 bc: fix use of fsemaphores in the main thread
Fix a locking mistake in the implementation of fsemaphores.
2020-05-23 19:21:56 -06:00
Sorawee Porncharoenwase
eba1798c8a doc: replace taint with dye pack 2020-05-23 15:02:56 -06:00
Matthew Flatt
3473a2eeb2 raco setup: accomodate arbitrary files names when checking dependencies 2020-05-23 14:30:06 -06:00
Matthew Flatt
75f287befd cp0: repair move of non-tail into 'effect context
Kent noticed the bug, where `make-nontail` used `ignored` where it
should have used `effect`. Also, Kent points out that `make-nontail`
can skip the `$values` wrapped in `effect` contexts in unsafe mode.

original commit: edd9ba3d656f3bd712e5e235b77225f756397077
2020-05-23 06:30:02 -06:00
Robby Findler
d590eee0c7 add more checking to the bst/c example 2020-05-22 20:57:25 -05:00
Robby Findler
cc9514c290 add missing argument to raise-syntax-error 2020-05-22 20:56:45 -05:00
Sam Tobin-Hochstadt
8b629a329b Mark a few more simple expressions as pure in the expander.
Related to #3204.
2020-05-22 13:57:54 -04:00
Bogdan Popa
617f9e9bd6 net/uri-codec: fix contracts for ->alist and ->alist fns
The behavior was already correct, but the contracts in the
documentation did not reflect it.
2020-05-22 10:30:36 -04:00
Paulo Matos
0bb8b735c7
Only rebuild docker images if changes are done in master branch (#3209) 2020-05-22 15:30:05 +02:00
Paulo Matos
35724362fa Fix GitHub Actions Workflow name 2020-05-22 14:58:38 +02:00
Paulo Matos
b1fedc5c38
Build Docker Images from GitHub Actions (#3206) 2020-05-22 14:47:53 +02:00
Sorawee Porncharoenwase
0c55f8dbc9 doc typo: missing /c 2020-05-22 08:06:42 -04:00
Paulo Matos
97cdf8da88
Add initial LGTM configuration for Racket (#3200) 2020-05-22 08:30:47 +02:00
Sam Tobin-Hochstadt
7b9bf6285f More verbose error output for deterministic-zo test. 2020-05-21 22:52:02 -04:00
Matthew Flatt
a17e662597 expander: shortcut for parsing already expanded
When a `module` or `let-syntax` form is `expand`ed (i.e., when a
syntax object must be generated), then code is expanded to a syntax
object and then parsed again for compilation. In that second parse,
take advantage of the fact that the expression is already expanded,
which means that no new scopes or bindings need to be created.

Related to #3165
2020-05-21 18:53:15 -06:00
Matthew Flatt
bdb0256220 cs: fix hash-code mixing
Hashing for structures and hash tables used a very poor mixing
function.
2020-05-21 15:38:14 -06:00
Matthew Butterick
ffdfd1824d
doc typo: another missing possessive 2020-05-21 09:30:15 -07:00
Matthew Butterick
7dca5047dc
doc typo: missing possessive 2020-05-21 09:10:41 -07:00
Matthew Butterick
c1fe5e5719
doc typo: "bytes string" to "byte string" (2 more) 2020-05-21 09:07:00 -07:00
Matthew Butterick
d1ba6cd8b6
doc typo: "bytes string" to "byte string" 2020-05-21 09:05:50 -07:00
Matthew Flatt
f7f75fa901 avoid compiler warning 2020-05-21 10:00:25 -06:00
Paulo Matos
469e8186b3 Replace build dependency g++ by clang in docker image 2020-05-21 17:27:25 +02:00
Paulo Matos
62c9a79c68
Use threaded time functions (#3199) 2020-05-21 15:45:22 +02:00
Matthew Flatt
08d4698934 cs-bootstrap: additions to work on latest Chez Scheme 2020-05-20 10:46:57 -06:00
Matthew Flatt
9ba5fd6a0f cs: fix issues with source->sfd cache
The cache wasn't kill-safe, and probably a weak cache could also lead
to non-determinism of source-path sharing across submodules.

Related to #3193
2020-05-20 08:29:56 -06:00
Matthew Flatt
07d3f3a2ec cs: faster number->string on flonums 2020-05-20 06:31:02 -06:00