Matthew Flatt
c1477e945d
fix `namespace-require' on marked syntax
...
Closes PR 12381
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
764f0774a4
tweaks to reduce the stack-frame size of the interpreter loop
2011-11-18 20:06:15 -07:00
Matthew Flatt
004afd88a3
fix xform problems related to epoll() change
2011-11-17 16:13:15 -07:00
Matthew Flatt
8483b8eea5
atomic timeout hook must be place-local
2011-11-16 20:38:58 -07:00
Matthew Flatt
eae7c5d5d7
fix place-GC problem with empty_self_modidx's shift cache
2011-11-16 20:38:58 -07:00
Matthew Flatt
851cbf4fcc
avoid weak links in the master GC space
2011-11-16 20:38:58 -07:00
Matthew Flatt
63f3a51ae6
win32: get default frame icon from application
...
Also, clean up icon- and cursor-loading code
2011-11-16 14:45:32 -07:00
Eli Barzilay
1b69b79f6e
New Racket version 5.2.0.3.
2011-11-16 03:50:12 -05:00
Matthew Flatt
3bffcae3c2
fix places & executable interaction
...
Added `module-predefined?' and changed `racket -k ...'
2011-11-15 18:42:21 -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
Matthew Flatt
aefb574f81
remove unused symbol
2011-11-14 17:57:11 -07:00
Matthew Flatt
a0378a2b02
fix bug in prefab syntax marshaling
...
Closes PR 12352
2011-11-12 06:08:42 -07:00
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
Matthew Flatt
6a8d3c34f1
win64: avoid msvcr90.dll
...
The libjpeg, libeay, and ssleay libraries for Win64 linked to
msvcr90.dll, because of the way that they were compiled with
MSVC 2008, but msvcr90.dll is not included with Win7, and
redistributing it is problematic. The new variants of the libraries
link instead of msvcrt.dll --- which you're not supposed to do
according to MS, but that's the way libraries like Gtk are
built, and it seems to be the right approach. See also
http://kobyk.wordpress.com/2007/07/20/dynamically-linking-with-msvcrtdll-using-visual-c-2005/
I built libjpeg-8, while the other two are courtesey of
http://www.indyproject.org .
Closes PR 12246
2011-10-05 06:28:31 -06:00
Matthew Flatt
2262cd4424
windows: assume 1MB stack, but try to read actual from executable
2011-10-05 06:28:29 -06:00
Eli Barzilay
7ad7857ce2
Fixed "src/configure".
...
(Turns out that editing configure by hand is not a good idea...)
Also a random racket comment.
2011-10-05 04:55:25 -04:00
Eli Barzilay
e01e46b772
Removed the `plot' collection, in preparation for adding the new one instead.
2011-10-05 04:09:10 -04:00
Matthew Flatt
80ca2b34ff
fix reference to statics meant to be adjusted by `raco exe'
2011-10-03 09:05:02 -06: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
Matthew Flatt
664b95465d
fix potential refcount bug
...
In the unlikely case that a receiving place ends while a
message is being sent.
2011-10-03 06:39:18 -06:00
Matthew Flatt
430474f4fa
fix GC log value
2011-10-01 07:41:58 -06:00
Kevin Tew
e650764a4c
place-channel? returns #t for place descriptors, doc clarification
2011-09-30 17:15:11 -06:00
Kevin Tew
a7b0c33896
QNX porting
2011-09-30 17:03:50 -06:00
Matthew Flatt
035ab04b67
PPC JIT fix
2011-09-30 07:55:33 -06:00
Eli Barzilay
3441d0f7d0
New Racket version 5.1.3.11.
2011-09-30 03:50:17 -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
Matthew Flatt
73071ad186
improve GC logging (3m)
...
Show process time of start of GC and otherwise adjust to make
the output more compact, and attach a prefab struct to the
logged message to report all available data in Racket form
(including real start and end times, which are not shown in
the output).
2011-09-29 16:54:08 -06:00
Kevin Tew
f2b7d1eca3
Start of port to QNX
2011-09-29 14:42:04 -06:00
Kevin Tew
dc481d2d20
Fix place crash due to race condition
2011-09-29 13:45:25 -06: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
58097a12fe
inside: export scheme_alloc_flvector() and scheme_alloc_fxvector()
2011-09-29 09:14:00 -06:00
Kevin Tew
95037828f7
Place channels correctly use refcount on place_objects
2011-09-28 13:15:46 -06:00
Matthew Flatt
2ae6d0c55f
fix expand of `#%variable-reference' on local variable
...
Closes PR 12231
2011-09-27 18:53:28 -06:00
Kevin Tew
3e830712aa
fix uninitialized variable messages
2011-09-27 10:26:30 -06:00
Matthew Flatt
f9dabb8994
add -J/--wm-class argument to set the WM_CLASS class on Unix
2011-09-26 18:07:18 -06:00
Matthew Flatt
1ae6cc0505
change `syntax-local-lift-module-end-declaration' for phase N
...
Lift to the end of the module, instead of the end of the
enclosing `begin-for-syntax'.
Also, fix a bug in phase 2+ visits.
2011-09-24 22:30:56 +09:00
Matthew Flatt
051f164f3f
fix parsing of protect-out' on
for-syntax' bindings
2011-09-24 22:30:56 +09:00
Eli Barzilay
5024b690ca
New Racket version 5.1.3.10.
2011-09-21 03:50:16 -04:00
Matthew Flatt
6e6e30a73a
don't check for future or foreign work in atomic mode
2011-09-20 16:12:59 -06:00
Matthew Flatt
27be90e7b7
adjust cycle-detection valeu to avoid fixnum encoding
...
Just in case.
2011-09-20 16:12:59 -06:00
Matthew Flatt
37823107d1
convert C++-style comments to C-style comments
...
As far as I know, "//" isn't a C comment form, although
MSVC and gcc both accept it.
2011-09-20 16:12:59 -06:00
Ryan Culpepper
30d5381e98
updated macro debugger to work with begin-for-syntax changes
...
Also cleaned up support for lazy instantiation of phase>0
environments.
2011-09-20 14:49:49 -06:00
Matthew Flatt
0197902309
add var-ref->mod-decl-insp' and switch
cur-code-insp' uses
...
Macros and other tools that need syntax privilege used
`(current-code-inspector)' at the module top-level to try to
capture the right code inspector at load time. It's more
consistent to instead use the enclosing module's declaration-time
inspector, and `var-ref->mod-decl-insp' provides that. The
new function works only on references to anonymous variables,
which limits access to the inspector.
The real function name is longer, of course.
2011-09-20 13:50:36 -06:00
Kevin Tew
36e53c56cb
Fix cleanup of place_obj mutex and semaphore
2011-09-20 12:04:33 -06:00
Matthew Flatt
a7c607a708
fix module expand bug
2011-09-20 09:48:48 -06:00
Matthew Flatt
5351d4c7b9
fix gc and stack-overflow problems in JIT, module expansion & run
...
The GC problem was related to generational GC and the way constant
values are associated to JIT-generated code. See `retaining_data'.
The stack-overflow problems affects the JIT, module expansion,
and module invocation.
2011-09-20 08:34:29 -06:00
Matthew Flatt
df43d90513
windows: fix `copy-file' changes
2011-09-19 14:26:07 -06:00
Matthew Flatt
7f887fdf60
fix problems in copy-file'; add
exists-ok?' argument
...
The non-Windows `copy-file' had a race condition, and it could
behave in bad ways if the source of a copy is not a regular
file.
2011-09-19 08:20:22 -06:00
Matthew Flatt
6401b30399
fix winsock init and shutdown for places
2011-09-16 18:03:32 -06:00