Commit Graph

42320 Commits

Author SHA1 Message Date
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
Matthew Flatt
53ef242889 fix arity exception for a keyword procedure
Closes #3416
2020-09-30 08:05:19 -06:00
Paulo Matos
5db75a92ae
Small fixes to enable LTO compilation (#3418)
Small fixes to enable LTO compilation

To do this in racket/src:
  ./configure CFLAGS="-O3 -march=native -flto"
              LDFLAGS="-O3 -march=native -flto"
              --prefix=...

One fix deals with variable `errnum` that might be used uninitialized.
The other is to ensure that `boot_file_data` is marked as used
otherwise, it is removed by LTO and ends up crashing build
in `embed-boot.rkt`.
2020-09-30 15:44:13 +02:00
Matthew Flatt
0c9fc7c374 documment rename-transformer tracking in set! 2020-09-30 06:25:29 -06:00
Matthew Flatt
838b4e7896 rackt/unit: add some missing syntax-track-origins 2020-09-29 20:17:36 -06:00
Matthew Flatt
46a191df03 expander: fix srcloc tracking for set! on rename transformer 2020-09-29 14:08:17 -06:00
Matthew Flatt
c7e6cbc001 cs: more repairs for old vector-based HAMT
Fix `hash-map` and `hash-for-each` for applicable structs.
2020-09-29 09:50:29 -06:00
Matthew Flatt
58deff8b6f cs: repairs for old vector-based HAMT
Sync the old implementation with some repairs for `equal?/recur` and
key replacement.
2020-09-29 08:38:35 -06:00
Matthew Flatt
c4df79b38d cs windows: add dependencies on petite.so and scheme.so
Originally, the dependency was expressed via "compile-file.ss", but
now the dependency can be more direct.
2020-09-28 19:15:33 -06:00
Matthew Flatt
075048409b bump version 2020-09-27 15:36:40 -06:00
Matthew Flatt
b203c52193 Chez Scheme GC: keep per-thread allocation more separate
Instead of having leftover Scheme threads swept by the main thread,
distribute Scheme threads among sweeper threads, and swap into each
thread's content to preserve its allocation ownership. This change
makes parallelism more consistent for different timings that end up
assigning sweepers differently.
2020-09-27 15:36:40 -06:00
Matthew Flatt
16d71ac249 Chez Scheme GC: refactor thread and allocation organization
Move per-thread allocation information to a separate object, so the
needs of the collector are better separated from the thread
representation. This refactoring sets up a change in the collector to
detangle sweeper threads from Scheme threads.
2020-09-27 15:36:40 -06:00
Matthew Flatt
c46e4f91c1 Chez Scheme GC: internal parallelism by messages instead of locks
Change the internal parallelism strategy for the GC to record an owner
for each allocated segment of memory, and have the owner be solely
responsible for copying or marking objects of the segment. When
sweeping, a collecting thread handles references to objects that it
owns or that have been copied or marked already, and it asks another
collecting thread to resweep an object that refers to objects owned by
that that thread. At worst, an object ends up being swept by all
collecting threads, one at a time, but that's unlikely for a given
object.

The approach seems likely to scale better than a lock-based approach,
even the one that used a lightweight, CAS-based lock and retries on
lock failure.
2020-09-27 15:36:40 -06:00
Gustavo Massaccesi
4fdc896412 fix typos in linklet.sls 2020-09-26 10:49:09 -04:00
Robby Findler
515012525c improve value-contract handling a little bit
That is, use pairs on the property in more places, as the pair
already was computed and the value-blame function already does
the needful when it sees a pair on the property.
2020-09-24 17:18:27 -05:00
Robby Findler
816e20b803 fix bug in ->i (neg party was getting dropped) 2020-09-24 17:18:27 -05:00
Jin-Ho King
5665fd8a85
Update .makefile to correct minor typos (#3412)
Corrected minor misspellings in the comments.
2020-09-22 17:14:01 +02:00
xxyzz
659741bb58
bc: declare interntional unsafe fixnum arithmetic
Eliminate overflow errors from fixnum test when racket bc compiled with
--enable-ubsan (issue #2314)
2020-09-22 07:57:32 -06:00
Matthew Flatt
d24cbd4344 Chez Scheme GC: faster record type handling
When the GC needs to copy/mark a record, it previously forced a
copy/mark on the record's type descriptor, since the copy/mark needs
information from the descriptor. But the needed information is not in
danger of being overwritten for forwading (since it's after the first
two words of the type descriptor), so it's ok to use the old reference
as-is --- at least in non-counting mode. Simplifying record-type
handling and deferring the record-type update to the sweep phase, the
same as for other components of the record type, makes the GC slightly
faster.
2020-09-22 07:52:13 -06:00
Matthew Flatt
54367de430 Chez Scheme GC: fix overhead tracking 2020-09-20 07:25:51 -06:00
Philip McGrath
ad7fed1e95 docs: raise-range-error: alt-lower-bound argument is optional 2020-09-20 06:55:34 -06:00