Commit Graph

42958 Commits

Author SHA1 Message Date
Matthew Flatt
d7a226053e cs & schemify: repair treatment of property procedures
A procedures that is a value for a structure-type property was not
always inspected correctly. For example, if such a procedure was the
only one to mutate a module variable, then the variable might not be
detected as mutable.
2020-12-07 20:40:27 -07:00
Matthew Flatt
3c382284a4 cs: better equal-secondary-hash-code
Since CS doesn't use secondary hash code internally, the
`equal-secondary-hash-code` function wasn't really implemented.
Implement it reasonably for applications that might use it to
implement other data structures.

Testing exposed other problems related to error reporting for a broken
hash-function result and for using values within immutable hash
tables.

Closes #3536
2020-12-07 20:40:27 -07:00
Matthew Flatt
a2a456cd2d Chez Scheme: fix a test for weak memory ordering 2020-12-07 16:20:54 -07:00
Jack Firth
5cedca2183 Add an example of how to use in-indexed 2020-12-07 16:19:06 -07:00
Bogdan Popa
ad284de366 assemble-distribution: convert string relative bases to paths
Fixes an issue where the distribution assembler expects these to be
`path?`s.

I originally considered making this change in the ctool command in
`cext-lib` instead, but then I noticed the documented contract for
`assemble-distribution` is `(or/c #f path-string?)`.
2020-12-07 16:17:04 -07:00
yjqww6
c71e6289af add #%$app/no-inline to some raise functions 2020-12-07 05:03:06 -07:00
yjqww6
d81fa3bba0 get rid of rtd-mutables for non-prefab struct 2020-12-07 05:02:47 -07:00
Mark
72809879a4 Tiny English fix 2020-12-07 06:04:56 -05:00
Matthew Flatt
a31a5a6d37 cs makefile: repair for cross-compile for Mac OS (on Mac OS) 2020-12-06 07:57:25 -07:00
Matthew Flatt
ef0b97c65e Chez Scheme: fix error escape during fasl read with W^X
Go back to execution mode when fasl-read escapes with an error.
2020-12-05 19:24:20 -07:00
Matthew Flatt
0e08807d3f Chez Scheme: adapt AArch64 ABI for Mac OS
Apple doesn't follow quite the standard ABI when there are enough
arguments involved to use the stack.
2020-12-05 19:20:57 -07:00
Matthew Flatt
ebffdb1600 fix AArch64 Mach-O update for cross-compile 2020-12-05 17:02:15 -07:00
Matthew Flatt
24076aa4f1 Chez Scheme: update list of supported platforms 2020-12-05 16:12:33 -07:00
Matthew Flatt
daee6485d2 bc: repairs for AArch64 Mac OS 2020-12-05 12:43:45 -07:00
Matthew Flatt
96dd901780 repair Mach-O ad hoc signing 2020-12-05 09:40:38 -07:00
Matthew Flatt
10ea287f3b cs: repair for build's GRacket install step 2020-12-04 17:23:43 -07:00
Matthew Flatt
aa2f163f15 ad hoc signing of generate executables for AArch64 Mac OS
AArch64 Mac OS will not run an unsigned executable. But it will happily run an
executable with an "ad hoc" signature, which is little more than a sequence of
SHA-256 hashes of the file content.
2020-12-04 13:41:10 -07:00
Matthew Flatt
4e05a0d058 repairs for AArch64 Mac OS
Still needed: code signing for installed dylibs and generated executables.
2020-12-04 11:05:40 -07:00
Matthew Flatt
908156b92f repairs to build and run on AArch64 Mac OS 2020-12-03 14:25:18 -07:00
Matthew Flatt
6201055c7a docs: build guide correction on PLT_SETUP_OPTIONS 2020-12-03 06:42:31 -07:00
Matthew Flatt
8ec9bf72d7 docs: clarify which compiled-code literals go through datum-intern-literal
it's only strings and byte strings.
2020-12-02 17:24:16 -07:00
Matthew Flatt
977494552e cs & io: fix use and initial value of print-reader-abbreviations
Meanwhile, new tests highlight how the `pretty-print` family of
functions is inconsistent with the non `pretty-` variants (worth
changing, considering backward compatbility?).
2020-12-02 16:53:14 -07:00
Matthew Flatt
918716fa3e add makefile dependency 2020-12-02 14:55:21 -07:00
Matthew Flatt
ef664169e1 ffi/unsafe/objc: method installed by method_setImplementation as atomic
Just in case.
2020-12-02 13:01:30 -07:00
Matthew Flatt
abc4a1fe8a Chez Scheme: repairs for callables on ppc32 and varargs for ppc32osx
Fix list of preserved registers, and make not-declared-as-varargs
calls work as varargs on Mac OS for many useful situations.
2020-12-02 12:56:51 -07:00
Matthew Flatt
fe966b9280 rktio: fix sha_256 for big-endian platforms
The macro for big-endian reads was confused. Just remove the special
case.
2020-12-02 07:43:04 -07:00
Cameron Moy
a7038173aa fix contract on impersonate-async-channel 2020-12-02 07:42:27 -07:00
Sorawee Porncharoenwase
5e9caea86c guide: make "Simple Definitions and Expressions" easier to read
Closes #3530
2020-12-02 07:41:45 -07:00
yjqww6
cec3041f24 cp0: improvements for $record-ref and record? 2020-12-02 07:34:55 -07:00
Matthew Flatt
08fc3b17c7 Chez Scheme: add "auto.bootquick" makefile target
The "auto.bootquick" target maps to "<machine type.bootquick" for
whatever machine type would be inferred by `configure`.
2020-12-01 19:48:42 -07:00
Matthew Flatt
3ab6fd66ca Chez Scheme: Mac OS PPC32 ABI
The Mac OS ABI is completely different from the Linux ABI for PPC32.
2020-12-01 19:29:47 -07:00
Sorawee Porncharoenwase
0711dd7974 Use unsafe-vector-ref in the loop 2020-11-30 10:56:08 -05:00
Sorawee Porncharoenwase
ed6f990e87 match: eliminate vector refs due to ``_ ddk''
Currently, the pattern matcher always call `vector->list`
on the input vector if a ddk is detected.
However, when there is exactly one ddk and users wish not to
bind an identifier to the ddk, the whole conversion is not needed.
Instead, we can selectively `vector-ref` the prefix and the suffix
of the vector and match them directly against patterns.

