Commit Graph

40395 Commits

Author SHA1 Message Date
Paulo Matos
2ef7c550e5 Speedup build with custom docker image and dag layout
Recently GitLab added the needs keyword which allows implementing dag
layouts for pipelines. CI also spends a lot of time building
dependencies. A custom image currently hosted in
https://github.com/pmatos/racket-ci contains the dependencies to build
racket properly.

Enabling both features that cuts CI time by 60%.

Note that we use an empty needs keyword to mean that a job depends on
nothing but it is currently ignored pending a fix for
https://gitlab.com/gitlab-org/gitlab/issues/30631
2019-09-30 16:36:04 +02:00
Ben Greenman
487d3bfd7d
doc: fix regexp-try-match range contract
closes #2816
2019-09-28 23:22:46 -04:00
Matthew Flatt
a20a27f5b0 cs & thread: repair for sync/timeout
If a `sync/timeout` on a semaphore (or simiilar asynchronous event)
succeeds simultaneously with the timeout, the success could get lost.
2019-09-28 11:40:01 -06:00
Matthew Flatt
11c6f1686c reference: describe ordering guarantees for futures & places 2019-09-27 10:46:21 -06:00
Matthew Flatt
10b110adc1 reference: improve description of thread-based concurrency
Related to #2834
2019-09-27 09:18:18 -06:00
Matthew Flatt
a07e973316 raco setup: accomodate unusual flie names in pkg-dep checking
If a source file name lacks an extension, then the pkg-step would get
confused trying to convert a ".zo" name back to a source name. The
original name is not really needed, anyway.
2019-09-27 06:55:44 -06:00
Thomas Dickerson
429436fb77 Fix headers so they don't break compilation with modern C++
Add space between string literals

Necessary so that modern C++ compilers don't misinterpret `SPLS_LINUX` as a user-defined literal type.
2019-09-27 06:55:35 -06:00
Matthew Flatt
cb9cfe9c83 make-rename-tranformer: history note
Record the correction made by c8652e063a.
2019-09-26 15:57:04 -06:00
Alexis King
c8652e063a Add macro-introduction scopes when expanding rename transformers
This can’t affect scoping, but it can affect `syntax-original?`, which
is important for Check Syntax.
2019-09-26 15:55:05 -06:00
Matthew Flatt
c651cedc1f expander: don't turn local reference into syntax-original?
When a reference to a local variable is updated with the scopes of its
binding in a fully expanded program, remove the syntax-original
property if the original reference had macro-intrudction scopes.

Closes #2820
2019-09-26 14:53:32 -06:00
Matthew Flatt
01de71981b unsafe-poller: remove overly-conservative false positives
Trying to be more helpful about the thread running an `unsafe-poller`
callback gets in the way of making the process sleep when multiple
threads are blocked on unsafe pollers.

