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
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
Alexander B. McLin
dcffbe1d8b
Change make
to $(MAKE)
so it works more reliably on FreeBSD
...
and other platforms using non-GNU make systems.
original commit: 281a2b3ae12c13f15c14c2ba8968d40c28caacbf
2019-07-02 11:30:59 -06:00
Alexander B. McLin
6a56c06b1d
change update-revision to use #!/bin/sh
...
Previously it was using #!/bin/bash as its interpreter. It is not
compatible with FreeBSD because bash is not installed by default.
The update-revision script is #!/bin/sh compatible and there are
other examples of #!/bin/sh scripts in the codebase so the change
is consistent with them.
original commit: 0ad188cdbd618b369e7fe6d2b9446251fe92e891
2019-07-02 11:30:59 -06:00
Paulo Matos
a3f325bbea
mark functions that never return as NORETURN
...
original commit: 6377313ecb063273b573139c9e91de263e191e60
2019-07-02 11:30:59 -06:00
Matthew Flatt
91ba34b886
fix open-string-input-port
on immutable strings
...
original commit: 58663d92a353969e3b27de2e1a44df571036e1b2
2019-07-02 13:17:39 -04:00
Paulo Matos
31e7226e45
RacketCS passes testsuite - disallow failure
2019-07-02 08:18:31 +02:00
Matthew Flatt
98381f0206
Merge branch 'strport' of github.com:mflatt/ChezScheme
...
original commit: 4ae71d2bac241154aad565a6006454fb394fc9fb
2019-07-01 16:56:05 -06:00
Matthew Flatt
7974eac7dc
Merge github.com:cisco/ChezScheme
...
original commit: d9c77749cc1901a9f5fabb4d78055675f5333be3
2019-07-01 16:55:14 -06:00
Matthew Flatt
5053fbb98d
fix open-string-input-port
on immutable strings
...
original commit: 48b0ace8b6fba756d8573698db4244472c64255f
2019-07-01 16:44:45 -06:00
Matthew Flatt
b0f77a98a3
schemify: improve cross-module optimization
...
The schemify pass collects known-value information as the first step
of processing a linklet body, but the main pass to process the linklet
body may simplify it in a way that exposes new information. For
example, in
(define (call) (values 1 2))
(define-values (x y) (call))
the main pass will inline `call` and expose the fact that `x` and `y`
are always 1 and 2, respectively.
Adjust schemify to inspect the simplified form of a definition and
potentially add new information to known-value information, which is
useful later in the ame linklet body and also as cross-module
information.
2019-07-01 15:19:28 -06:00
Matthew Flatt
ecabcd385a
schemify: add constant folding
...
Like other optimizations that schemify duplicates, constant folding
helps support cross-module optimization. Related "no-prompt"
declarations for primitives can reduce `call-with-module-prompt`s in
schemified output, too, which can interfere with Chez Scheme's
optimizer.
2019-07-01 14:34:25 -06:00
Paulo Matos
831e75d731
Remove SCHEME_NO_EXN block ( #2718 )
...
This is probably related to #2712 .
It's the only occurrence of SCHEME_NO_EXN pointing to the fact that
this is an historical artifact that can be removed.
2019-07-01 16:17:07 +02:00
Matthew Flatt
0e1af0be89
schemify: recognize define-values
split after inlining
...
Recognize `(define-values (id ...) (values rhs ...))` and split to
multiple `define`s after simplifying the right-hand side of
`define-values`. Also, don't split if a define variable is referenced
too early.
2019-07-01 06:11:17 -06:00
Matthew Flatt
c5523fef02
use fixnum-for-every-platform?
for case
2019-07-01 05:41:08 -06:00
Paulo Matos
e97c85b79e
Mark do_raise as NORETURN and ensure it does not return ( #2717 )
2019-07-01 12:55:30 +02:00
Paulo Matos
26cd03ec8f
Do not add explicit return statement when it doesn't exist ( #2715 )
...
Adding return statement where it doesn't exist, causes problems with
functions marked no return so it should be avoided.
Related to #2709 - with this PR, clang won't complain any longer
about issues with xform generated sources about functions marked
no return that do indeed return.
2019-07-01 12:30:45 +02:00
Paulo Matos
fcddf7e9ba
Whitespace cleanup ( #2716 )
...
Requested as a separate PR in #2714
2019-07-01 12:28:22 +02:00
Paulo Matos
da2d75c81b
Trim spaces ( #2657 )
...
It's a non-functional commit.
2019-07-01 12:27:51 +02:00
Matthew Flatt
f8e5526b28
unbreak some 32-bit x86 builds
2019-06-30 11:40:17 -06:00
Matthew Flatt
020c75792c
add fixnum-for-every-system?
...
The `case` macro needs to use the new predicate instead of `fixnum?`,
but delay swittching over until Typed Racket is ready.
2019-06-29 20:18:23 -06:00
Matthew Flatt
b1a5c86702
cs: disable bytecode loaded with a non-original code inspector
...
Racket CS now passes all tests in the core Racket test suite.
2019-06-29 09:20:36 -06:00
Matthew Flatt
4400b70b87
sandbox test: repair for bytecode directory other than "compiled"
2019-06-29 08:33:17 -06:00
Matthew Flatt
97b2982a1d
schemify: update demo
2019-06-29 08:30:08 -06:00
Matthew Flatt
efeb9116d5
cs & schemify: fix set!
-vs.-define
tracking
2019-06-29 08:13:52 -06:00