Matthew Flatt
ab9a5d261e
ffi: fix recording of foreign function names
...
The internal change to a curried mode caused a generic name to be
used.
2019-07-21 18:05:57 -06:00
Matthew Flatt
0f6cd01489
conservative GC: break weak links after finalization
...
Bring CGC and 3m in line by breaking weak links in CGC only after
ready level-1 finalizations (which correspond to will executors) have
been queued. The chage delays clearing of the weak link until after
the finalizer is run.
2019-07-21 18:05:57 -06:00
Matthew Flatt
deca030d34
fix finalization pessimization
...
Recurring during finalization marking could potentially delay
finalization that should happen in the same collection.
2019-07-21 18:05:57 -06:00
Robby Findler
93f4c9226b
change the way +1 arity functions work so the code is generated
...
by `contract-out` instead of `->`
This seems to save about a second of startup time in (non-cs) DrRacket
and about .1 seconds in drracketcs.
The code is also theoretically more easily inlined. Still not easy enough, however.
2019-07-20 10:45:23 -05:00
Paulo Matos
2045c4abd8
Fix processor-count for windows systems ( #2752 )
...
DOS_FILE_SYSTEM is not defined in rktio, use RKTIO_SYSTEM_WINDOWS instead
Fixes #2674
2019-07-20 16:20:19 +02:00
Geoffrey Knauth
8a1677aff4
change as to has for readability ( #2749 )
2019-07-19 13:04:38 -04:00
Matthew Flatt
41fb8b4964
cs: fix math test suite
...
Adjust a recent addition to be guarded by a
`(single-flonum-available?)` check.
Closes #2747
2019-07-19 04:39:29 -06:00
Matthew Flatt
43ba15ca38
expander: fix performance problem with datum->syntax
...
In a pattern like
(let loop ([l l])
(define v (syntax-e l))
(cond
[(null? v) 'done]
[else
(loop (datum->syntax #f (cdr v)))]))
the running time was O(N^2) for a list of syntax objects of length N.
That pattern is relevant for traversals that use `syntax-case` like
(let loop ([l l])
(syntax-case l ()
[(a . b) (loop #'b)]
[() 'done]))
Avoid bad behavior by recording in an weak hash table certain pairs
that were previously been produced by `datum->syntax` internally so
that they can be used as-is.
2019-07-18 12:19:29 -06:00
John Clements
68bbd79b3a
note about installers-from-built makefile target
2019-07-18 08:13:46 -04:00
Matthew Flatt
e4c6a2560b
cs & thread: fix problems with future-shutdown synchronization
...
Relevant to #2725
2019-07-18 06:05:53 -06:00
Matthew Flatt
91cdc06c91
tanh: single flonum result for range of arguments
...
Fix the case for > 1.29f-08 and <= 0.549f0.
Closes #2736
2019-07-18 06:05:53 -06:00
Robby Findler
cec813fef6
fix multi-core variant of the racket contract tests
2019-07-18 03:13:57 -05:00
Matthew Flatt
4d361187a2
add extra tests related to procedure-reduce-arity
...
Related to #2746 , but repair was at the Chez Scheme level,
fixing a (currently) Racket-specific patch there.
2019-07-17 17:09:37 -06:00
Matthew Flatt
c397dba145
cs: better build-time error if lz4
isn't available
...
Mainly for cross-compilation with a Windows target, the Racket CS
build process may need to run `lz4` as an external program. In that
case, complain when `lz4` isn't found, instead of letting `system*`
complain about getting `#f`.
2019-07-17 13:15:50 -06:00
Matthew Flatt
0801478e75
tests/file: fix a tar-gzip
test and incorrect raco test
setup
...
Related to #2744
2019-07-17 08:39:48 -06:00
Luke Nelson
9dbf729cdd
Fix doc typo "debuG" -> "debug" ( #2743 )
2019-07-16 23:22:50 -04:00
Ben Greenman
c6a0d3cdb5
doc: chaperones, fix links
2019-07-15 21:58:09 -04:00
Ben Greenman
7001c04e44
typo: 'any' -> 'any/c'
2019-07-15 20:56:35 -04:00
Sam Tobin-Hochstadt
997f5b583c
Support chaperoning tcp-listeners as evts.
...
Found by the Typed Racket test suite.
2019-07-15 09:18:33 -04:00
Ryan Culpepper
228c3132ca
openssl: fix test comment, use different listener port
2019-07-15 09:15:39 +02:00
Matthew Flatt
fa155727df
cs: unbreak Windows build
...
Add pe-made "cs_config.h" for Windows.
2019-07-12 11:49:39 -06:00
Ryan Culpepper
b4d7885b16
openssl: fix ssl-addresses, docs for ports->ssl-ports
2019-07-12 00:22:28 +02:00
Ryan Culpepper
65e2d802dd
openssl: add key and cert-chain args to ssl-make-{client,server}-context
2019-07-12 00:22:28 +02:00
Ben Greenman
eef651743e
contract: collapsible, prune leaves if eq? and trusted ( #2706 )
...
Change the condition for filtering leaf contracts via `eq?`.
Before, we looked for flat or chaperone contracts.
After, look for flat or trusted contracts. So:
1. untrusted chaperones with side effects that are unsafe to drop are not
dropped, and
2. impersonator contracts can now be dropped (object/c, recursive-contract)
2019-07-11 15:53:16 -04:00
Matthew Flatt
ef4eb585d7
reader: repair readtable re-mapping of #
comment forms
...
Thanks to @LiberalArtist for the bug report and examples.
2019-07-11 12:09:21 -06:00
Matthew Flatt
bad64945e7
racket/fasl: support unsafe-undefined
...
Since a literal unsafe-undefined can be serialized in compiled code,
support in fasl.
2019-07-11 05:13:39 -06:00
Paulo Matos
e6922e76ea
Ensure that src variable type to test mbsrtowcs is correct ( #2735 )
...
When compiling with -Werror (./configure CFLAGS="-Werror" ...),
the test to see if mbsrtowcs exists
failed with pointer type of incompatible type, is char **, should be
const char **. It would proceed to assume mbsrtowcs didn't exist.
2019-07-11 12:20:36 +02:00
Matthew Flatt
85f4fc1337
cs & schemify: fix incorrect constant-folding for {fx,fl}vector
...
Closes #2729
2019-07-09 17:56:15 -06:00
Matthew Flatt
15587d84fe
cs & schemify: repair bad cross-module copy propagation
...
Closes #2732
2019-07-09 15:20:24 -06:00
Matthew Flatt
0284bdaa58
cs & thread: fix chaperone-evt
on will executors
...
Closes #2730
2019-07-09 13:48:30 -06:00
Matthew Flatt
8c052df959
cs & thread: repair for custodian sync witth future host thread
2019-07-09 13:37:24 -06:00
Matthew Flatt
9c0a3abfdb
cs: repair for 32-bit ELF
2019-07-09 09:04:58 -06:00
Matthew Flatt
8e85441410
repairs for procedure-spcialize
2019-07-08 11:48:15 -06:00
John Clements
003f0dd72e
Post-release version for the v7.4 release
2019-07-08 02:33:57 -07:00
Matthew Flatt
839fb84eec
cs & io: fix security-guard call in current-directory
2019-07-07 10:11:37 -06:00
Matthew Flatt
79d6b9bc18
json: preserve old behavior in terminating a number
...
The json parser has allowed "1x" as "1" and "1e-0x" as "1.0", so
keep that behavior for now.
2019-07-06 05:59:14 -06:00
Dmitry Moskowski
bbb8707a4a
json: fixing scientific notation exponent sign bug
...
if exponent contains leading zeroes it's sign will be always `+`. example:
$ racket (6s 38ms)
Welcome to Racket v7.3.
> (require json)
> (jsexpr->string 0.000001)
"1e-06"
> (string->jsexpr (jsexpr->string 0.000001))
1000000.0
2019-07-06 05:57:22 -06:00
Matthew Flatt
c0104a29ef
CS bootstrap: avoid pessimizing primitives
...
Speed up the bootstrap process by more directly referencing primitives
that won't be replaced in the top-lvel namespace for simulating Chez
Scheme.
2019-07-05 15:22:02 -06:00
Matthew Flatt
1e7dbbe020
CS bootstrap: fix structure-operation simplification
2019-07-05 12:12:13 -06:00
Matthew Flatt
3235f648fb
speed up Chez Scheme bootstrap a little
...
Recognize constructor patterns to avoid some indirections.
2019-07-05 08:13:12 -06:00
Matthew Flatt
f0314ddad7
configure: fix failure handling in configure dispatch
...
Closes #2727
2019-07-05 08:13:12 -06:00
Alexis King
ca8870e964
Add property/c
contract combinator for checking first-order properties
2019-07-04 14:08:30 -05:00
Matthew Flatt
21481421a0
unbreak compilation with gcc < v4.5
2019-07-04 07:38:53 -06:00
Matthew Flatt
62f1243136
expander: fix extract mode to not run and work with a submodule root
...
Also, report an error, for now, if a cache directory is not specified
in extract mode, since extraction doesn't currently work without it.
2019-07-03 10:38:12 -06:00
Paulo Matos
8f85df64d9
Add MZ_ prefix to macros NORETURN and UNREACHABLE ( #2723 )
...
Since the definitions of these live in the public header scheme.h,
adding this prefix reduces clashes with other related macros.
2019-07-03 15:32:48 +02:00
Matthew Flatt
182b1c702f
don't expect Racket CS failures on Travis
2019-07-03 06:24:43 -06:00
Paulo Matos
3ddca35655
Remove MZ_DECLARE_NORETURN
...
Removed in e26d2e1
2019-07-03 09:34:10 +02:00
Paulo Matos
e26d2e11d8
Proper cross-platform no return annotations for error functions ( #2709 )
...
Ensures proper noreturn annotations for error functions. Implemented
cross-platform unreachable annotation. No warnings in tested clang or
gcc with default flags. Tested as well on MacOS and Windows.
2019-07-03 08:31:18 +02:00
Sorawee Porncharoenwase
0ffb16bce3
Fix various typos
2019-07-02 12:52:23 -06:00
Paulo Matos
31e7226e45
RacketCS passes testsuite - disallow failure
2019-07-02 08:18:31 +02:00