Closes #2833
2019-09-25 09:17:52 -06:00
Matthew Flatt
0873b21d6d configure: fix --enable-sdk9 flag help 2019-09-25 07:42:49 -06:00
Matthew Flatt
4e2fef3557 rename ".scm" files not meant to be compiled 2019-09-25 07:42:49 -06:00
Paulo Matos
3a46e41cde
Disable test many-vectors-in-reasonable-space? for cgc (#2832)
This is currently failing in cgc:
     https://gitlab.com/racket/racket/-/jobs/303266624
2019-09-25 14:47:46 +02:00
Matthew Flatt
6d7ae5e1d2 racket-benchmarks: some microbenchmarks for continuations. etc. 2019-09-25 06:45:36 -06:00
Matthew Flatt
b1a6baffc6 configure: add --enable-sdk9 2019-09-25 06:45:36 -06:00
Sam Tobin-Hochstadt
920d3ce51e Check that => is followed by an identifier in match clauses.
Closes #2830.
2019-09-24 15:45:19 -04:00
Matthew Flatt
00969092c8 avoid C compiler warniing when not MZ_PRECISE_RETURN_SPEC
Follow-up to 3a512a2a60, where we need a `return` statement
back to avoid a wanring from some compilers.
2019-09-22 17:51:10 -06:00
Matthew Flatt
5fea629cea cs: tune parameterization lookup 2019-09-22 16:10:03 -06:00
Matthew Flatt
e147a96843 simpler current-parameterization
An `extend-parameterization` call with no extra arguments used to
adjust a parameterization, but it has no effect anymore, so drop it.
2019-09-22 13:46:17 -06:00
Matthew Flatt
97c552e87b cs: tune thread-cell implementation
Speed up thread-cell access and make update safe for futures.
2019-09-22 11:08:46 -06:00
Matthew Flatt
b5e145c755 cs: tune continuation-mark lookup 2019-09-21 10:08:03 -06:00
Matthew Flatt
c0c628e721 cs: fix inline of call-with-immediate-continuation-mark 2019-09-21 07:14:18 -06:00
Matthew Flatt
b7dc3f4bda schemify: repair with-continuation-mark optimizations
Repairs a bug in 7d725ab48b.
2019-09-20 16:48:52 -06:00
Matthew Flatt
7d725ab48b schemify: optimize with-continuation-marks
Prune some `with-continuation-marks` forms that aren't observable
(because the body is simple enough that it won't inspect marks). More
significantly, specialize `with-continuation-marks` forms to indicate
when the current frame is known to have no marks and to indicate
when tthe key expression is known to produce a non-impersonator.
2019-09-20 11:20:23 -06:00
Sam Tobin-Hochstadt
7ae4943a57 Adjust .mailmap.
Closes #2824.
2019-09-20 12:57:42 -04:00
Matthew Flatt
5be9ee424c cs: use #3%$app for #%app
Since `#%app` (used where an applicable structure might show up)
injects its own `procedure?` test and makes sure that that a procedure
is returned to the function position of the application, use `#3%$app`
to make Chez Scheme suppress a redundant `procedure?` check for the
appliction.
2019-09-19 07:29:16 -06:00
Matthew Flatt
d02fbebba8 schemify: improve handling for mutated, known-initialized variables
Avoid unnecessary checks for an "undefined" state.
2019-09-19 07:29:16 -06:00
Paulo Matos
f0a0ffc50d
Add support for MSVC2019 (#2827) 2019-09-19 15:27:12 +02:00
Matthew Flatt
2b567b4488 cs & thread: avoid counting a descheduled thread as "no progress"
It's not clear that a thread can be descheduled without the current
thread's work counting as progress, but a descheduled thread certainly
shouldn't coun as a no-progress scheduled thread.
2019-09-18 14:03:20 -06:00
Matthew Flatt
19efcb955d cs & io: avoid spinning if epoll/kqueue setup fails 2019-09-18 14:03:20 -06:00
Matthew Flatt
ec72f5df45 cs & thread: avoid accumulating post-atomic callbacks
Only one instance of each callback is needed. Allowing them to pile up
is inefficient, and possibly it can trigger a reaction that causes
even more to pile up.
2019-09-18 14:03:20 -06:00
Ryan Culpepper
b86ca89102 fix error message 2019-09-18 11:29:54 +02:00
Ryan Culpepper
375a4837c7 format-id: add #:subs? option for sub-range-binders
inspired by #2624 by @lexi-lambda
2019-09-18 11:29:54 +02:00
Gustavo Massaccesi
3907f35d1d fix error of malformed in-values in a for clause
(for ([x (in-value 1 2)]) x)

should raises a run time error, not a syntax error.

Fix similar error in other in-something macros.

Fix name of in-directory, when used as a function outside a for.
2019-09-17 11:52:41 -03:00
Paulo Matos
3a512a2a60
Enable MZ_NORETURN annotation only if MZ_PRECISE_RETURN_SPEC is defined (#2823)
Unfortunately, MZ_NORETURN spec is causing a few problems - see #2808
It would be great to fix these but due to lack of time, this is a
workaround that should keep things working until all supported
configurations accept MZ_NORETURN properly.
2019-09-17 08:36:04 +02:00
Robby Findler
f61efeaf80 edit ->i docs along the lines of the discussion in #2822 2019-09-15 17:50:33 -05:00
Ben Greenman
17c424b553
typo: 'specifcation' -> 'specification' 2019-09-14 17:22:08 -04:00
Matthew Flatt
4e07c20afe cs: improve Chez Scheme version check
Use the new `scheme-fork-version-number` function to make sure
the build uses the latest.
2019-09-13 07:32:07 -06:00
Ben Greenman
a5448f112d for/stream: delay finding first element
Fixes #2812
2019-09-12 14:18:16 -05:00
Matthew Flatt
72852c7b75 cs: use call-consuming-continuation-attachment
Use `call-consuming-continuation-attachment` to implement
`with-continuation-marks`, because that avoids duplicating
a set of checks when in tail position.
2019-09-11 17:21:25 -06:00
Matthew Flatt
5bcf7eb19d cs: fix optiimizer arity for make-parameter
Should have been part of 91d702c6fe.
2019-09-08 17:58:34 -06:00
Matthew Flatt
2403b18e0f cs: more constant tokens
Should have been part of 12a2cd75a8.
2019-09-08 17:57:10 -06:00
Alexis King
415f030212 Fix syntax-local-value[/immediate] rename transformer context
fixes #2815
2019-09-08 14:56:43 -05:00
Matthew Flatt
866c5d41e0 cs: unbreak Windows build 2019-09-08 07:24:49 -06:00
Matthew Flatt
f4fa74e6f2 expander: fix reader bug
Fix incorrect comparison of character to EOF. There's a test, already,
but the test fails only if the expander is compiled in safe mode.
2019-09-06 17:35:54 -06:00
Matthew Flatt
4c630a2442 sync bootstrapped expander
Update expander embedded in traditional Racket to pick up
the parameter names added in 5147771b04.
2019-09-06 17:35:54 -06:00
Matthew Flatt
3024b77ba5 add custodian-based unloading of foreign libraries
Specificially, add a `#:custodian` argument to `ffi-lib`.
2019-09-06 17:35:54 -06:00
Matthew Flatt
276a102d6a add ffi-lib-unload at the #%foreign level 2019-09-06 17:35:54 -06:00
Sam Tobin-Hochstadt
5147771b04 Name more internally-defined parameters and std library parameters. 2019-09-06 11:54:22 -04:00