Commit Graph

42440 Commits

Author SHA1 Message Date
Sam Tobin-Hochstadt
abec838b51 Disable test that no longer works.
At some point in September 2020, q.com:9887 stopped working for
this test. It's disabled until we can find a replacement.

As far as I can tell, there aren't any sites that behave the way
q.com did prior to September 2020.
2020-10-14 10:57:49 -04:00
Matthew Flatt
331a710e22 pretty-print: fix spacing when a symbol includes a newline
Closes #3439
2020-10-13 16:04:18 -06:00
Matthew Flatt
366bdcb9e7 avoid compiler warning 2020-10-12 19:39:32 -06:00
Matthew Flatt
5c45588573 cs: provide hint to GC about places
The collector tries to use roughly the same amount of parallelism as
the number of active threads, but make sure that it doesn't fall back
to an ownership-mangling non-parallel collection if all but one place
happens to be stalled.
2020-10-12 19:24:24 -06:00
Matthew Flatt
449f01b55d Chez Scheme GC: simplify make parallel sweeper object exchange
Make the exchange of objects by parallel sweepers --- which is needed
when an object being swept by one thread refers to an object owner by
another thread --- much simpler and slightly faster.

The original design of exchanging memory regions didn't really work
out, and it had degrenerated to essentially exchanging objects.
Explicitly exchanging objects instead of regions makes the GC simpler,
because received objects can be just added to the regular sweep stack,
and less additional space<->type correspondence is needed.
2020-10-12 18:00:27 -06:00
Matthew Flatt
1a1bad4e90 expander: repair literal syntax in test position of if
Fix mishandling of an expanded `if` where the test position is a
syntax object. The expander's compiler pass from expanded objects to
linkets knows that the syntax object isn't useful, but it tried to be
helpful by preserving the syntax object's content as quoted --- and
that content turns out not to be available, so the syntax object was
replaced by #f, instead.

Closes #3436
2020-10-12 17:58:37 -06:00
Matthew Flatt
82744013d5 cs: unbreak build 2020-10-12 09:35:20 -06:00
Matthew Flatt
3566536cfe cs: more OpenIndiana repairs 2020-10-12 09:17:47 -06:00
Matthew Flatt
171608a1a2 docs: fix typo 2020-10-11 13:37:53 -06:00
Sergiu Ivanov
5cbff3403a
hash.rkt: Add hash-intersect 2020-10-11 13:37:02 -06:00
Matthew Flatt
9905c1c89a cs: fix srcloc->string as relative to current-directory-for-user 2020-10-11 11:40:25 -06:00
Matthew Flatt
59e31e700d more normalization of checked-in schemified code
Rename definitions that are not exported and that are not used as
inferred function names. The rename is based on a hash of the
right-hand side, instead of being just the position of the definition
in the module, and that should help further reduce diffs in schemified
output after small changes to the source.
2020-10-11 10:57:31 -06:00
Matthew Flatt
5691ade54d cs: repairs for building on Solairs / OpenIndiana 2020-10-11 09:04:21 -06:00
Matthew Flatt
77ece3feb0 cs & io: fix 'any line reading mode and buffer boundary
Closes #3434
2020-10-10 20:31:11 -06:00
Matthew Flatt
f1f4959b66 Chez Scheme: separate allocation and thread mutexes
Instead of one big lock, have one big lock and one small lock for just
manipulating allocation state. This separation better reflects the
locking needs of parallel collection, where the main collecting thread
holds the one big lock, and helper threads need to take a different
lock while changing allocation state.

