Commit Graph

41059 Commits

Author SHA1 Message Date
Matthew Flatt
d175f4c626 reference: fix backquote rendering
Drop a broken workaround and rely on a Scribble repair.

Closes #3259
2020-06-22 08:19:06 -06:00
Matthew Flatt
7811a2edbb cs: fix io _uintptr bbinding for rktio and 32-bit platforms
Little-endian byte order hides this mistake, but it showed up
immediate on big-endian ppc32.
2020-06-21 06:45:29 -06:00
Matthew Flatt
9ad7ed82c2 cs: fix embedded-bootfile offset for big-endian ppc32 2020-06-21 06:45:29 -06:00
Matthew Flatt
037cf20eb2 rktio: enable ANSI escapes for Windows console output
Closes #3249
2020-06-21 06:45:29 -06:00
Alexis King
dc007a8502 setup: Don’t count main docs as user docs when tidying 2020-06-21 06:45:18 -06:00
Matthew Flatt
da64bc22bb adjust package-content-state to detect as-is "info.rkt"
Avoid re-writing an "info.rkt" file if its S-expression content
doesn't change, which seems like a good idea in general and avoids a
test failure.
2020-06-18 13:08:09 -06:00
Spencer Florence
7538011f5f Strip package-content-state from info files when stripping to source 2020-06-18 13:08:02 -06:00
Matthew Flatt
22069faebc bc: fix compiler for set! as first subexpression of begin0
An optimization relatively late in the BC bytecode compiler pipeline
was wrong for `begin0`. The transformation and bug must be a very old,
since it's intended to help the bytecode interpreter.

Thanks to Sage for reporting and Alexis for initial debugging.
2020-06-17 07:12:11 -06:00
Matthew Flatt
2de28c8cf3 bc: update install for librktio.a
When linking with libracket.a or libracket3m.a, librktio.a is needed.
(The instructions in "Inside" have apparently been wrong since rktio
was split out.)
2020-06-17 07:02:08 -06:00
Sam Tobin-Hochstadt
14e206bd0b Add more kw source locations. 2020-06-16 22:01:34 -04:00
Matthew Flatt
f3dd113e9d cs: rumble layer tweaks inspired by investigations of random
The main (slightly) effective change here is to avoid disturbing loop
patterns within the Rumble layer's implementation.

