Commit Graph

42244 Commits

Author SHA1 Message Date
Matthew Flatt
5cc686526b cs: sync with revised fasl compression for code
Sync with changes from cisco/ChezScheme. The specific code fragments
that are compressed and the chunks that are used for compression
remain essentially the same as before for Racket CS, but a different
organization at the Chez Scheme level takes over some of the work that
was on the Racket CS linklet layer, and load times may improve
slightly.
2020-07-13 06:57:45 -06:00
Matthew Flatt
c56b837692 cs: fix addition of memory-order-{acquire,release} 2020-07-13 06:50:15 -06:00
Matthew Flatt
fd3b903c1c sync with https://github.com/cisco/ChezScheme on fasl compression
Merge changes in the way that fasl streams are compressed. The new
approach makes compression explicit in the fasl representation, which
means that tricks like uzing zcat on a fasl file will no longer work
(at least not efficiently).

original commit: 167ac7294a2dc400821e4336f0cfc4de621efe97
2020-07-12 19:07:05 -06:00
Matthew Flatt
a4fb72e84c unbreak arm32
original commit: 83221c32b4e8654f0f7d3b3857b7efab5be2bad4
2020-07-12 06:00:00 -06:00
Matthew Flatt
40f07236b9 add memory-order-{acquire,release} 2020-07-11 19:59:27 -06:00
Matthew Flatt
802daa10b1 add memory-order-acquire and memory-order-release
original commit: ea879863f2141ac30532586ff435f16dc4339a8b
2020-07-11 10:02:32 -06:00
Sam Tobin-Hochstadt
100597f9bb Repair 7f44aaf2bf to check argument length before /. 2020-07-09 21:29:49 -04:00
Matthew Flatt
32c5af0442 arm64: fix unsafe bitwise shift by 0 and unsafe $fxu< on 0
original commit: 742fe456e3b20caf02156f0c2e0f906cb6fa579f
2020-07-09 22:37:09 +00:00
Matthew Flatt
763c7981a4 add a guide implementation
This first cut is heavy on describing how backends work, because
that's fresh in mind and relevant to ongoing effort.