This commit also includes changes to cooperate better with LLVM's
thread sanitizer. It doesn't work for parallel collection, but it
seems to work otherwise and helped expose a missing lock and a
questionable use of a global variable.
2020-10-09 17:45:48 -06:00
Matthew Flatt
274bce975a remove unintended copy of include files 2020-10-09 17:45:48 -06:00
Matthias Felleisen
2174a2d5c0 revision derived from Sam's counter-proposal 2020-10-09 17:36:14 -04:00
Paulo Matos
67c00aaa7d
Fix ARMv7 build using Thumb-2 (#3431)
This ensures that the moveq instruction is inside an IT block.
Backward compatible change - still builds on ARMv6 with Thumb.

This breakage is generally not noticeable on a RPi3 because, although the
CPU is ARMv7, it is generally running an ARMv6 OS.
2020-10-09 18:10:57 +02:00
Matthias Felleisen
77f0addb59 explain how to read sequences of JSON texts from ports, etc 2020-10-09 09:31:49 -04:00
John Clements
965fa1a541 Post-release version for the v7.9 release 2020-10-08 11:58:50 -07:00
Matthew Flatt
c34b28a214 sync pb with Chez Scheme changes 2020-10-08 07:43:09 -06:00
Matthew Flatt
68bb2a6973 cs: fix cpointer offset handling for C API racket_cpointer_address 2020-10-08 06:48:51 -06:00
Paulo Matos
3b9afbc2e3
Fix yaml workflow syntax 2020-10-08 11:29:25 +02:00
Matthew Flatt
20f087af92 Chez Scheme: add C API functions for records and record types 2020-10-07 18:41:20 -06:00
Paulo Matos
c5e3de2a7b
Add option to enable asan compilation in CS: --enable-asan (#3428)
Add workflow `ci-asan.yml` to test CS with ASAN as well.
2020-10-07 17:18:56 +02:00
Paulo Matos
e93d1341fb
Redirect future test logs to file
We seemed to have forgotten to redirect future tests output to a file. 
This is relevant because it's how the workflow checks for runtime errors.
2020-10-07 16:00:29 +02:00
Paulo Matos
9b3a153d3e
Update title of workflow and remove scheduling 2020-10-07 14:43:30 +02:00
Paulo Matos
0834d28d75
Remove assignment typo (#3429) 2020-10-07 14:38:45 +02:00
Alex Knauth
003ac9b338
add keyword-apply/dict to racket/dict (#2592)
* add keyword-apply/dict to racket/dict
* add history note
2020-10-07 01:11:02 -04:00
Matthew Flatt
c471e3192b cs: fix typo in dump-memory-stats error message 2020-10-06 19:23:17 -06:00
Matthew Flatt
716e6d9435 Chez Scheme GC: fix interaction of backtrace and incremental promotion
Disable incremental promotion when backreferences are enabled,
otherwise the backreference list for a generation can have
references to younger-generation objects.
2020-10-06 15:10:29 -06:00
Paulo Matos
8a14d31f06
Fix compiler warning in 32bits due to size mismatch in ptr cast (#3427)
Casting a ptr to an integer of a different size causes a warning - this is only noticeable on 32bits. Fix this by using `TO_VOIDP` and `TO_PTR` helper macros.
2020-10-06 14:36:53 +02:00
Matthew Flatt
da6fd94fe1 expander: fix module cache when current-load-relative-directory is #f
Corrects a problem with 4525c231a7.
2020-10-05 14:15:52 -06:00
Matthew Flatt
e4a7ca7774 disable a parallelism test that wasn't meant to run automatically 2020-10-05 14:00:08 -06:00
Sam Tobin-Hochstadt
73053d7a60 Disable implicit for-clause optimization with syntax property.
Related to #3396.
2020-10-05 13:29:52 -04:00
Matthew Flatt
0fe8d2aeec makefile: fix PB_REPO propoagation 2020-10-05 11:19:29 -06:00
sorawee
812339a04b
reqprov: fix disappeared-use
This PR fixes two issues regarding disappeared-use in reqprov.rkt

1. Copy/preserve disappeared-use for all provide subforms instead
of only the first one. The following program doesn't have an arrow from
`struct-out` to `#lang racket` prior this PR, but it does after this PR.

    #lang racket
    (provide a? (struct-out a))
    (struct a ())

2. Fix incorrect `disappeared-use` for `struct-out`: it is inappropriate
to check if an identifier is bound to a struct info in provide
pre-transformer because it would not be able to handle backlinks.
This PR moves the attachment from provide pre-transformer to provide
transformer, allowing Check Syntax to draw an arrow for the identifier
`abc` in:

   #lang racket
   (provide (struct-out abc))
   (struct abc ())
2020-10-05 10:13:43 -06:00
Sorawee Porncharoenwase
93e280c042 accessibility: replace <tt> with appropriate tags
<tt> is a "non-conforming feature".
It is "entirely obsolete, and must not be used by authors"
as specified in https://www.w3.org/TR/html51/obsolete.html#elementdef-tt.

This PR replaces <tt> with either <code> or <kbd> as suggested
in the above recommendation. Practically, it improves accessibility
of the page, allowing screen readers to understand the document
more accurately.

Note that both <code> and <kbd> are recognized in older browsers already,
so this PR doesn't cause any incompatibility issue.
2020-10-05 09:24:38 -06:00
Sorawee Porncharoenwase
b3e27ca69c Fix an unbound id error in JS
When focusing on a preference option, the status line
is supposed to change to the the preference's description.
However, because the variable that stores descriptions
is declared in a wrong scope, it results in an unbound id error
and nothing changes. This PR fixes the problem.
2020-10-05 09:23:47 -06:00
Matthew Flatt
2a66eddcc9 schemify: fix undefined checking when constants no enforced
Related to #3325
2020-10-05 08:33:10 -06:00
Matthew Flatt
4d8851d1be rktio: add support for xlocale
Add support for using xlocale's thread-friendly API instead of
setlocale --- but it's not turned on, yet, for any platform.
2020-10-04 06:32:15 -06:00
Matthew Flatt
4525c231a7 expander: make cache accomodate optional directory path terminator
The cache is sensitive to `current-load-relative-directory`, but
normalize with `path->directory-path`.
2020-10-03 16:29:53 -06:00
Matthew Flatt
629153c4e0 Chez Scheme GC: repair for locked object in space_new 2020-10-02 17:22:27 -06:00
Matthew Flatt
cb50bab726 unbreak Windows CS build 2020-10-02 12:21:34 -06:00
Matthew Flatt
19fc04ae0e makefiles: clean out unused Git submodule targets and hooks 2020-10-02 11:17:34 -06:00
Matthew Flatt
6b4f9d6885 Chez Scheme GC: improve heap checking
Handle marked segments and check dirty bytes (for generational GC)
for typed ojbects.
2020-10-02 11:17:34 -06:00
Matthew Flatt
932bce5e04 style tweaks for Guide addition 2020-10-01 11:18:14 -06:00
Alex Bartholomew
0e66734ea6 Add more examples to I/O Patterns in the Guide 2020-10-01 11:17:56 -06:00
Jörgen Brandt
796a1273bb
Fix typo (#3415) 2020-10-01 14:52:12 +02:00
sorawee
a3ee5fb495
Fix a typo (#3417) 2020-09-30 14:11:20 -07:00