Most of the commit is a commented out, updated version of the Scheme
implementation of MRG32k3a `random`. With the latest improvements for
unboxed floating-point arithmetic, performance is relatively good, but
it doesn't catch up to the C compiler's output. On an x86_64 MacBook
(i7 4870HQ) using LLVM or a Raspberry Pi 3 using GCC, it's about 50%
slower compared to C (in contrast to 300% slower before unboxing).
It's almost the same speed on a older x86_64 Linux machine (i7 2600)
using GCC. Where the C compiler wins, maybe it's due to the use of
SIMD instructions in the C output for x86_64 and Arm32. Switching to
the Scheme implementation of `random` would probably be fine, but
aisde from the satisfaction of being in Scheme, there's no reason to
pay the sometimes 50% penalty for now.
2020-06-16 17:03:40 -06:00
Robby Findler
e7f2331663 correct n->th
closes #3238
2020-06-15 15:01:58 -05:00
Ryan Culpepper
798618f6a6
add ssl-channel-binding (#3250)
add ssl-channel-binding

Additional references:
- https://bugs.python.org/issue12551
- https://paquier.xyz/postgresql-2/channel-binding-openssl/
2020-06-15 17:05:36 +02:00
Matthew Flatt
27198bbf43 schemify: adjust pre-lift transformation that can disturb loops 2020-06-14 19:43:34 -06:00
Matthew Flatt
6aa9f7a8eb cs-bootstrap: some additional functions for bootstrapping 2020-06-14 19:43:03 -06:00
Matthew Flatt
28271158dd cs: remove experimental JIT database support
Caching compiled JIT fragments in a SQLite database did not turn out
to be a viable path, so remove partial support for it. JIT mode in
general is rarely a good option, but it's at least completely worked
out, so left in for now.
2020-06-14 14:52:43 -06:00
Matthew Flatt
2a7d94d89c update compilation info, especially for CS
Update the Guide's performance section with current information for
Racket CS, and also document the Racket CS compilation mode and
inspection environment variables. Make a couple of environment
variables work more consistently: PLTDISABLEGC for CS and PLT_ZO_PATH
for BC.
2020-06-14 14:26:22 -06:00
Matthew Flatt
6309c64f6c cs: unbreak Windows build 2020-06-14 08:59:30 -06:00
Matthew Flatt
023681947c bc: fix GC cooperation on internal setjmp
The direct use of `__gc_var_stack__[1]` is wrong if xform has not
generated a function-call wrapper than sets that array element.
2020-06-14 06:24:50 -06:00
Matthew Flatt
e397ad0cbb schemify: fix loop detection in nested lambda forms 2020-06-13 19:03:24 -06:00
Matthew Flatt
265c9eaa57 bc: futures repair related to internal stack overflow
The combination of 1117392cb5 and the existing "tail-apply.rkt" test
exposed another bug.
2020-06-13 15:44:29 -06:00
Matthew Flatt
bc853db1c7 cs: sync with Chez Scheme
Latest FP-unboxing changes require recompilation, so bump the Racket
version.
2020-06-13 11:05:03 -06:00
Matthew Flatt
99acbdaf8c fix cs to not itialize 'atomic memory, docs to not claim initialized 2020-06-11 19:37:12 -06:00
Matthew Flatt
35fe6a0c64 reference: fix typos related to exfl->fx and fx->extfl 2020-06-11 19:37:12 -06:00
Matthew Flatt
1117392cb5 cs: fix touch on future waiting for an atomic action
When the runtime thread `touch`es a future that is blocked on an
atomic action (just as JIT compilation), the runtime thread would
eagerly run the action, but still leave the future on the
atomic-action queue. Atomic actions tend to be ok to run a second time
(including JIT compilation), so a problem may not show up immediately,
but a semaphore can get out of sync and cause problems later.
2020-06-11 14:55:39 -06:00
Matthew Flatt
42cb80bc70 make fl->fx truncate
Change `fl->fx` to truncate as it converts, which is typically done
anyway by a machine instruction to convert from floating-point to
integer values. This makes `fl->fx` different from `inexact->exact`
or `fl->exact-integer`, but it brings BC and CS in line.
2020-06-11 06:17:18 -06:00
Matthew Flatt
fd236d99ef cs configure: propoagate some options to rktio configure
Otherwise, for example, there's a pthread mismatch currently on arm32
for rktio compilation and racketcs linking.
2020-06-10 08:13:13 -06:00
Sam Tobin-Hochstadt
ec0964861f Check for 0.0 imaginary part in exp.
Follows Chez Scheme and Guile. Turns `(exp 10000.+0.0i)` into
`+inf.0+0.0i` instead of `+inf.0+nan.0i`, which is analagous to
the behavior for exact 0 in the complex part.

Fixes #3194.
2020-06-10 09:10:22 -04:00
Matthew Flatt
2768499b88 fix rktio destroy to release a pipe used for internal singals
Also, fix CS to desstroy a place's rktio instance when the place
exits.

Closes #3243
2020-06-09 10:04:46 -06:00
Matthew Flatt
fcea8d3c67 more: adjust PATH note, because there's no "bin" layer on Windows 2020-06-09 08:36:47 -06:00
Fred Fu
c2cae5b7e3
[CS] struct-type-make-predicate creates a value that passes struct-predicate-procedure?
Fixes #3239
2020-06-08 15:03:17 -06:00
Sorawee Porncharoenwase
cd996c3b6c Fixes #3236: preserve disappeared-use on local, block, and class 2020-06-08 13:35:59 -06:00
Matthew Flatt
79e6d1865a Revert "expander: fix intering of some module path indexes for ".zo""
This reverts commit 91f8d8a72f.
The idea that the same resolved path implies the same module
path index is incorrect.

Related to #3241
2020-06-08 10:41:17 -06:00
Sancho McCann
1f3a18d637
Updated sgn documentation to reveal behaviour for signed zeros
Include expanded example set to show behaviour for infs
2020-06-08 07:35:58 -06:00
Sorawee Porncharoenwase
7abdaee224 doc typo: disappeared-{use,binding}s -> disappeared-{use,binding} 2020-06-06 21:40:52 -04:00
Stephen De Gabrielle
f892fe936e
more: set path guidance
Include information about how to set `PATH`.

Related to racket/racket-lang-org#101
2020-06-05 13:13:54 -06:00
Matthew Flatt
110c580d97 cs-bootstrap: repair relevant to arm32le 2020-06-05 13:11:03 -06:00
Paulo Matos
9315112df2
Improve docs on the return value of git-checkout (#3233) 2020-06-05 16:56:01 +02:00
Matthew Flatt
3cc74bd3db adjust datum-intern stress test
Instead of requiring a table not to grow within an iteration, require
it to not grow across iterations.
2020-06-04 11:16:45 -06:00
Sam Tobin-Hochstadt
0938ae8e33 Print random state in datum-intern stress test. 2020-06-04 10:52:09 -04:00
Paulo Matos
31c5644cf5
Consolidate current racket-ci images into a single one (#3230)
This simplifies jobs (like PR jobs) that have to build and test in a
single container and cannot choose between build or test images.
2020-06-03 18:34:20 +02:00
Matthew Flatt
f508bb25ab cs & threads: fix replace-evt leading to choice-evt
Closes #3229
2020-06-03 09:48:48 -06:00
Robby Findler
8908496ba1 tighten promised contract of denominator 2020-06-02 17:57:48 -05:00
Sam Tobin-Hochstadt
8b8e3913a8 Fix snapshot paths 2020-06-02 13:44:10 -04:00
Sam Tobin-Hochstadt
257eb13e29 use new bucket for ci snapshots 2020-06-02 12:04:41 -04:00
Matthew Flatt
e496805f82 makefile: add win32-also-cs, etc. 2020-06-02 08:28:10 -06:00
Matthew Flatt
774bfd9139 windows: repair command parsing, especially when building with MinGW
Related #3277
2020-06-02 08:05:08 -06:00
Matthew Flatt
606a8c52aa doc correction: --skip-implies -> --update-implies
Also, clarify the interaction of implied packages with `--deps` and
`--update-deps`.
2020-06-01 19:06:29 -06:00
Matthew Flatt
17d60e479f unbreak 3m glib testing support 2020-06-01 14:22:10 -06:00
Matthew Flatt
3499e79377 cs: fix glib logging callback
Allow a NULL domain string.

Related to #3216
2020-06-01 14:14:43 -06:00