Commit Graph

42524 Commits

Author SHA1 Message Date
Paulo Matos
7313545ebf Add i386 arch
original commit: db690229a30c125990cf8c89b3cb9c29afa784e6
2020-04-26 13:50:35 +02:00
Paulo Matos
9314bd9bdc Install 32 bit libs
original commit: 5cf419506d3fd29e7ef82b55fcfe31d75db6f597
2020-04-26 13:46:32 +02:00
Paulo Matos
d3c991211b fix arch name
original commit: 532392ce4e8788228a30c12a38767f460538b298
2020-04-26 13:42:55 +02:00
Paulo Matos
bb68010646 enter dir
original commit: f3911a672310bb21637cdf4901cb2e3ce8d8b53e
2020-04-26 13:40:44 +02:00
Paulo Matos
8f93ceebba Fix mach names
original commit: d76bb24964a0eb65fa9205f2564b7e62d5c6c5ff
2020-04-26 13:36:30 +02:00
Paulo Matos
d310797c69 Print target machine information
original commit: 8c9ee4f00940af5ee557c2c93892209651757610
2020-04-26 13:35:50 +02:00
Paulo Matos
1d90152729 No need curl on vm
original commit: 89de1e481062272e5b6fc9d1a7049a33084c9696
2020-04-26 13:32:17 +02:00
Paulo Matos
b3eb7c1301 Give up on container use - it's broken in Actions
original commit: f1d99416e05d80e38e9da362ece926814339445c
2020-04-26 13:23:52 +02:00
Paulo Matos
da02466c21 Remove macos, fix home
original commit: d3bd54c562099a65618be8d692828d4437e0e067
2020-04-26 13:21:48 +02:00
Paulo Matos
99c1814b8c Install curl dependency
original commit: b3a765ab2291c1879810b13e9e4b1f9a73515b40
2020-04-26 13:18:48 +02:00
Paulo Matos
65146afcf5 Move from Travis to GitHub Actions
This consolidates use of GitHub Actions, since we are using it as well
with racket/racket.

original commit: c3bf252c76ef594dfccf332def30f3d9c733282d
2020-04-26 13:12:35 +02:00
Matthew Flatt
ac6467fd8c add a better test for list-assuming-immutable?
This test helped get the current implementation working, but I forgot
to add it to "5_2.ms".

original commit: a8f59ed7262025e130e913f420e2519ed0ac00f5
2020-04-25 17:20:41 -06:00
Matthew Flatt
1d41f0c5b8 cs: implement list? with list-assuming-immutable?
Use new support from Chez Scheme for constant-time `list?`.
2020-04-25 15:54:30 -06:00
Matthew Flatt
120082f3f9 add list-assuming-immutable?
Build in a Racket-style `list?` using GC cooperation to make recording
the result cheaper.

original commit: 32189af3e4dfc3596fba3163fd1a8295b830448b
2020-04-25 15:33:56 -06:00
Sorawee Porncharoenwase
ed617d76aa Fixes #1649: correct the docs for conjoin and disjoin 2020-04-24 21:24:58 -04:00
Matthew Flatt
aeb1786476 cs: fix interaction of error-print-with and prop:custom-write
Closes #3108
2020-04-24 17:26:24 -06:00
Matthew Flatt
05dfd85853 cs: repair position-based struct accessor/mutator
Fix error checking and reporting for position-based struct accessors
and mutators. Also, fix mutability recording for prefab structure
types that have auto fields.

Related to racket/typed-racket#902
2020-04-24 11:30:14 -06:00
Matthew Flatt
7ba7a815b0 tweak copy-vs-mark dispatching
The C compiler doesn't generate a tail call in a place where I
expected one, and maybe it's better to branch at the call site anyway.

original commit: 70fa8e7f7bd891c548c877cabdd15073aa2aa01b
2020-04-24 10:20:50 -06:00
Matthew Flatt
40045ce1a6 expander: add missing available-module trigger
Repairs `(dynamic-require module-path (void))`.