original commit: 964ce95dc910e6c1825b341bf05492af5903cc82
2020-07-09 14:22:43 -06:00
97jaz
276e3ff7d6
Clarify that synchronizing on a semaphore decrements its counter (#3292) 2020-07-09 10:45:05 -07:00
Matthew Flatt
b2f74f014e add AArch64 (aka Arm64) support as tarm64le
original commit: 9964f27f64cc743fd1dbff7418fce940a4291b01
2020-07-09 06:32:41 -06:00
Matthew Flatt
7dda76b7ce cs: add aarch64-linux
Just a few configuration lines here, since all of the porting work was
at the Chez Scheme level.
2020-07-08 20:22:11 -06:00
Matthew Flatt
38a2b28f85 reference: update fixnum range for CS 2020-07-08 20:04:23 -06:00
John Clements
39a8a50d0a
apparent typo in collection-search looks like error should be raise-argument-error (#3285) 2020-07-08 11:16:22 -07:00
John Clements
38d92bdb30 Post-release version for the v7.8 release 2020-07-08 08:47:14 -07:00
Sam Tobin-Hochstadt
bf86472f11 Adjust name to distinguish sarif files. 2020-07-06 15:49:14 -04:00
Robby Findler
ac4ae9ebba adjust ->i to fall back to the slow path to signal the error
because the existing shortcut didn't gave the right message all the
time.

Closes #3286
2020-07-04 17:41:46 -05:00
Robby Findler
ddacbfa174 edits to make- APIs for projections
mostly making the name of the #:first-order argument be first-order
2020-07-04 16:23:43 -05:00
Matthew Flatt
57a2b8511d unbreak [t]i3nt
Commit 88d57da163 incorrectly merged, because the syntax of `mref` has
changed to support unboxed floating-point arithmetic.

original commit: a8eeb536aecc0e0a363aa68d43edafa7d6c9df52
2020-07-04 10:11:32 -06:00
Sam Tobin-Hochstadt
d62526d290 Upload all scan-build results to GitHub. 2020-07-03 15:37:27 -04:00
Paulo Matos
8343bd2d7c
Move SARIF files to directory with single-level (#3283) 2020-07-03 16:10:18 +02:00
Paulo Matos
b3175b7202
Used tagged docker image pmatos/scan-build:10.0.0
Using latest tag meant builds broke after upstream container file broke the image.
Using tagged image should avoid this.
2020-07-03 11:28:59 +02:00
Ryan Culpepper
497bb25917 read-xml: use {open,get}-output-string instead of list->string 2020-07-02 19:33:13 -04:00
Matthew Flatt
3824ddc5b4 repair a test
Repair a test that is part of 8464896255, because `write-bytes-avail*`
is not obliged to write all bytes.
2020-07-02 15:37:11 -06:00
Matthew Flatt
e0f390c8c8 syntax/strip-context: handle hash tables
Closes racket/scribble#245
2020-07-02 14:42:18 -06:00
Matthew Flatt
d50d74e458 fixup history note in compile-output-ports
The version drifted to 7.7.0.10 before I managed to merge the PR.
2020-07-02 14:15:22 -06:00
Luka Hadzi-Djokic
8464896255
Add combine-output-ports 2020-07-02 14:14:48 -06:00
Matthew Flatt
c40a7ae2fc cs: limit debugging context in continuation marks
In CS, if you interrupt an especially tight non-tail recursion, such
as

 (let loop ()
   (cons 1 (loop)))

then the "context" view of the continuation (as recorded in a
continuation mark set) can take space that is a multiple of the size
of the continuation itself. That's a particular problem if the
too-deep recursion triggers the memory limit in DrRacket, because
DrRacket will then need a multiple of its current heap space to report
"out of memory".

(Note: Just keeping the continuation itself is not a good option,
because that may retain other data referenced by the continuation.)

This commit reduces the heap space used to gather a continuation
context, relying in part on new Chez Scheme support, but mostly it
limits the context length to roughly the same maximum as in BC. The BC
limit is an implementation artifact, but it turns out to have good
properties; informaiton on more than 64k continuation frames is rarely
useful. The limit could be a parameter, but a large built-in limit
seems likely good enough.

(Another note: Adding a limit argument to
`continuation-mark-set->context` doesn't help enough, because it's too
late by that point; too much memory has been used to repersent the
information that's in the mark set.)

The commit also tightens tracking of continuations for memory
accounting, reducing the chance that a thread's large continuation
will be charged to the wrong custodian.
2020-07-02 10:59:02 -06:00
Matthew Flatt
7c7f16ba02 bc: system-library-subpath for aarch64-linux 2020-07-02 08:50:56 -06:00
Matthew Flatt
ac0b1f71ca add functions to traverse a continuation without splitting
original commit: 0f3ff69d4247ec695087953892839d680ed32fff
2020-07-02 06:46:42 -06:00
kryptine
4e1646fea8 Synchronize .github/CONTRIBUTING.md with README.md.
samth said "I don't think the Friendly Environment policy should be thought of as part of copyright issues, or applying only to people who contribute code. Is there a different phrasing that would accomplish what you want here?" I have rephrased the reference to the Friendly Environment Policy and moved it before the License section to avoid confusion with copyright issues.
2020-07-01 22:43:30 -04:00
kryptine
9f8d283e48 Remove top-level CONTRIBUTING.md 2020-07-01 22:43:30 -04:00
kryptine
5e4feed5b8 Add link to the Friendly Environment Policy 2020-07-01 22:43:30 -04:00
kryptine
d9b3645117 Add links to CONTRIBUTING.md 2020-07-01 22:43:30 -04:00
kryptine
29434fec6a Remove unnecessary reference to the FEP 2020-07-01 22:43:30 -04:00
kryptine
7fbb0bbbe3 Information for contributors and information for users should be put into separate files. Also, rephrased reference to the Friendly Environment Policy 2020-07-01 22:43:30 -04:00
kryptine
0e651dc5d7 Move out-of-context reference to the Friendly Environment Policy to the right section 2020-07-01 22:43:30 -04:00
Sam Tobin-Hochstadt
33498730ed Look at uploaded files. 2020-07-01 13:37:21 -04:00
Bogdan Popa
96c93abe7f rktio: fix demo.c compilation errors 2020-07-01 06:10:54 -06:00
Sam Tobin-Hochstadt
5951c81f28
Fix scanbuild syntax error. 2020-06-30 14:49:40 -04:00
Sam Tobin-Hochstadt
45b97dba80
Upload LLVM scan-build results to GitHub 2020-06-30 14:33:43 -04:00
Sam Tobin-Hochstadt
4bcaef330d
Set up GitHub CodeQL analysis 2020-06-30 12:07:19 -04:00
Matthew Flatt
c0a525db60 bc: repair --enable-shared install
Don't try to install librktio.a when building in shared-library mode.
2020-06-30 07:40:29 -06:00
Matthew Flatt
d008d60e23 test repair
This change was meant to be par tof b00e8415b7.
2020-06-30 07:27:40 -06:00
Matthew Flatt
193850f7dc reference: fix verison in history note 2020-06-29 18:43:53 -06:00
Matthew Flatt
3bb607d46f makefile: fix location of 3m arm assembly output 2020-06-29 18:43:53 -06:00
Robby Findler
ced16f6868 tweak history description 2020-06-29 19:37:32 -05:00
Sorawee Porncharoenwase
ee773b2835 Fix contract-out for struct
- A part of contract-out's code generation for struct assumes that
there's no parent struct and uses the provided struct name for
everything. This causes duplicate definitions when there are duplicate
field names where one is in a child struct and another is
in a parent struct. This PR fixes the problem.
- Disallow multiple #:omit-constructor
- Deprecate super-id. This information is unnecessary since we can
extract it from static struct information already. Attempting to
check that super-id is well-formed is error-prone due to how
the super struct type could be contracted which shields us from
detecting that they are indeed the super type.
- Utilize static struct field name information, and provide
the information when exporting a struct.

This PR is largely based on #732.

Fixes: #3266, #3269, #3271, and #3272
2020-06-29 19:35:19 -05:00
Matthew Flatt
b9770f6869 cs: remove outdated porting note 2020-06-29 16:49:20 -06:00
Matthew Flatt
b00e8415b7 cs: check memory limit in make-phantom-bytes 2020-06-29 16:49:20 -06:00