Commit Graph

38639 Commits

Author SHA1 Message Date
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
Sam Tobin-Hochstadt
e45e5712de Use quote-srcloc to avoid paths in the compiled code.
Closes #1165.
2015-12-11 13:12:11 -05:00
Sam Tobin-Hochstadt
acbcff1bf4 Make zo-path checking available as a library. 2015-12-11 10:16:21 -05:00
Robby Findler
6593594ebf port struct/dc to late-neg style projections 2015-12-10 18:41:37 -06:00
Robby Findler
4aabe505be fix missing party and indy blame interaction
(also add all of the fields to the equal and hashing
functions)
2015-12-10 18:37:50 -06:00
Robby Findler
a952f11bc5 unbreak the creation of first-order contracts that
don't supply a val-first projection
2015-12-10 09:21:41 -06:00
Matthew Flatt
f5d5277ae7 fix binding table when shadowing imports 2015-12-10 04:56:14 -07:00
Matthew Flatt
b7dd829a6f bump version number 2015-12-09 21:06:55 -07:00
Matthew Flatt
835d098eb2 racket/contract: fix blame in arre case
Remove an incorrect syntax quote that could cause the contract
system to be blamed (and also lead to an absolute path in
bytecode).
2015-12-09 21:06:55 -07:00
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