Commit Graph

42233 Commits

Author SHA1 Message Date
Matthew Flatt
d26b54dd52 refactor np-expand-primitives unboxing
Shift addition of boxing as needed into the main loop, infer unboxed
variables and `mref`s, and centralize lifting of the `unboxed-fp`
declaration.

original commit: ed8ca4b6c77bdd436b0dee467a8350a450a44fb3
2020-06-12 09:21:46 -06:00
Matthew Flatt
1ce6d97369 fix unboxing with single-argument fl+ and fl*
original commit: 366468c7149dbb59cdf2dce67078e6511b137e9b
2020-06-12 08:07:21 -06:00
Matthew Flatt
99acbdaf8c fix cs to not itialize 'atomic memory, docs to not claim initialized 2020-06-11 19:37:12 -06:00
Matthew Flatt
35fe6a0c64 reference: fix typos related to exfl->fx and fx->extfl 2020-06-11 19:37:12 -06:00
Matthew Flatt
23e3597778 fix vfasl for library/C entry 0
original commit: ab36ca79585b69db135b9edeadbc26e9a071f813
2020-06-11 17:24:17 -06:00
Matthew Flatt
1117392cb5 cs: fix touch on future waiting for an atomic action
When the runtime thread `touch`es a future that is blocked on an
atomic action (just as JIT compilation), the runtime thread would
eagerly run the action, but still leave the future on the
atomic-action queue. Atomic actions tend to be ok to run a second time
(including JIT compilation), so a problem may not show up immediately,
but a semaphore can get out of sync and cause problems later.
2020-06-11 14:55:39 -06:00
Matthew Flatt
42cb80bc70 make fl->fx truncate
Change `fl->fx` to truncate as it converts, which is typically done
anyway by a machine instruction to convert from floating-point to
integer values. This makes `fl->fx` different from `inexact->exact`
or `fl->exact-integer`, but it brings BC and CS in line.
2020-06-11 06:17:18 -06:00
Matthew Flatt
fd236d99ef cs configure: propoagate some options to rktio configure
Otherwise, for example, there's a pthread mismatch currently on arm32
for rktio compilation and racketcs linking.
2020-06-10 08:13:13 -06:00
Matthew Flatt
4e808d249a fix bounds checking in flonum->fixnum
The comparison was off for 32-bit plaforms, because it didn't allow
fractional increments, The comparison was off for 64-bit platforms,
bbecause it didn't account for round-trip failure when starting from
the largest fixnum.

original commit: 74eb0583ae1b6212fbde459d7486c3d4a0498401
2020-06-10 07:56:37 -06:00
Sam Tobin-Hochstadt
ec0964861f Check for 0.0 imaginary part in exp.
Follows Chez Scheme and Guile. Turns `(exp 10000.+0.0i)` into
`+inf.0+0.0i` instead of `+inf.0+nan.0i`, which is analagous to
the behavior for exact 0 in the complex part.

Fixes #3194.
2020-06-10 09:10:22 -04:00
Matthew Flatt
2768499b88 fix rktio destroy to release a pipe used for internal singals
Also, fix CS to desstroy a place's rktio instance when the place
exits.

Closes #3243
2020-06-09 10:04:46 -06:00
Matthew Flatt
fcea8d3c67 more: adjust PATH note, because there's no "bin" layer on Windows 2020-06-09 08:36:47 -06:00
Fred Fu
c2cae5b7e3
[CS] struct-type-make-predicate creates a value that passes struct-predicate-procedure?
Fixes #3239
2020-06-08 15:03:17 -06:00
Sorawee Porncharoenwase
cd996c3b6c Fixes #3236: preserve disappeared-use on local, block, and class 2020-06-08 13:35:59 -06:00
Matthew Flatt
79e6d1865a Revert "expander: fix intering of some module path indexes for ".zo""
This reverts commit 91f8d8a72f.
The idea that the same resolved path implies the same module
path index is incorrect.

Related to #3241
2020-06-08 10:41:17 -06:00
Sancho McCann
1f3a18d637
Updated sgn documentation to reveal behaviour for signed zeros
Include expanded example set to show behaviour for infs
2020-06-08 07:35:58 -06:00
Matthew Flatt
69b597e496 clean up backend API for floating point
Simplify and normalize backend elements for loading, storing, and
converting floating-point numbers, taking better advantage of
new support for floating-pointer registers.

original commit: 4066af9cf3799392ef785a77da69f7cfff74d2fe
2020-06-07 20:02:00 -06:00
Matthew Flatt
a5f877f95d repair a hashtable test
original commit: 021e4e59474034a45c46fe51f4cd6c7ba2305554
2020-06-07 06:25:14 -06:00
Matthew Flatt
6395bd92ff fix foreign-callable handling of bytevector arguments
This is a follow-up to 276f8da076, where `(%tc-ref cp)` was supposed
to be preserved by moving it into %cp, but intrinisics for bytevector
arguments can kill %cp. Use a temporary to expose things properly to
the register allocator.

original commit: 3a29db06a452e46e69ebcde524b3b9acb435dec3
2020-06-06 19:44:40 -06:00
Sorawee Porncharoenwase
7abdaee224 doc typo: disappeared-{use,binding}s -> disappeared-{use,binding} 2020-06-06 21:40:52 -04:00
Matthew Flatt
2f5d2ab05a Revert "fix callable handling of string and bytevector arguments"
This reverts commit aa230ac79bed1efa02779bb7bbcde5c009818b74, so it
can be replaced with a solution that is less clumsy and less fragile.

