Matthew Flatt
3cd071beb2
fix fd polling in atomic mode
2011-11-11 07:05:16 -07:00
Eli Barzilay
41345deff6
New Racket version 5.2.0.2.
2011-11-11 03:50:09 -05: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
Matthew Flatt
67df1f7bce
change handling of blocking I/O to collapse sources to a single poll
...
This improvement applies to both poll() and select() modes, and it
can reduce scheduling overhead when blocking on many I/O sources
at once.
This mode is not enabled for Windows, however, since Racket doesn't
exactly use select() on Windows.
2011-11-10 05:46:53 -07:00
Matthew Flatt
dfe5e599e4
fix problem with background thread for address lookup
2011-11-10 05:46:52 -07:00
Matthew Flatt
646f7e70e7
prefer poll() to select() on Linux
...
On Mac OS X, poll() doesn't work right in versions earlier than 10.5.5,
select() is always faster, and large number of sockets will be
better handled via kqueue(). On Linux, poll() is defintely better.
Otherwise, we stick with select() to be conservative.
2011-11-10 05:46:04 -07:00
Matthew Flatt
6e7ad71ae5
ffi/unsafe: handle out-of-memory on malloc
...
Also fix some int vs. intpt_t problems.
2011-11-04 15:29:28 -06:00
Tony Garnock-Jones
4f007cc9ce
uClibc doesn't support getcontext().
2011-11-04 11:16:35 -04:00
Matthew Flatt
9896cb6851
streamline get-byte' (especially as used by
read-[bytes-]line')
...
Applies in the case of simple ports without line counting, etc.
Also, `read-line' keeps track of whether all bytes are ASCII
(which is easy) to shortcut general UTF-8 decoding.
2011-11-03 09:12:13 -06:00
Matthew Flatt
a495c9f349
fix channel/semaphore sync bug
2011-11-03 09:12:13 -06: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
b42daeacf0
remove unused field
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
Matthew Flatt
2b7fedb79b
better comment to explain a subtle corner of the expander
...
Also added a minor shortcut for cases where the corner isn't
relevant.
2011-10-28 06:43:20 -06:00
Matthew Flatt
35526a7bd7
fix JIT early reference to JIT generated address
...
On x86_64, if the scratch-space address fits into 32
bits and the final place for shared code doesn't
fit into a 32-bit address, then the size of the generated
code could change, leading to a JIT buffer overflow.
Merge to 5.2
2011-10-20 14:30:02 -06:00
Matthew Flatt
a4011890e1
CGC fix for OpenBSD x86_64
...
Merge to 5.2
2011-10-20 14:30:02 -06:00
Matthew Flatt
245f45d183
switch Mac OS X build default (32-bit vs 64-bit) to compiler default
...
That means the default is 64-bit for a typical Mac OS X 10.6 or 10.7
installation.
2011-10-20 14:30:02 -06: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
099e4d7dad
fix a type name
...
Closes PR 12297
Merge to 5.2
2011-10-17 12:35:54 -06:00
Eli Barzilay
7f8540949d
Use racket/*' instead of
scheme/*' in gracket etc.
2011-10-16 18:53:30 -04:00
Eli Barzilay
29643f8120
Removed two references to /home/scheme that were not used elsewhere.
2011-10-16 18:53:30 -04:00
Eli Barzilay
9ade64cc84
Some "Scheme" -> "Racket" changes and similar.
2011-10-16 18:53:30 -04:00
Matthew Flatt
c514fd3470
fix an identifier binding bug
...
Merge to 5.2
2011-10-16 07:11:34 -07:00
Matthew Flatt
84b615a005
fix timing of `place-break' checks in scheduler
...
Otherwise, a place in a `sleep' call could fail to
see the break until waking up.
2011-10-11 17:17:58 -06:00
Matthew Flatt
0993408c19
fix `place-break' on terminated place
...
Merge to 5.2
2011-10-11 17:17:58 -06:00
Matthew Flatt
fe9e34f938
skip future mutex if no futures started
...
Skipping the check makes a measurable difference when
several places are running.
2011-10-11 15:09:23 -06:00
Matthew Flatt
a9b1a38f34
reduce place-channel allocation
2011-10-11 15:09:22 -06:00
Matthew Flatt
04e75dd82a
revert GC block cache to reasonable size
2011-10-11 14:36:53 -06: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
Kevin Tew
1a2d425ece
Fix QNX merge to 5.2
2011-10-10 11:07:29 -06:00
Kevin Tew
58b1f86326
pr 12268 fix merge to 5.2
2011-10-10 11:07:29 -06:00
Vincent St-Amour
90aa9c9d75
Typoes.
2011-10-10 11:40:51 -04: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
b377cafdac
mark OS jmpbuf as GC-ignored
...
This change is intended to make the QNX port work, but it
should also future-proof Racket a little for other platforms.
2011-10-09 10:45:24 -06:00
Matthew Flatt
e2bcbb0dfb
fix QNX sconfig entry
...
Merge to 5.2
2011-10-09 10:34:40 -06:00
Eli Barzilay
ceacfe5ef5
New Racket version 5.2.0.1.
2011-10-09 03:50:16 -04: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
41b18e3608
windows: add sqlite3.dll
...
Merge to 5.2
2011-10-08 07:18:49 -06:00
Ryan Culpepper
ecd7519f56
Post-release version for the v5.2 release
2011-10-07 22:10:32 -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
Matthew Flatt
add50ab436
cocoa: undo hack of "-64" suffix on app names
...
Commit 60101618db
seems to address the real problem.
2011-10-07 08:05:25 -06:00
Kevin Tew
d3037adbc0
QNX porting
2011-10-06 10:50:37 -06:00
Eli Barzilay
5ba73a6ab2
New Racket version 5.1.3.12.
2011-10-06 03:50:18 -04:00
Matthew Flatt
7680adf486
fix compiler bug related to lifting and unbox flonums
...
As variables are dropped for lifted functions, the bitmap
for flonum closure variables was not shifted down by the
number of dropped variables.
Closes PR 12259
2011-10-05 19:25:59 -06:00
Matthew Flatt
97d0df94bb
fix "configure" and "configure.ac" for libfit
2011-10-05 11:41:05 -06:00
Neil Toronto
d3b5e21cae
Added new plot library and old libfit (which plot still depends on)
2011-10-05 10:26:49 -06:00
Matthew Flatt
ec380e34ed
remove built-in reader and printing support for Honu
...
This is a backward-incompatible change, but I think it's
unlikely that any code depends on the removed bindings
or reader syntax.
2011-10-05 09:40:27 -06:00