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