original commit: 533940fdc6905d810deabb457d7004a031a3ac05
2020-06-06 19:31:38 -06:00
Matthew Flatt
a1ddeade2c suppress time-stamp-counter test for arm32le
original commit: 990f051353979049415c29af503556c5b82296e9
2020-06-06 17:57:39 -06:00
Matthew Flatt
aa17bc5d5b make sure threads from thread tests finish
original commit: baf5f3b32940f8060c535428f92b573f46dff9d4
2020-06-06 15:11:17 -06:00
Matthew Flatt
e8a52e23a9 fix ftype-lock! for arm32le
original commit: 16af3430e0f677de8de4af6b8828b9fde7a60243
2020-06-06 15:02:58 -06:00
Matthew Flatt
bbbd5a76ac fix vfasl relocation for arm32
original commit: e15c51c2c29aea545fbb4790f36b15002b7a25a5
2020-06-06 14:29:32 -06:00
Matthew Flatt
0adffe2c19 fix psuedo-random state C view for arm32
original commit: 348c1798d88eea3504961effe7953103044e3ee4
2020-06-06 12:16:11 -06:00
Matthew Flatt
cb4c035a9e fix indirect unsigned return for arm32le
original commit: 158ffeb1db8f425391193f2a205594e3f1a60e99
2020-06-06 09:28:24 -06:00
Matthew Flatt
237f0e4fa4 add a __varargs FFI convention modifier
The varargs convention differs from the fixed-argument convention on
arm32le.

original commit: b2029432e66f188911194cdb8eea2cb3725f5cd3
2020-06-06 09:28:24 -06:00
Matthew Flatt
36aa0aad01 fix callable handling of string and bytevector arguments
This is a follow-up to 276f8da076, where `(%tc-ref cp)` was preserved
by moving into `%cp`, but I missed that intrinisics for string and
bytevector arguments kill `%cp`.

original commit: aa230ac79bed1efa02779bb7bbcde5c009818b74
2020-06-06 09:28:24 -06:00
Stephen De Gabrielle
f892fe936e
more: set path guidance
Include information about how to set `PATH`.

Related to racket/racket-lang-org#101
2020-06-05 13:13:54 -06:00
Matthew Flatt
110c580d97 cs-bootstrap: repair relevant to arm32le 2020-06-05 13:11:03 -06:00
Paulo Matos
9315112df2
Improve docs on the return value of git-checkout (#3233) 2020-06-05 16:56:01 +02:00
Matthew Flatt
d2069742ee repairs for arm32le
Includes a repair by @cjfrisz at cisco/ChezScheme#510

original commit: e7ee15332bd8f0e5f0887cff9f6ee45b8b38a4f1
2020-06-05 07:28:37 -06:00
Matthew Flatt
3cc74bd3db adjust datum-intern stress test
Instead of requiring a table not to grow within an iteration, require
it to not grow across iterations.
2020-06-04 11:16:45 -06:00
Matthew Flatt
c103184272 repairs for unboxing
Fix nested-loop handling with union find, and fix unboxing check
to properly account for a primitive's arity.

original commit: af2f8784d96f09624b97476fb7b674a77097f9d0
2020-06-04 09:18:53 -06:00
Sam Tobin-Hochstadt
0938ae8e33 Print random state in datum-intern stress test. 2020-06-04 10:52:09 -04:00
Matthew Flatt
c9f2d1e156 i3 repairs related to fp unboxing
original commit: 0f33056b6503013237b26c09c2e9baba4377a750
2020-06-03 16:29:26 -06:00
Matthew Flatt
a1def58a46 test corrections
original commit: df411ac716894d9354448d9b53ab96ec165b33dd
2020-06-03 15:27:07 -06:00
Matthew Flatt
6d65be6234 fix places where a lambda name was fumbled
original commit: 7fc5a6c5c6ce9f7979ca88e71c79521b5f5ad408
2020-06-03 11:08:58 -06:00
Paulo Matos
31c5644cf5
Consolidate current racket-ci images into a single one (#3230)
This simplifies jobs (like PR jobs) that have to build and test in a
single container and cannot choose between build or test images.
2020-06-03 18:34:20 +02:00
Matthew Flatt
f508bb25ab cs & threads: fix replace-evt leading to choice-evt
Closes #3229
2020-06-03 09:48:48 -06:00
Matthew Flatt
b53e6a990c fix broken use of state in cp0 for single-value and names
Preinfo recoreds were mutated under the incorrect assumption that they
were specific to a `lambda` form, which is not true, especially after
some inlining.

original commit: 489b4c732d7359b1c7c4558d41d5e6ba3a9abafa
2020-06-03 06:12:29 -06:00
Robby Findler
8908496ba1 tighten promised contract of denominator 2020-06-02 17:57:48 -05:00
Sam Tobin-Hochstadt
8b8e3913a8 Fix snapshot paths 2020-06-02 13:44:10 -04:00
Sam Tobin-Hochstadt
257eb13e29 use new bucket for ci snapshots 2020-06-02 12:04:41 -04:00
Matthew Flatt
e496805f82 makefile: add win32-also-cs, etc. 2020-06-02 08:28:10 -06:00
Matthew Flatt
774bfd9139 windows: repair command parsing, especially when building with MinGW
Related #3277
2020-06-02 08:05:08 -06:00
Matthew Flatt
606a8c52aa doc correction: --skip-implies -> --update-implies
Also, clarify the interaction of implied packages with `--deps` and
`--update-deps`.
2020-06-01 19:06:29 -06:00
Matthew Flatt
17d60e479f unbreak 3m glib testing support 2020-06-01 14:22:10 -06:00
Matthew Flatt
3499e79377 cs: fix glib logging callback
Allow a NULL domain string.

Related to #3216
2020-06-01 14:14:43 -06:00