Commit Graph

38668 Commits

Author SHA1 Message Date
Robby Findler
35b2320730 add more warning logging for contracts that don't have late-neg projections 2015-12-21 07:27:38 -06:00
Robby Findler
efc8bcc2fd update contract in comment 2015-12-20 21:17:53 -06:00
Matthew Flatt
0553f191d7 adjust PLT_INCREMENTAL_GC so it can disable generational GC
A value that starts "1", "y", or "Y" enabled incremental mode
permanently (any value was allowed formerly), while a value that
starts "0", "n", or "N" causes incremental-mode requests to be
ignored.
2015-12-20 08:58:21 -07:00
Matthew Flatt
3a99a19c56 reduce double major GCs
When a major GC triggers finalization, another major
GC is scheduled immediately on the grounds that the
finalizer may release other values. That was important
at once time, but the finalization and weak-reference
implementation has improved to the point where the
extra ful GC no longer seems necessary or useful.
2015-12-20 08:58:21 -07:00
Matthew Flatt
513849c1e3 incremental GC: make accounting incremental for the root custodian 2015-12-20 08:58:21 -07:00
Matthew Flatt
9711000b70 drop generation 1/2 except in incremental mode
Originally, generation 1/2 was intended to delay major
collections when the heap is especially large. It doesn't
seem to be effective in that case, and it can slow down
minor GCs, so continue to use it only in incremental
mode (where it helps significantly with fragmentation).
2015-12-20 08:58:21 -07:00
Matthew Flatt
6957780cd5 incremental GC: tune departure from incremental mode
At the completion of an incremental major GC, if incremental
mode wasn't requested recently, schedule an immediate major
GC to reduce the heap back to its normal footprint.
2015-12-20 08:58:21 -07:00
Jay McCarthy
ddaffc8248 Revert "A kinder, gentler, friendly starting documentation page"
This reverts commit 260bfe9fec.
2015-12-20 10:51:31 -05:00
Robby Findler
15e24fce78 adjust set/c to follow the late-neg protocol
and make it do some work earlier
2015-12-19 22:17:59 -06:00
Robby Findler
53fa16fc9c adjust hash/c to more completely follow the late-neg protocol 2015-12-19 22:17:59 -06:00
Robby Findler
783443f9d7 update the docs for ->i
(should have been in commit 506c9be0cd)
2015-12-19 22:17:59 -06:00
Robby Findler
bd4b243963 port xml contracts to late-neg 2015-12-19 22:17:58 -06:00
Robby Findler
3b1e535049 port recursive-contract to late-neg 2015-12-19 22:17:58 -06:00
Robby Findler
a712117030 adjust syntax-parse's contract support to use the late-neg projections 2015-12-19 22:17:58 -06:00
Robby Findler
00c0ddb7f6 port vector/c to late-neg projection (and throw away some redundant code) 2015-12-19 22:17:58 -06:00
Robby Findler
efcbd12116 port class/c and friends to late-neg projections 2015-12-19 22:17:58 -06:00
Robby Findler
3ed5eef44d put a little more info into the test case failure messages 2015-12-19 22:17:57 -06:00
Jay McCarthy
260bfe9fec A kinder, gentler, friendly starting documentation page 2015-12-19 21:56:55 -05:00
Jay McCarthy
2e34599ce3 Support custom categories on root documentation page
When custom categories are used in older versions, raco setup will
report a warning, but the documentation will still appear under the
Miscellaneous section. Thus, this is a backwards compatible
implementation of the idea.
2015-12-19 16:56:48 -05:00
Robby Findler
93d286914e port new-∀/c and new-∃/c to late-neg 2015-12-19 11:41:38 -06:00
Robby Findler
8e2179a6eb port struct-type-property/c to late-neg and add some tests for it 2015-12-19 11:41:37 -06:00
Robby Findler
557b039f3c add more racket/contract non late-neg projection warnings 2015-12-19 11:41:37 -06:00
Robby Findler
4a29792934 port ->i to late-neg 2015-12-19 11:41:37 -06:00
Matthew Flatt
7d2b538293 fix marshaling of a compiled top-level begin-for-syntax
Closes #1174
2015-12-19 09:37:32 -07:00
Matthew Flatt
2fad028fd5 fix incremental GC bug
Also, fix reporting of whether a minor GC was in incremental mode.
2015-12-19 09:37:32 -07:00
Robby Findler
506c9be0cd add the ability to make chaperone contracts to ->i 2015-12-18 20:41:51 -06:00
Sam Tobin-Hochstadt
962a72dfda Properly handle (place ...) in submodules.
Closes #1173 and PR 12934.
2015-12-17 19:35:08 -05:00
Sam Tobin-Hochstadt
e5c5feca6d Bind channel properly in place/context.
Closes #1169.
2015-12-17 19:17:28 -05:00
Matthew Flatt
074202bdd2 raco setup: don't completely ignore a collection without compilation
A collection's "info.rkt" might have `(define compile-omit-paths
'all)` but also other setup actions, so don't completely ignore
a collection directory just because there's nothing to compile.
2015-12-17 07:55:39 -07:00
Matthew Flatt
ad1fe0c529 raco setup: make "nothing to do" count as success 2015-12-17 07:50:20 -07:00
Matthew Flatt
d7184227e1 fix mutation of shared "self" module path index for submodules 2015-12-17 06:21:05 -07:00
ben
0d633fefd3 typo: string-contains precondition 2015-12-16 14:07:16 -05:00
Robby Findler
33ba7683b2 specify default for stronger 2015-12-15 21:54:36 -06:00
Matthew Flatt
ca237910b3 fix make-syntax-delta-introducer with a #f argument
Closes PR 15202
2015-12-15 17:11:45 -07:00
Matthew Flatt
11f76cbebf fix Burroughs's name 2015-12-15 17:11:45 -07:00
Vincent St-Amour
3dc49139cf Fix more missing parties in contract instrumentation. 2015-12-15 14:31:38 -06:00
Vincent St-Amour
d0d6d719af Abstract contract instrumentation. 2015-12-15 13:37:47 -06:00
Andrew Kent
b4afecab97 slightly more explicit error msg 2015-12-15 11:33:16 -06:00
Gustavo Massaccesi
6985150e0b Don't drop expressions with side effects in eq? reduction
The expression (eq? x y) is reduced to #f when the types of
x and y are known. Reduce this to (begin x y #f) when they
have side effects.
2015-12-15 00:25:00 -03:00
Vincent St-Amour
b84233bca7 Tests for struct/dc instrumentation. 2015-12-14 16:30:30 -06:00
Vincent St-Amour
b8df0a38a2 Add instrumentation for optimized struct/dc. 2015-12-14 13:57:07 -06:00
Vincent St-Amour
bf1ba809ae Test that contract profiler instrumentation always has complete blame info. 2015-12-14 13:27:08 -06:00
Robby Findler
bd77a0102c add blame-missing-party? and document it and blame-add-missing-party 2015-12-14 12:53:35 -06:00
Vincent St-Amour
8bd47f3f8a Fix instrumentation of struct/dc.
Unbreaks the contract profiler.
2015-12-14 10:52:23 -06:00
Matthew Flatt
f7c67f5c45 incremental GC: always use generation 1/2 in incremental mode
Also, make nursery 1/4 as big in incremental mode, and
correspondingly tune the amount of work to perform per
collection by 1/4 its old value. Using generation 1/2
reduces fragmentation that would otherwise be increase
by a smaller nursery.
2015-12-13 17:16:05 -07:00
Matthew Flatt
d01aec1b32 JIT: always use buffer padding of 200
The main intent of this change is to raise the buffer size
for ARM, but that would leave only 32-bit x86 at size 100, so
just make it size large for all machines.
2015-12-12 14:11:17 -07:00
Matthew Flatt
c6b8ba7c4a JIT: add missing checks for buffer space 2015-12-12 08:13:34 -07:00
Matthew Flatt
d66af86a58 JIT on ARM: add assertion to check long-jump mode
The same assertion is present already in Thumb mode, but
add it to non-Thumb mode.
2015-12-12 07:48:14 -07:00
Matthew Flatt
39c2a08d31 make tests/zo-path inspect all installation-scope packages 2015-12-11 19:27:57 -07:00
Matthew Flatt
4354ce45d8 use `scribble/examples' for the Reference
Port `examples`, `interactions`, etc., to use the new `examples`
form of `scribble/examples`. The main intended effect is to ensure
that errors are produced by examples only as specifically
indicated.
2015-12-11 12:29:41 -07:00