Commit Graph

35794 Commits

Author SHA1 Message Date
Matthew Flatt
1d7429f1d7 match: avoid recording full paths
Use a syntax object to store a source location, letting the
marshal process for syntax objects deal with non-relative
paths.
2015-12-09 21:06:55 -07:00
Matthew Flatt
2743ea06bb avoid paths in case-lambda names
Filter absolute path names for `case-lambda` in the same way as for
`lambda`.
2015-12-09 21:06:55 -07:00
Matthew Flatt
70ee04d257 fix zo-path test to check installed packages 2015-12-09 21:06:55 -07:00
Robby Findler
3d7d906cc1 tweak and clean up the contract combinators api
- uniformly remove the extra layers of calls to unknown functions for
  chapereone-of?  checks that make sure that chaperone contracts are
  well-behaved (put those checks only in contracts that are created
  outside racket/contract)

- clean up and simplify how missing projection functions are created
  (val-first vs late-neg vs the regular ones)

- add some logging to more accurately tell when late-neg projections
  aren't being used

- port the contract combinator that ->m uses to use late-neg

- port the </c combinator to use late-neg
2015-12-09 21:55:58 -06:00
Leif Andersen
5a01b97400 Remove typo in docs for expand-syntax-top-level-with-compile-time-evals
Duplicate 'of' words.
2015-12-09 11:58:18 -05:00
Matthew Flatt
c0f4eb8287 inctemental GC: make finalization more incremental
Allow the process of discovering finalizers to be incremental,
including allow interruptions in later levels of ordered
finalization.
2015-12-08 07:53:03 -07:00
Matthew Flatt
6f106d9adc incremental GC: more precising counting of work done 2015-12-08 05:17:44 -07:00
Leif Andersen
5cd2220366 Add coverall support and use new TravisCI Infrastructure 2015-12-07 17:54:28 -05:00
Michael Campagnaro
4d7e90286e Fix typo in 'more: systems' doc 2015-12-07 10:42:13 -06:00
Vincent St-Amour
5353dd1076 free-vars: add mode that also reports module-bound variables
As a separate mode, for backwards compatibility.
2015-12-07 10:42:12 -06:00
Vincent St-Amour
22caaad944 free-vars: nicer error on submodules 2015-12-07 10:31:12 -06:00
Matthew Flatt
715bdbb49e incremental GC: avoid already-finished finalizaton work
Avoid extra work svaing finalization information and
re-chaining old-generation records for a major GC.
2015-12-06 12:36:52 -05:00
Matthew Flatt
e44926fcee increemntal GC: compact when a major GC is forced early
This change further defends against fragmentation when
incremental mode isn't working well.
2015-12-06 12:36:52 -05:00
Matthew Flatt
b5131321d7 force non-inremental GC if excessive fragmentation
Increemntal GC skips the old-generation compaction phase.
For most applications, that's ok, but it's possible for
fragmentation to get out of hand. Detect that situation
and fall back to non-incremental mode for one major GC.
2015-12-06 12:36:52 -05:00
Sam Tobin-Hochstadt
a0c09c19ac Add test for 21316e3ebf. 2015-12-06 12:22:37 -05:00
Sam Tobin-Hochstadt
21316e3ebf Don't copy immutable vectors in vectorof if not needed.
This happens only if the element contract is a flat contract.
2015-12-06 10:45:13 -05:00
Sam Tobin-Hochstadt
b8d4248053 Copy immutable vector more efficiently.
Thanks to @mflatt for the suggestion.
2015-12-06 10:31:01 -05:00
Robby Findler
e814d742a7 fix the late-neg construction for flat contracts
Thanks to Sam for finding this problem!
2015-12-05 23:03:06 -06:00
Robby Findler
8b3369f81c set up some information for TR 2015-12-05 15:35:46 -06:00
Matthew Flatt
d87e3ead7f fix test for the case that the addon dir is missing 2015-12-05 14:41:22 -05:00
Leif Andersen
f88ba77a5c Fix travis to build against latest Racket build. 2015-12-04 18:01:57 -05:00
Matthew Flatt
fef695f066 fix call-with-atomic-output-file for pathless filename
Closes #1156
2015-12-03 08:05:17 -07:00
Matthew Flatt
724dc2fdbf fix namespace-mapped-symbols forcing of lazy binding info 2015-12-02 13:14:28 -07:00
Sam Tobin-Hochstadt
a6eb00a41c Avoid warning for unused variable. 2015-12-02 10:01:01 -05:00
Matthew Flatt
345b1a8187 refine the Guide section in incremental GC 2015-12-01 17:47:29 -07:00
Matthew Flatt
d56e7309ad GC: fix yet another problem counting allocated bytes 2015-12-01 16:21:32 -07:00
Jay McCarthy
67bf4349ca Revert "Assume that files that start with . are not modules"
This reverts commit fc34292486.
2015-12-01 14:21:09 -05:00
Gustavo Massaccesi
b175241961 Flatten nested begin and begin0 forms
The nested begin/begin0 are flattened at read time, but some
optimizations may create new instances.
2015-12-01 13:50:16 -03:00
Matthew Flatt
7e949d5513 GC: skip memory accounting if demand goes away
Memory accounting is enabled on demand; if demand goes
away --- as approximated by no live custodians having
a limit or previously been queried for memory use ---
then stop accounting until demand resumes.
2015-12-01 08:14:38 -07:00
Matthew Flatt
bef34606cb incremental GC: fix handling of ephemerons
Fix the case that an old-generation finalizer ends up
on a modified page after all old-generation marking
is complete.

