Matthew Flatt
67a0b0948f
Merge branch 'leftassoc' of github.com:mflatt/ChezScheme
...
original commit: 19d0cb77e6b6dd32fa4a7a26505ee952b4efa756
2019-01-21 10:54:19 -07:00
Matthew Flatt
ae71f7472d
add enable-arithmetic-left-associative
...
Add a parameter to constrain the compiler (off by default) to
implement `+`, `*`, and variants as left-associative when given
multiple arguments.
original commit: d126ba3364893e66263c65af1cd6dbdd8b021439
2019-01-21 10:51:16 -07:00
Matthew Flatt
c647fd031d
Merge branch 'titlecase' of github.com:mflatt/ChezScheme
...
original commit: 244185f858a01b4679d2add4f0f6dc90c9f92c3d
2019-01-20 16:35:27 -07:00
Matthew Flatt
4752199578
fix string-titlecase
on special-casing characters
...
original commit: 0ae58f75bcf76fb41e571579a81ab2080379455c
2019-01-20 16:34:25 -07:00
Matthew Flatt
b27f3c0a94
Merge branch 'phantom' of github.com:mflatt/ChezScheme
...
original commit: 743a56d8f1920620e8f6e14edca7984101425e14
2019-01-20 07:56:59 -07:00
Matthew Flatt
538def47de
add phantom bytevectors
...
original commit: 001917fd98ac6a0f13ccab902e15b9d2169c4b9c
2019-01-20 07:41:09 -07:00
Matthew Flatt
b945bc9318
fixups for eqvnan and expt merges
...
original commit: 95165bd192db6136583a7141587173900e2da0c9
2019-01-18 07:52:51 -07:00
Matthew Flatt
b61298b139
Merge branch 'expt' of github.com:mflatt/ChezScheme
...
original commit: f634e2e45f60f60071c83769edce17541e5e6705
2019-01-18 05:59:56 -07:00
Matthew Flatt
0795cfb2a7
special cases exact numbers for number function
...
Especially 0s and especially `expt`.
original commit: bb9f7f75f7ada6b829de0fdc5b692de7b9613574
2019-01-18 05:59:03 -07:00
Matthew Flatt
84d1e19487
Merge branch 'eqvnan' of github.com:mflatt/ChezScheme
...
original commit: 55b68c7585947c9c07d1be1b643d10dede983874
2019-01-17 09:05:51 -07:00
Matthew Flatt
6a54141df2
change eqv?
to recognize +nan.0
s as equivalent
...
original commit: 46ad2395a2c81326efe555876b8e0be012e24814
2019-01-17 09:05:13 -07:00
Matthew Flatt
6974fad58e
Merge branch 'strnum' of github.com:mflatt/ChezScheme
...
original commit: 7e2ba9a879b4b59304616bc6867f25a09b2cda02
2019-01-16 14:49:25 -07:00
Matthew Flatt
d8d4b76917
fix precision on reading with large exponents
...
A large-magnitude mantissa can cancel some of the magnitude of an
exponent.
Also, make numbers like 1/0e1 be divide-by-zero parse errors
instead of +inf.0 (like 1/0, and in contract to 1/0# or 1/0#e1).
original commit: 820145370046aa3b4d4863ad896d40ffeae01453
2019-01-16 14:48:48 -07:00
Matthew Flatt
3e297e025e
adjust make-arity-wrapper
to enforce the supplied arity mask
...
original commit: a9ec7da3ea3b8edc665b060bcba675248119d260
2019-01-15 11:56:03 -07:00
Matthew Flatt
54282dedc4
Merge branch '17-5-Types-Pass' of github.com:gus-massa/ChezScheme
...
original commit: caf857a33e13c116afa6e2d960eccbada3604190
2019-01-11 15:35:20 -07:00
Matthew Flatt
ea29ba02f7
Merge branch 'sv' of github.com:mflatt/ChezScheme
...
original commit: 9dd62e2d4a44879ddb210bb6ebe7ad600b832634
2019-01-10 19:26:37 -07:00
Gustavo Massaccesi
6afcc310dd
use "single-valued" to simplify some call-with-values
patterns
...
original commit: 0b9d2f0d778789ee9fda8a7249c8d7da329c9bcd
2019-01-10 19:23:36 -07:00
Matthew Flatt
b78838a641
cp0: move only known-single-valued out of single-value context
...
In safe compilation modes, avoid turning an error like
(let ([x (values 1 2)]) x)
or
(car (list (values 1 2)))
into a program that returns multiple values or
(if (list (values 1 2)) 3 4)
into a program that returns without an error.
In addition, refrain from moving an expression from a non-tail
position within a procedure to a tail position, unless the expression
is not only single valued but also gauarnteed not to inspect the
immediate continuation (e.g., using `call/cc` and comparing the result
to a previously captured continuation). This constraint applies even
in unsafe compilation modes, because the intent it to provide some
guarantees about non-tail positions to complement existing guarantees
of tail positions.
original commit: 91e9631576e7b97137be856e985609320e327f32
2019-01-08 20:27:26 -07:00
Matthew Flatt
2fd94d5573
repair to cp0 changes for single-value checking
...
original commit: 1d0d02a1fd01629a2b72b82e95b60084f5bff4fb
2019-01-08 18:46:43 -07:00
Matthew Flatt
8e53fec779
revise optimizations from the "noncm" branch
...
original commit: 444a284e69c652344174d730596caf7852be050b
2019-01-08 10:09:02 -07:00
Matthew Flatt
3658fad6b7
Merge branch 'count' of github.com:mflatt/ChezScheme
...
original commit: 9d0a647e87089c91195cc49480d848212025a7ed
2019-01-05 09:55:07 -07:00
Matthew Flatt
aaaa5fefa1
add compute-size-increments
...
Also adds `get-initial-thread`, since threa values are useful with
`compute-size[-increments]`.
Changes the compiler to inline `weak-pair?` and `ephemeron-pair?`,
since that provides better performance for `compute-size-increments`.
original commit: 57d0cc13f8e932972cba3837b4f54e9c86786091
2019-01-05 09:49:12 -07:00
Matthew Flatt
f6b40d39ba
Merge branch 'noncm' of github.com:mflatt/ChezScheme
...
original commit: b99995a8d38565cbedfbe46ab8a6006ee936b331
2018-12-30 08:18:13 -07:00
Matthew Flatt
9a366730f4
cp0: move only known-single-valued out of single-value context
...
Aviod turning an error like
(let ([x (values 1 2)]) x)
or
(car (list (values 1 2)))
into a program that returns multiple values.
original commit: 4efb3d6f226d9131f87023e45ff2b7e4713da8ae
2018-12-30 08:15:55 -07:00
Matthew Flatt
a0e9eed93f
Merge dfasl branch of mflatt/ChezScheme
...
original commit: c6168b2d0b1b97e9822bc8eae2e08900cebb7152
2018-12-28 08:45:06 -06:00
Matthew Flatt
7c548bb3a1
update vfasl merge
...
original commit: 99dac3f53f4a7d2b2c373489135e5d270c256726
2018-12-28 08:39:21 -06:00
Matthew Flatt
6d3fc30233
avoid fasl overflow of C stack
...
When writing a fasl stream, add extra graph points as needed
to limit recursive reading to about 500 non-tail recursions.
original commit: a6759efdc6ac68e45ec8755a5fe9b75038e173a5
2018-12-28 08:26:50 -06:00
Matthew Flatt
ed1d5c982d
Merge ../ChezScheme-vfasl
...
original commit: 78ba118cbde76dd42bc4275ccc76219e159e04d7
2018-12-20 17:51:38 -07:00
Matthew Flatt
efb93d2653
Merge branch 'gcbt' of github.com:mflatt/ChezScheme
...
original commit: 51c6b2a880000ce754e1595f4481957e9fc7f722
2018-12-16 07:00:22 -07:00
Matthew Flatt
7864a1f45e
Merge branch 'arity-wrapper' of github.com:mflatt/ChezScheme
...
original commit: 1967e6fb2948ea59d9f3b403b7b6e20d228502b1
2018-12-16 06:51:39 -07:00
Matthew Flatt
5a27f6de14
Merge branch 'orderfnl' of github.com:mflatt/ChezScheme
...
original commit: 04618715b7b447877cd874715d78094befb0b988
2018-12-16 06:46:34 -07:00
Matthew Flatt
31e65b1554
reliably preserve cp in thread context for S_call_help
...
Also, for completeness, correct the listing of callee-save registers
in callable return for x86 & x86_64.
original commit: 276f8da076a5692457226ea6ad74ba5f0e71cc06
2018-12-05 16:13:25 -07:00
Matthew Flatt
54ffb5dfbe
reliably preserve cp in thread context for S_call_help
...
Also, for completeness, correct the listing of callee-save registers
in callable return for x86 & x86_64.
original commit: 4cd942be6ab2eb5e02f6d6c5c509db3131bd015f
2018-12-05 07:53:49 -07:00
Bob Burger
4699fc1db0
improved consistency of Windows filename handling
...
original commit: 9017943cdba8c54c8f0acf20b037174780c10039
2018-10-22 16:17:12 -04:00
Oscar Waddell
8b9b2e6b10
restore the import code on reset to provide consistent error message
...
original commit: 3da0f8ed90b849ea4a72d37169fa78652058d70f
2018-08-25 18:35:29 -04:00
Matthew Flatt
b81c2daf76
merge compiler repair from github.com:cisco/ChezScheme
...
original commit: 16de1bdcb5616d4796360643e3371594bb84731f
2018-08-23 20:16:17 -06:00
dyb
61df2f25f7
fix for issue #343
...
- the compiler now uses a temporary variable to hold the return
value of a nested call across the restore-local-saves form to
properly handle the case where the destination lvalue is an mref
whose base and/or index is a local save.
cpnanopass.ss,
misc.ms
original commit: 835cbc2430be4f7381cee27133d42e77ace2b37f
2018-08-23 15:29:01 -07:00
Gustavo Massaccesi
6ff9e9ecd5
Fix call case with rest argument in cptypes
...
And add special case for list to reduce
(pair? (list x y ...)) ==> (begin x y ... #t)
original commit: 196bb8c18b604cd599e154c63f95a9d0117d4d6e
2018-07-31 20:00:00 -03:00
Matthew Flatt
08a9c8ecf6
Merge addition of hashtable-cells
...
original commit: 180948f4a6b18ffcc45fe1231b04b69c4b0bc3ff
2018-07-30 15:39:49 -06:00
Matthew Flatt
19bb7d2498
add hashtable-cells
...
original commit: 96c421421da95e5625f4bdec543ef31c619e876e
2018-07-30 14:19:33 -06:00
Matthew Flatt
6b40582dac
merge change to non-tail attachment handling
...
original commit: 8268daedf38ea3e978da9646860500439c855f55
2018-07-26 17:53:28 -06:00
Matthew Flatt
f19dd5f010
avoid closure
...
original commit: e3fc13f2b5a5314bfb88e813fc8d0158ddf70ff5
2018-07-26 11:24:22 -06:00
Matthew Flatt
95d3146c16
Merge branch 'cm' of github.com:mflatt/ChezScheme
...
original commit: 9d8e3e99e79c1a2fa2cd20849c99f05b91db70d9
2018-07-25 16:07:41 -06:00
Matthew Flatt
755a9252c5
Merge branch 'genid' of github.com:mflatt/ChezScheme
...
original commit: 0ded12c942cb47f3d9cb7d255fab1b07874f139c
2018-07-25 16:05:48 -06:00
Matthew Flatt
4b5daf4594
Merge branch 'arity-wrapper' of github.com:mflatt/ChezScheme
...
original commit: 23102af98ccd2dacd3529dd37c182d00f1d12490
2018-07-25 16:05:17 -06:00
Matthew Flatt
1860fec019
Merge branch 'gcbt' of github.com:mflatt/ChezScheme
...
original commit: 59bd17ca5713fbe913e9297e7cbb719b2c45ca7d
2018-07-25 16:01:11 -06:00
Matthew Flatt
b54495f58d
Merge branch 'orderfnl' of github.com:mflatt/ChezScheme
...
original commit: abb84eb7b0dbb9824d0b32407143589ff309a0fb
2018-07-25 16:01:03 -06:00
Matthew Flatt
73e4ea603f
add support for continuation attachments
...
original commit: 330ce0bb349965f82e38a7f29fc5d19646f3c246
2018-07-25 09:43:50 -06:00
Matthew Flatt
f919bbcab6
add support for continuation attachments
...
original commit: 32669b104ef1119aea21f8592cee09d55f696afa
2018-07-25 06:33:46 -06:00
Bob Burger
be2777e261
fix boot_call and the invoke code object to handle multiple values
...
original commit: 7fd080903d96a1ef9ab79780bf73aa1619f33894
2018-07-18 14:55:53 -04:00