Commit Graph

622 Commits

Author SHA1 Message Date
Robby Findler
c87cd47c64 add add-make-prefix-to-constructor tests 2011-11-24 09:42:55 -06:00
Matthew Flatt
a40d0f0dd1 fix pconvert test 2011-11-24 05:58:30 -07:00
Andy Gocke
b8847a53bf Started on random testing for contracts 2011-11-23 22:54:21 -06:00
Matthew Flatt
f4c1d9da06 adjust psyntax benchmark
The psyntax implementation relies on 3-D syntax like
   (let ([s (string #\i)])
     (eq? s (eval `',s)))
producing true, or maybe
   (let ([s1 (string #\i)]
         [s2 (string #\i)])
     (eval `(eq? ',s1 ',s2)))
producing false, or probably both. Neither works now
in Racket. Hack around the problem well enough for
benchmarking purposes by using numbers in place of
strings.
2011-11-22 18:12:28 -07:00
Matthew Flatt
e44bd3f79d intern literal strings, byte strings, regexps, characters, and numbers 2011-11-22 08:54:37 -07:00
Matthew Flatt
d416dfaa8c fix copy-file' reporting of exn:fail:filesystem:exists?'
Fixes re-report for PR 12074
2011-11-19 19:40:49 -07:00
Matthew Flatt
91ef073c09 expand phase-related require/provide test
to check for the bug fixed by 76c9996ac7 and other potential
problems
2011-11-19 07:55:34 -07:00
Matthew Flatt
c1477e945d fix `namespace-require' on marked syntax
Closes PR 12381
2011-11-18 20:06:15 -07:00
Matthew Flatt
5665fe3477 fix `sequence-filer' on empty sequence
fix provided by Shviller
Closes PR 12383
2011-11-18 20:06:15 -07:00
Matthew Flatt
2ad78a33fb fix `provide' for macro-introduced bindings in phase != 0,#f 2011-11-18 20:06:15 -07:00
Matthew Flatt
45b8e103e5 places: fix GC of unreceived place-channel messages
An unreceived message can have a reference to a master-allocated
value, in which case that value must be marked. This marking
is implemented by embedding a linked link within the message
memory.
2011-11-14 18:04:45 -07:00
Robby Findler
870c8d28f4 move predicate/c from unstable/contract to racket/contract. In process,
change the implementation to special case struct procedures and to use
it in provide/contract.

This speeds up the rendering phase of the Guide documentation by more than 2x.
Thanks to Matthew for spotting the opportunity!
2011-11-13 17:19:15 -06:00
Matthew Flatt
a0378a2b02 fix bug in prefab syntax marshaling
Closes PR 12352
2011-11-12 06:08:42 -07:00
Matthew Flatt
43e421faf4 fix bytecode compiler bug 2011-11-10 13:25:06 -07:00
Matthew Flatt
5139de9cec add `port-closed-evt' 2011-11-10 10:01:57 -07:00
Matthew Flatt
eb25a2db47 add epoll() support for Linux, kqueue() support for BSDs
This change builds on the blocking-I/O change to provide substantially
better performance when waiting on lots of sockets.
2011-11-10 10:01:56 -07:00
Eli Barzilay
b9bd1db58a Move the namespace creation so that it happens under the code-inspector.
This fixes a security issue where a toplevel evaluator could still use
things like `ffi/unsafe'.
2011-11-02 17:40:24 -04:00
Matthew Flatt
98cde53fa0 fix rename trans `free-identifier=?' propagation in int-def context
Closes PR 12333
2011-11-02 10:02:19 -06:00
Matthew Flatt
c7a0f1bef8 guard a space-safety test with a 3m check 2011-11-02 08:12:58 -06:00
Matthew Flatt
d9b9cbe16a fix space-safety bug in composable continuations 2011-10-29 09:37:12 -06:00
Robby Findler
fb02a0a5cd make list/c produce chaperone contracts, as appropriate
closes PR 12319
2011-10-24 08:16:49 -05:00
Robby Findler
a1654f1532 adjust the implementation of 'contract-out' so that it does some
checking of the syntax (that it can) and then just throws everything
to the end of the module, instead of trying to have it figure out
what the actually provided variables are at the beginning.

closes PR 12295
2011-10-24 08:16:48 -05:00
Vincent St-Amour
edacae9082 Fix benchmark graphs in the presence of the coefficient of variation. 2011-10-22 20:56:18 -04:00
Vincent St-Amour
a40723d14d Don't run benchmarks when only showing what's available. 2011-10-22 20:52:38 -04:00
Vincent St-Amour
a0b987bc1e Improve Guile benchmarking.
Thanks to Andy Wingo for pointers.
2011-10-22 20:52:38 -04:00
Matthew Flatt
a81054fef4 fix a marshaling bug for syntax objects
Closes PR 12300

Merge to 5.2
2011-10-18 20:53:43 -06:00
Matthew Flatt
c514fd3470 fix an identifier binding bug
Merge to 5.2
2011-10-16 07:11:34 -07:00
Matthew Flatt
5c0956d7b1 more memory accounting fixes for places
Fix memory accounting to detect when messages pile up in a
place channel and when shared values (such as the result of
`make-shared-bytes') pile up. Also fix problems where a GC
or free-page purge needs to be triggered.

The implementation causes a minor API change, which is that
a place channel sent multiple times as a message generates
values that are `equal?' but no longer eq?'.

Closes PR 12273

[Do not merge to 5.2]
2011-10-11 11:26:11 -06:00
Matthew Flatt
32b5390ad2 add missing GC registration for places
Merge to 5.2
2011-10-11 06:45:14 -06:00
Matthew Flatt
c805728d3e fix compiler confusion: non-mutating vs reorderable unsafe ops
Reordering `unsafe-vector-ref' past an `unsafe-vector-set!' was
particularly bad. Meanwhile, some non-mutating operations like
`unsafe-mcar' were treated too conservatively.

Merge to 5.2
2011-10-09 19:46:24 -06:00
Matthew Flatt
1bc80310e3 fix compiler bug that could cause infinite inlining loop
The bug was that a procedure could be incorrectly marked as
a "leaf" procedure, which could in turn cause the compiler
to keep inlining a very small procedure that calls itself.

Closes PR 12270

Merge to 5.2
2011-10-08 16:40:34 -06:00
Matthew Flatt
b6a9330bf1 more `raco exe' cycle repairs 2011-10-07 10:32:49 -06:00
Matthew Flatt
f02ea92250 fix compiler bug related to `#%variable-reference' on local
The first compiler pass didn't properly shift the stack offset
when adjusting the context of a varref of a local.

Closes PR 12258
2011-10-07 09:42:33 -06:00
Sam Tobin-Hochstadt
1d9ac41772 Use unsafe-vector* instead of unsafe-vector in a few benchmarks. 2011-10-06 18:17:45 -04:00
Matthew Flatt
fe1909581b remove `raco exe' plot test 2011-10-05 09:40:27 -06:00
Eli Barzilay
515c8dc6c1 Fix for `make-module-evaluator' with a file.
It used to work, but now it fails since when it runs "/foo/bar/baz.rkt"
racket uses 'exists with "/foo/bar".  See the comment for the fix that I
used.
2011-10-05 07:20:59 -04:00
Matthew Flatt
a0378d956a fix place refcount
Originally, the refcount was either 0, 1, or 2, so a `char' was
enough. It's not enough now that place channels increment the
refcount.
2011-10-03 06:39:18 -06:00
Robby Findler
57042de4da add a test case that ensures that the default values of optional arguments
are not subject to the argument on the contract
2011-10-01 16:03:28 -05:00
Kevin Tew
e650764a4c place-channel? returns #t for place descriptors, doc clarification 2011-09-30 17:15:11 -06:00
Sam Tobin-Hochstadt
88c7bf649c Parallel version of k-nucleotide.
2x faster on very big inputs, slower on small inputs.
2011-09-30 11:42:58 -04:00
Matthew Flatt
99fe14b080 fix problems with phase-1 syntax definitions
Closes PR 12234
2011-09-29 16:54:08 -06:00
Matthew Flatt
a857e9e041 fix JIT bug in `fl->fx'
For the case that the argument is unboxed.

Closes PR 12240
2011-09-29 16:54:08 -06:00
Sam Tobin-Hochstadt
d279593c15 Parallel spectral-norm shootout benchmark. 2011-09-29 17:51:00 -04:00
Sam Tobin-Hochstadt
2d3a713f0d More shootout optimization. 2011-09-29 17:51:00 -04:00
Matthew Flatt
ac8990d519 add date*' and exn:fail:syntax:unbound'
The `date*' structure type is an extension of `date' with
`nanosecond' and `time-zone-name' fields.

The `seconds->date' function now accepts a real and returns a
`date*'. The fractional part of its argument goes into the
`nanosecond' field.
2011-09-29 09:22:10 -06:00
Matthew Flatt
2ae6d0c55f fix expand of `#%variable-reference' on local variable
Closes PR 12231
2011-09-27 18:53:28 -06:00
Matthew Flatt
ec49225112 fix expand-imports' for renamed quote'
Closes PR 12235

Thanks to Carl for the report and test case
2011-09-27 17:45:18 -06:00
Matthew Flatt
e226dd7e26 add `contract-out' 2011-09-24 22:30:56 +09:00
Sam Tobin-Hochstadt
a55e86d93b Initial parallel versions of Shootout benchmarks. 2011-09-22 15:48:22 -04:00
Matthew Flatt
0ab6637539 remove obsolete and unused Racket-to-C compiler
Removes `raco ctool -e/-c', `mzc -e/-c', `compile-extensions',
`compile-extensions-to-c', `compile-c-extensions', `compiler/cffi',
`compiler/comp-unit', `compiler:inner^', and most options in
`compiler/option'.
2011-09-20 15:26:39 -06:00