Also, make sure epehemerons are checked after previous
marking that may have left the stack empty.
2015-12-01 05:50:06 -07:00
Matthew Flatt
03302c3f30 repair an assertion in the GC 2015-12-01 05:50:06 -07:00
Matthew Flatt
8363144818 incremental GC: make finalization more incremental 2015-12-01 05:50:06 -07:00
Matthew Flatt
f30d8bd562 incremental GC: fix overcount of immobile objects 2015-12-01 05:50:06 -07:00
Matthew Flatt
d306ecdf3a incremental GC: fix accumulation of page-repair work
Too much work was being saved for the final step of a
major GC.
2015-12-01 05:50:06 -07:00
Matthew Flatt
e9c722cf22 re-tune incremental GC parameters
With immobile-object allocation repaired, smaller increments
work.
2015-12-01 05:50:06 -07:00
Matthew Flatt
7901962647 incremental GC: fix phantom-byte counting 2015-12-01 05:50:06 -07:00
Matthew Flatt
fa3cabd681 incremental GC: avoid allocating immobile on old-generation page
The allocation strategy for immobile objects avoids some fragmentation
in non-incremental mode, but it interferes with finishing up an
incremental major collection, so trade some fragmentation for
an earlier finish (which is far more likely to use less memory
instead of more, despite extra fragmentation).
2015-12-01 05:50:06 -07:00
Phil Nguyen
734563a7f4 remove duplicate examples in doc for arity=? and arity-includes? 2015-11-30 10:40:06 -06:00
Jay McCarthy
fc34292486 Assume that files that start with . are not modules 2015-11-30 08:30:25 -05:00
Matthew Flatt
817fdad2d5 Windows with MinGW: Fix network address resolution
Use the same code as for MSVC compilation, which is as simple
as defining `HAVE_GETADDRINFO`.

Closes PR 15192
2015-11-29 17:31:47 -07:00
Vincent St-Amour
e7e75c2292 Fix exponentiation of negative single-floats and moderately large bignums. 2015-11-29 15:46:56 -06:00
Matthew Flatt
a389678556 improve interaction of incremental mode and finalization
Really, just improve when majors GCs are forced to trigger
further finalizations. This improvement makes `(collect-garbage)`
followed by `(collect-garbage 'incremental)` move more
reliably into incremental mode.
2015-11-28 15:54:45 -07:00
Robby Findler
71d80bace5 whoops: don't want to do the precondition check twice 2015-11-28 16:27:21 -06:00
Robby Findler
8cc2e27ca7 improve error checking in version/utils
closes #1152
2015-11-28 16:26:09 -06:00
Robby Findler
86934d4a4f adjust contract printing so that it looks like
the constructors in print mode and so that it
cooperates with pretty printing to get some
newlines in there
2015-11-28 13:47:27 -06:00
Matthew Flatt
c9e9b4e400 add info on incremental GC mode to the Guide 2015-11-28 11:55:43 -07:00
Matthew Flatt
9407afa0a2 faster GC traversal of shared closure prefixes 2015-11-28 11:21:19 -07:00
Matthew Flatt
89807d178e fix accounting of nursery for logging
The pre-GC count didn't include the obejcts allocated on
the most recent nursery page.
2015-11-28 10:36:12 -07:00
Matthew Flatt
c3ac1c6bf4 reduce incremental work on (collect-garbage 'minor)
When `(collect-garbage 'minor)` is combined with incremental
mode, do less incremental work. At the same time, don't
skip an incremental GC just because a major GC is ready.
2015-11-28 10:36:12 -07:00
Matthew Flatt
e968cfbde4 fix accounting of phantom bytes for incremental GC
Also fixes accounting when a phantom-bytes value is
treated as potentially having a backpointer.
2015-11-28 10:35:24 -07:00