Related to #3128
2020-04-24 09:24:19 -06:00
Paulo Matos
cd096e0e6b
Fix RacketCGC file location for scanbuild jobs (#3119)
Re-enable scanbuild for 3m and CS, previously disabled in 9d89bbe909

There is a GitHub Actions but where inside a container variables `$HOME`, `$GITHUB_WORKSPACE`, `{{ runner.temp }}` are not properly set. 

This commit contains some workaround that can be removed once a fix has been pushed from the GitHub side.
2020-04-24 15:42:02 +02:00
Matthew Flatt
752ee94563 avoid fragmentation at the chunk level
original commit: 5b52a846af7f5d9c030e6dc71f46d83b3f1b8e4c
2020-04-23 17:25:03 -06:00
Matthew Flatt
db1d1916b5 cs: fix a semi-leak for places
The most recently created place's data could be retained
after the place terminated.
2020-04-23 15:27:21 -06:00
Matthew Flatt
f5a4180803 cs: fix a leak in plumbers
Who plumbs the plumbers?
2020-04-23 15:27:21 -06:00
Sorawee Porncharoenwase
7e7cac5ffa Minor typo, use #t for consistency 2020-04-23 10:45:03 -04:00
Matthew Flatt
43dd872689 fix "build.md" typo
Reported by @khardy.
2020-04-23 07:35:22 -06:00
Matthew Flatt
2d14996156 unbreak no-places, no-futures build
Also, update GC logging for CGC to be consistent with other variants.
2020-04-23 07:21:41 -06:00
Paulo Matos
9d89bbe909
Remove scanbuild jobs for 3m and cs (#3124)
This is temporary until I can fix them. Unfortunately, I have no idea
what's going on on the Actions side. In the meantime I would like to
see green ticks for master commits.

Working on a fix under #3119
2020-04-23 14:53:03 +02:00
Matthew Flatt
d755dbc00f cs: fix phantom bytes effect on maximum-memory-bytes
original commit: 78f2c1e3ee1329f44742a23c28a76538eef8cbdd
2020-04-22 16:30:47 -06:00
Paulo Matos
362edb00de
Check that file specified by --enable-racket exists (#3118) 2020-04-22 23:22:19 +02:00
Matthew Flatt
b320cfb103 fix test of dump-memory-stats
The `dump-memory-stats` function writes to stderr (although that's a
questionable choice).
2020-04-22 14:47:09 -06:00
Matthew Flatt
9358ebc97d cs: fix peak-memory logging
That number shouldn't be negative, but print it right in case it is.
2020-04-22 14:39:08 -06:00
Matthew Flatt
7c7d514f73 cs: fix glib logging callback
Commit 16ad9ed522 removed a `lock-object`, but that's only ok as long
as the callable is retained (which is better than using
`lock-object`).
2020-04-22 14:39:08 -06:00
Sam Tobin-Hochstadt
e95c3e337d
Update FUNDING.yml 2020-04-22 15:43:36 -04:00
Paulo Matos
0bc9007365
Fix CI yml syntax (#3117)
Do not use working directory on uses.
Also - update actions download/upload artifact to use v1 instead of master.
2020-04-22 21:34:28 +02:00
Paulo Matos
7a57072af3
Put all Racket installations in runner temp (#3116)
* Put all Racket installations in runner temp

Avoid relative paths (see #3112).

Fixes #3112.

* Replace missed .. in artifact download
2020-04-22 20:15:39 +02:00
Georges Dupéron
d09ce588bf Allow dotted list syntax for match expanders, e.g. (match v [(some-match-expander a b c . d) (displayln (list a b c d))])
Closes #1438.
2020-04-22 14:10:59 -04:00
Matthew Flatt
16ad9ed522 cs: use new immobile-object support
Implement 'atomic-interior allocation and immobile cells using
`make-immobile-bytevector` and `make-immobile-vector`, which avoids
having to unlock through a finalizer.

Also, the Chez Scheme GC can now mostly mark a major generation,
instead of copying it, which can significantly reduce memory
use during a GC for an old, large heap (such as DrRacket's).
2020-04-22 07:19:38 -06:00
Matthew Flatt
dccd841adf adjust peak-memory logging
Show peak administrative as a parenthesized delta on peak space.

For BC, this extra delta is small, because BC compacts (instead of
copying) old-generation objects. For CS, the extra delta can large ---
typically an extra 50%, but potentially another 100% --- because a
full collection copies all old-generation objects.

Also, for BC, fix cumulative-allocation reporting to include child
places.
2020-04-22 07:19:38 -06:00
Matthew Flatt
f53f20b5b9 GC marking (non-copying) mode
Change the GC so that it can mark and sweep objects in-place, instead
of always copying. This change is helpful for reducing peak memory
use while performing a collection on a large, old heap.

Some non-copying support was already in place for locked objects,
but the new implementation is faster and more general. As an
alternative to locking, the storage manager now provides "immobile"
allocation (currently only for bytevectors, vectors, and boxes),
which allocates an object that won't move but that can be GCed if
it's not referenced. A locked object is an object that has been
immobiled and that is on a global list --- mostly the old,
non-scalable implementation of locked objects brought back, since
immobile objects cover the cases that need to scale.

original commit: aecb7b736cb1d52764c292fa6364a674958dfde3
2020-04-22 07:10:02 -06:00
Sam Tobin-Hochstadt
859e7b4373 Avoid unnecessary use of fprintf.
Closes #3113.
2020-04-21 18:35:04 -04:00
Paulo Matos
392dc33ceb
Update gmp invert_limb from arm (#3111)
Extract invert_limb code for ARM from GMP 6.2.
In order to check for thumb mode availability use defined macro `__thumb__`, which in turns requires us to process the source file with `gcc` instead of `as` in order to access the preprocessor - tested with `clang` as well.

Fixes #3050
2020-04-21 07:12:05 +02:00
Matthew Flatt
f4de537e1c gc: generate sweep_dirty_object
The `sweep_dirty_intersecting` function still had hand-implemented
sweep cases.

original commit: c51b46b3cc71ed0dbc523071dce3cc496965e0b6
2020-04-18 10:40:15 -06:00
Paulo Matos
876aff85c2
Constrain the values of a and b in function not to be both NULL (#3106)
Fixes #2686
2020-04-17 21:55:17 +02:00
Matthew Flatt
734491b511 configure: fix unix-style configuration with --prefix
Closes #3046
2020-04-17 12:05:21 -06:00
Matthew Flatt
02fca53fba repair object counting
The leak repair wasn't quite right, and it broke `object-counts`.

original commit: 4f3ea0d8d093908e35067a02e1f78e033a5bb655
2020-04-17 08:16:55 -06:00
Matthew Flatt
fb677d9569 cs: sync with Chez Scheme update
The Chez Scheme change avoids a leak while collecting in counting
mode, which is used by Racket's memory-accounting mode.

Also, add a small repair for 4256214981.
2020-04-16 17:25:04 -06:00
Matthew Flatt
c4ffe39efb fix leak related to object counts
When collecting to the maximum generation with object counts enabled,
a structure type would effectively become permanently reachable.

Also, add `bytes-finalized` to report how many bytes were associated
with guardian-based finalization by the most recent collection.

original commit: 852f5e2de95a26d3500321c4d4d732407945a57a
2020-04-16 16:16:13 -06:00
Matthew Flatt
8145434fa7 cs: small memory-accounting simplification
Remove an unneeded accounting hook.
2020-04-16 13:44:43 -06:00
Matthew Flatt
4256214981 cs: repair retention of a custodian with a memory limit 2020-04-15 17:25:23 -06:00
Matthew Flatt
d685c835f9 expander: fix reader demo 2020-04-14 08:14:56 -06:00