Matthew Flatt
23cb7c6a1a
sgc: fix finalization callback data marking
...
Callback data should be treated accessible before conaidering any
finalized or weak references.
Relevant to #2734
2019-07-21 18:05:57 -06:00
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
ed8794d83d
fix check for arity wrapper and non-fixnum-width arg count
...
Closes racket/racket#2746
original commit: 633cab4d38d8d22a0425f5554d80faba925dfdde
2019-07-17 16:43:32 -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
368d079d24
adjust build for BSDs, MinGW cross-compile, and more configuration
...
Includes joint work with @abmclin, @pmatos, and @jessealama.
original commit: 2649600c68ff57efb63d6d5d10c9d9f73368f59a
2019-07-06 13:16:57 -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
Matthew Flatt
463677304a
configure with --libkernel
as the default
...
original commit: f5f609214c3ee8eed083f05b508095df1aac40de
2019-07-05 07:30:51 -06:00
Matthew Flatt
71846161f9
Merge branch 'bsd' of github.com:mflatt/ChezScheme
...
original commit: 198477a40c2c580924d95491e63d80e1f9a39c0d
2019-07-05 07:30:37 -06:00
Matthew Flatt
1de465c474
add --kernelobj configure option
...
Although `--kernelobj` is the default, allow it to be specified
explicitly, in case it makes sense eventually to change the default.
original commit: 46813ea67dd115d87924422373ea684b75e2772c
2019-07-04 13:28:53 -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
c38194c0ca
adjust build for BSDs, MinGW cross-compile, and more configuration
...
Includes joint work with @abmclin, @pmatos, and @jessealama.
original commit: 70559d074f70dcadec5cea3619f75f91fcda77eb
2019-07-03 18:54:04 -06:00