Also strengthen an existing test.
2020-11-30 10:56:08 -05:00
Matthew Flatt
ea620f2a4a Chez Scheme: add PPC Mac OS 2020-11-30 07:29:33 -07:00
Matthew Flatt
6e0c9c00b9 Chez Scheme: larger range for relative return address
A 16-bit range is not large enough for "nanopass/pass.ss".
2020-11-30 07:29:33 -07:00
yjqww6
20be8ffc03
RacketCS: preserve immutability when encoding structs as chez records 2020-11-30 07:29:25 -07:00
Paulo Matos
c3c5a33c53 Specify specific ubuntu version to avoid github warning 2020-11-30 08:34:06 +01:00
Matthew Flatt
f74a758051 rktio: bring back old CPU-count code for PPC Mac OS 2020-11-29 16:08:30 -07:00
Matthew Flatt
b12b3ed49e patch libffi3.3 for PPC Mac OS 2020-11-29 16:04:15 -07:00
Matthew Flatt
a940c7a43b Chez Scheme: repair pb code endian swap 2020-11-29 15:09:05 -07:00
Matthew Flatt
638f6f2b44 bc: fix unsafe-mode handling of bitwise-{and,ior,xor}
They were being converted to fixnum operations in unsafe mode, but
the intent was to use fixnum operations only when the argument are
known to be fixnums.
2020-11-29 10:52:28 -07:00
Matthew Flatt
dfad17b7bb docs: add missing info on syntax-local-bind-syntaxes
Related to #3517
2020-11-29 07:07:44 -07:00
Michael Ballantyne
785ad3daea fix syntax-local-eval when intdef argument given 2020-11-29 07:07:37 -07:00
Matthew Flatt
3085780849 Chez Scheme: repair to code vs. non-code chunk handling
The daily build plot showed much higher peak memory use due to some
missing pieces for the split.
2020-11-29 06:03:55 -07:00
Matthew Flatt
1bf4086dae makefile: strip any code signature in "collects-path.rkt"
The latest Mac OS tools automatically sign code when linking, and
"collect-path.rkt" break that signature by changing the executable.
Avoid that problem by removing the signature, first. (Leave it to
distribution tools to install a new signature.)
2020-11-28 16:57:59 -07:00
Matthew Flatt
67a8690021 mach-o: accomodate AArch64 2020-11-28 16:57:59 -07:00
Matthew Flatt
bd193e46f1 bc: W^X for AArch64 Mac OS 2020-11-28 16:57:59 -07:00
Matthew Flatt
64378caa1d Chez Scheme: distinguish code and non-code allocation segments
Code segments are executable and potentially non-writeable in a thread
--- except when specifically enabled, at which point code segments are
made non-executable for that thread. Non-code segments are always made
non-executable.
2020-11-28 16:57:59 -07:00
Matthew Flatt
1a03fe42f0 makefile: support notarization via distro-build 2020-11-28 10:24:53 -07:00
Matthew Flatt
3b262edfa0 changes to compile for Mac OS AArch64
These changes allow cross-compilation of Racket for AArch64.  Whether
the build actually runs is another question.
2020-11-27 19:46:07 -07:00