Matthew Flatt
d9eb803e9c
add hook to force a minor GC
2011-11-25 08:13:23 -07:00
Matthew Flatt
a7ae78f3cc
fix mac- and gui-specific GC bug
...
This bug was introduced indirectly in the switch to
poll()/epoll()/kevent().
2011-11-24 15:59:12 -07:00
Matthew Flatt
e438793d43
implement JITted x86 floating-point operations with SSE
...
Currently, the choice of SSE vs. x87 is when Racket is compiled.
SSE is always used for x86_64 and on Mac OS X, and x87 is used
for other platforms.
2011-11-24 05:58:30 -07:00
Eli Barzilay
48f64ad3ae
New Racket version 5.2.0.4.
2011-11-22 14:16:07 -05:00
Matthew Flatt
e44bd3f79d
intern literal strings, byte strings, regexps, characters, and numbers
2011-11-22 08:54:37 -07:00
Matthew Flatt
cc1b7bb8b4
fix xform-related bug triggered by making atomic timeout place-local
2011-11-22 05:50:18 -07:00
Matthew Flatt
6784007206
fix, generalize, and speed up GC ownership check
2011-11-22 05:50:18 -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
76c9996ac7
fix phase-related export bug
...
which was previously masked by another bug
2011-11-18 22:59:21 -07:00
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
Matthew Flatt
dcda2b60d3
fix write() and read() calls for in-thread gethostbyname()
2011-09-16 16:42:14 -06:00
Matthew Flatt
b79c410e5b
fix in-thread gethostbyname() for places
...
Uncovered by "place-parallel.rkt" test; not found in previous runs
because in-thread gethostbyname() wasn't enabled for Linux, but it
is now.
2011-09-16 16:19:04 -06:00
Matthew Flatt
1bfd9987c4
fix pointer-ownership check so that it works
...
A working check uncovered one of the badly registered statics.
2011-09-16 16:19:04 -06:00
Matthew Flatt
aa1eb065c5
fix initialization of place-shared statics
2011-09-16 16:19:04 -06:00
Matthew Flatt
24e587a64e
lock is needed for writing after all
2011-09-16 16:19:04 -06:00
Kevin Tew
fa50c780a4
close fds on error
2011-09-16 14:11:34 -06:00
Kevin Tew
a605a97132
place* throw error on closed port
2011-09-16 13:24:39 -06:00
Matthew Flatt
7a00fbddc7
remove incorrect port shutdown; windows: fix console ports for places
...
Ports must be forced closed in the case of kill a place,
and the existing code takes care of that.
The Windows fix is especially needed for the new places port
handling, but it turns out that the console handlign was broken for
places anyway.
2011-09-16 08:12:51 -06:00
Matthew Flatt
5f21abbaf3
place ports are not regular files and should not be in text mode
2011-09-16 07:05:58 -06:00
Matthew Flatt
50bd8c6153
fix bad return for a void function
2011-09-16 07:04:15 -06:00
Matthew Flatt
d173879f39
fix places pipe for Windows
...
And also fix int-vs-ptr mismatches for the pipe layer
that is also used by `subprocess'
2011-09-16 07:03:29 -06:00
Kevin Tew
b6972a3b7f
dynamic-place now pipes standard io to standard out and error much like system.
2011-09-15 14:53:58 -06:00
Matthew Flatt
039f9c10f3
fix calculation for hash code of a hash table
2011-09-15 14:23:44 -06:00
Matthew Flatt
cc9514f8ca
another place-channel finalization repair
2011-09-15 06:38:41 -06:00
Matthew Flatt
051d677f0f
place-channel fixes
...
Finalization for a place channel used a recursive, non-atomic
function, which meant that a thread switch could happen during
place-channel finalization, leaving the new thread with the
master GC and generally confused. (The random-message test
found the bug right away on my machine.)
We already have a non-recursive, non-atomic function to traverse
place messages, so collapse all modes into that one implementation.
Along the way, problems with empty structs (found by random tester)
and checking of file descriptors (test added) also fixed.
2011-09-14 20:43:36 -06:00
Matthew Flatt
3b077078de
adjust module name resolve to use cc-marks less
...
Use `continuation-mark-set-first', instead.
Also, re-enable bytecode for Racket code that is built into
the binary, which had been left disabled accidentally.
2011-09-14 15:01:18 -06:00
Matthew Flatt
7315bfa554
drop an unnecesary lock
...
The recent addition of a shared table of names for shared code
caused bad performance on some machines (such as Robby's)
due to the lock on the table. The lock dosn't seem to be necessary
for platforms where places are supported, though.
2011-09-14 15:00:45 -06:00
Eli Barzilay
50ead29fb9
New Racket version 5.1.3.9.
2011-09-14 03:50:15 -04:00
Matthew Flatt
a233697f08
fix errortrace (required API changes), add `syntax-shift-phase-level'
...
Also fix a bug in the `module' expander and streamline lazy
visits.
2011-09-13 21:04:10 -06:00
Eli Barzilay
9a034c44ad
New Racket version 5.1.3.8.
2011-09-13 03:50:16 -04:00
Matthew Flatt
b7bef3b3aa
add syntax-transforming-module-expression?',
variable-reference->module-base-phase'
2011-09-12 17:08:50 -06:00
Matthew Flatt
c352ef8fce
allow different phases for `free-identifier=?' arguments
2011-09-12 17:08:50 -06:00
Matthew Flatt
3565c7e820
share table of shared code pointers
...
Allows stack traces to report information in places other than
the main place
2011-09-12 09:35:47 -06:00
Matthew Flatt
f3a79350e2
avoid custodian shutdown during atomic FFI callback
2011-09-10 14:36:49 -06:00
Matthew Flatt
28afc4490e
cocoa: distinguish CFBundleIdentifier for 64-bit vs. 32-bit apps
...
This is another attempt at fixing PR 12135
2011-09-10 10:53:43 -06:00
Matthew Flatt
9d4fcd8e84
better fix for TransformProcessType issue
...
GRacket registers witht a global table to indicate that
no transform is needed. (This change was intended to address
a 64-bit problem on Lion. It didn't help, but this seems
better than ignoring an error.)
2011-09-10 10:53:42 -06:00
Matthew Flatt
ed36c5d21c
fix another warning (gcc)
2011-09-09 21:11:33 -06:00
Matthew Flatt
8d766480da
fix for build with link-time optimization enabled
2011-09-09 21:06:17 -06:00
Matthew Flatt
b1417cd9f9
fix plot bug
...
No idea whether it matters; hopefully this code goes away soon.
The bug was pointed out by clang.
2011-09-09 20:49:08 -06:00
Matthew Flatt
446fb89af1
avoid clang warnings
...
The main change is to use C99 flexible array declarations
in structs, instead of declaring single-element arrays.
There are still a few -Wtautological-compare warnings
in 3m due to marco expansion.
2011-09-09 20:45:43 -06:00
Eli Barzilay
29d4bba008
New Racket version 5.1.3.7.
2011-09-09 03:50:19 -04:00
Matthew Flatt
0229e762bc
fix place-unfriendly static in ffi
...
Lazy initialization of statics shared across places doesn't work.
Also, each static must be registered with the GC exactly once;
I'm not sure why regstering on every callback didn't cause more
problems.
2011-09-08 18:29:37 -06:00
Matthew Flatt
d3c56c9f13
generalized `begin-for-syntax'
2011-09-08 14:06:00 -06:00
Matthew Flatt
83e7f92250
fix non-places build
2011-09-06 05:48:17 -06:00
Matthew Flatt
6d944453a7
make memory accounting and places work together
...
The `current-memory-use' function's result now includes the memory
use of places created from the calling place, and custodian memory
limits apply to memory use by places (owned by the custodian).
This change is relevant to PR 12004 in that DrRacket will no longer
crash on the example if a memory limit is in effect, but plain
Racket starts with no such limit and will exhaust all memory.
2011-09-05 13:24:22 -06:00
Matthew Flatt
ee6104b4fc
fix `subprocess-status' when places are enabled
...
Closes PR 12158
2011-09-04 15:55:26 -06:00
Kevin Tew
dbcf70db30
Fix check for interactively defined module paths.
2011-09-01 15:17:22 -06:00
Matthew Flatt
29205fa91a
fix changes to command-line handle that broke the Windows build
2011-09-01 12:48:20 -06:00
Kevin Tew
81f9bf4e1d
Fix dup errors, bignum deserialization, and port names across place channels
...
Fix bignum deserialization
Error reporting for failed dups during place channel communications
communicate socket port names across place channels
2011-09-01 12:02:21 -06:00
Kevin Tew
261f002ce2
Error messages for using places with symbol module paths
2011-09-01 12:02:20 -06:00
Matthew Flatt
db0db9463e
adjust -X handling to make `raco exe' work on Unix
...
Closes PR 12151
2011-09-01 08:49:26 -06:00
Matthew Flatt
d75aaa3c0e
fix printed form of place channels
2011-08-31 09:48:56 -06:00
Matthew Flatt
5978717fa3
use closesocket() etc. for scheme_close_socket_fd()
2011-08-31 09:48:56 -06:00
Matthew Flatt
468bfc5437
fix "GRacketCGC.app" install
2011-08-31 09:48:56 -06:00
Kevin Tew
4d8833eab2
abandon unused scheme_socket_to_ports during place copy
2011-08-30 16:21:32 -06:00
Kevin Tew
50745a8219
Accumulate fds for cleanup on exception
2011-08-30 10:02:50 -06:00
Matthew Flatt
638dc2ed62
implement MZ_DO_NOT_INLINE() for MSVC
...
For 64-bit builds, MSVC has become smart enough to inline functions
in a way that interferes with the implementation of continuations,
so that (planet "williams/simulation/examples/model-2b") crashes,
for example. Explicitly disabling inlining avoids the problem by
making the C stack layout match the implementation's expectation.
2011-08-29 23:22:09 -06:00
Eli Barzilay
f3f3af124f
Removed SrPersist.
...
Blessed-by: Ryan
2011-08-29 16:55:42 -04:00
Kevin Tew
18e14aed80
Reduce duplicate code in place.c, fixes
2011-08-29 07:30:46 -06:00
Matthew Flatt
b02e37b0b9
restore module cache
...
The module cache was added in 97ce26b1
(April 16, 2011),
but it was accidentally disabled in e9721058
(May 5, 2011).
This time, I figured out a way to test whether the cache is
working (other than to benchmark examples, which is how I
discovered that it wasn't working).
2011-08-28 18:15:44 -06:00
Matthew Flatt
98bc4067c3
make bytecode compiler less picky about exports
...
Closes PR 12134
2011-08-28 11:21:15 -06:00
Matthew Flatt
4f83f7f279
allow phase 1+ references to not-yet-defined bindings
...
For example,
(define-for-syntax (f x) (g x))
(define-for-syntax (g y) y)
is now allowed. The unbound-variable check for phase 1
and up is delayed until after the module body is partially expanded.
2011-08-28 10:27:31 -06:00
Kevin Tew
5d27959c57
Place sockets and file port fixes
2011-08-26 14:25:18 -06:00
Kevin Tew
801e5dbe0e
Fix serious clang warnings
2011-08-26 14:04:28 -06:00
Kevin Tew
6ee0c0298a
Fix warnings in place.c
2011-08-26 11:46:57 -06:00
Matthew Flatt
290fe066b6
add optional argument to weak-box-value' and
ephemeron-value'
2011-08-26 06:24:34 -06:00
Matthew Flatt
ecc058de4a
change `raco exe' to disable collection lookup by default
2011-08-25 09:15:30 -06:00
Eli Barzilay
7bb8c6c4b3
New Racket version 5.1.3.6.
2011-08-25 03:50:21 -04:00
Matthew Flatt
ec29a2d85c
add `use-collection-link-paths'
2011-08-24 20:08:19 -06:00
Matthew Flatt
84e3ab2a20
add support for collection roots to the collection links file
2011-08-24 20:08:19 -06:00
Kevin Tew
5a30aa89eb
Allow TCP sockets and file ports to be communicated across places
2011-08-24 14:33:54 -06:00
Matthew Flatt
a7855e20a8
add `raco link'
...
includes a rewrite the "Module Basics" section of the Guide
2011-08-24 09:07:14 -06:00
Kevin Tew
8782f4c445
send ffi pointers across places
2011-08-23 13:33:06 -06:00
Eli Barzilay
41ae2b57b6
New Racket version 5.1.3.3.
2011-08-21 03:50:12 -04:00
Matthew Flatt
345b06838d
FFI: add C arrays and unions
2011-08-20 10:24:32 -06:00
Eli Barzilay
2fbfe341b9
New Racket version 5.1.3.2.
2011-08-20 03:50:14 -04:00
Matthew Flatt
dc1a97cec7
another subprocess fix like d7a996ee0b
2011-08-19 16:56:10 -06:00
Matthew Flatt
d7a996ee0b
fix for subprocess management (when places are enabled)
2011-08-19 13:57:28 -06:00
Matthew Flatt
6073ef5ff5
fix `place-break' on a terminated place
2011-08-19 12:52:19 -06:00
Matthew Flatt
0c7b1925a5
change bad code to an assertion that's never needed
2011-08-19 12:52:08 -06:00
Matthew Flatt
d185c2a0df
fix optimizer bug
...
Also fix missing copy-propagation opportunity
2011-08-19 07:35:39 -06:00
Matthew Flatt
7eb2042bd9
fix compiler handling of top-/module-level constants
...
The JIT and bytecode compiler disagreed on the definition of
"constant". Now there are two levels: "constant" means constant across
all instantiations, and "fixed" means constant for a given instantation.
The JIT uses this distinction to generate direct-primitive calls
or not. (Without the distinction, a direct jump to `reverse' could
be wrong, because `racket/base' might get instantiated with the
JIT disabled or not.)
Also, fixed a bug in the JIT's `vector-set!' code in the case that
the target vector is a top-/module-level reference that is ready,
fixed, or constant.
2011-08-19 06:32:44 -06:00
Matthew Flatt
1d6c3aa4ea
avoid pointless digits when printing single-precision floats
...
Closes PR 12118
2011-08-18 13:21:38 -06:00
Matthew Flatt
69929b7499
configure: make --disable-jit imply --disable-futures
2011-08-18 12:41:36 -06:00
Matthew Flatt
8291fef9de
fix optimizer problems with mutability checking, inlining
...
The inlining adjustment can sometimes trigger different
inlining than before. (One common benchmark wins; one loses.)
2011-08-18 12:32:01 -06:00
Matthew Flatt
8eefaba187
fix `regexp-match' performance for short matches on long strings
...
More specifically, for a string of length N and a match that
only looks at the first M characters, the complexity of
`regexp-match' is now O(M) instead of O(N). This allows
`regexp-split' to be O(N) for a string instead of O(N^2).
Also, fixed a bug in non-greedy matching that could affect
both long strings and input ports.
2011-08-18 09:26:09 -06:00
Matthew Flatt
591e08fb10
fix bug in identifier resolution
...
Commit 311d55b5cf
fixed a shallow bug that masked a deeper
bug in the interaction of local bindings and module-level
bindings. This one fixes the deeper problem, which is that
the recursive resolution that ignores module bindings should
start from the beginning of the wraps, not the wrap after
a module renaming.
Closes PR 12116
2011-08-16 20:24:08 -06:00
Matthew Flatt
8f27112c83
slightly safer CPP macros
2011-08-16 20:24:00 -06:00
Matthew Flatt
311d55b5cf
fix bug that affects `free-identifier=?'
...
This bug is in the "amazing that it lurked for years" category,
as well as the "stupid use of C preprocessor" category.
2011-08-16 10:42:56 -06:00
Vincent St-Amour
02ba6e5d32
Remove trailing whitespace.
2011-08-15 12:19:53 -04:00
Matthew Flatt
8989e810fb
fix over-eager bytecode transformation
2011-08-15 09:36:38 -06:00
Matthew Flatt
40197835c9
repair `dynamic-require-for-syntax'
...
That primitive is probably a bad idea, but maybe it's useful
until we have separaely loadable parts of a module.
2011-08-15 07:06:40 -06:00
Eli Barzilay
db1aa1479a
New Racket version 5.1.3.1.
2011-08-15 03:50:14 -04:00
Eli Barzilay
05dc8a596d
Post-release version for the v5.1.3 release
2011-08-14 08:43:02 -04:00
Matthew Flatt
ca92376381
detect __sync_bool_compare_and_swap() via `configure'
2011-08-12 17:03:28 -06:00
Matthew Flatt
1c04cf1b02
make `port-try-file-lock?' work for Solaris
...
Shared locking now allowed only on input port, and exclusive
locking is allowed only on output ports, which allows an implementation
via fcntl(...,F_SETLK,...).
2011-08-11 13:11:26 -06:00
Eli Barzilay
b27eacd4d0
New Racket version 5.1.2.4.
2011-08-10 03:50:14 -04:00
Matthew Flatt
f646511ca7
first small step toward cross-module optimization
...
Mainly propagates constantness for the benefit of keyword
applications, but also propagates simple constants
2011-08-09 16:33:17 -06:00
Matthew Flatt
5352d670c4
generalize #%variable-reference' and add
variable-reference-constant?'
...
Use the new functions to make the expansion of keyword applications
to known procedure work with mutation.
2011-08-09 16:33:17 -06:00
Matthew Flatt
39a96dd699
add `prop:liberal-define-context'
2011-08-09 16:33:16 -06:00
Matthew Flatt
ff024068d9
fix syntax-taint problem in expander
2011-08-09 16:33:16 -06:00
Matthew Flatt
376a673a0c
use internal `equal?'-based table in atomic mode
...
for kill safety
2011-08-09 13:10:41 -06:00
Kevin Tew
22ac1f8c54
Places - check for inter-place pointers
2011-08-08 10:58:22 -06:00
Matthew Flatt
2d4e14dca8
fix a kill-safety problem in the module name resolver
2011-08-06 08:25:36 -06:00
Matthew Flatt
84b9cf6b90
fix non-place-friendly parts of finalizer support
2011-08-04 06:57:32 -06:00
Matthew Flatt
3b8d00029e
fix `namespace-attach-module{-declaration}' problem
...
Closes PR 12048
2011-08-02 17:06:12 -06:00
Matthew Flatt
9a5bae277a
set self modidx on primitive modules
...
which fixes a crash related to `module->namespace'
2011-08-01 15:16:04 -06:00
Matthew Flatt
ec27cbfd90
fix problems related to futures and is-list flags on pairs
...
Although a future thread used an atomic compare-and-swap to
set "is a list" or "not a list" flag on pairs via the
JIT-implemented `list?', the hashing function in the runtime
thread did not; as a result, it might be possible to lose
a hash code due to cache inconsistency (although I'm not
sure it's actually possible, and I couldn't trigger a problem
with a test). Most of the changes are related to using
an atomic compare-and-swap when setting a hash code, as
well as clean-ups to related code. Processor-count tests
avoid using atomic compare-and-swap on uniprocessors, which
might not support the relevant machine instructions.
As significantly, the compare-and-swap operation for the
JIT-implemented `list?' did not actually set flags on
a pair that has a hash code. This could lead to `list?'
tests that were not constant time (but only if the relevant
pair's `eq?' hash code had been used previously).
2011-07-31 04:43:24 -06:00
Matthew Flatt
e6b4d547c9
fix problem with initialization of tag name array
...
The bug to lead to a crash from `(dump-memory-stats)'
Mrege to 5.1.2
2011-07-27 15:26:48 +01:00
Matthew Flatt
7123996b30
change `eval-jit-enabled' initialization
...
to reflect whether JIT compilation is supported by the build
(i.e., set it to #f initially when the JIT is not supported)
2011-07-27 07:55:05 +01:00
James Swaine
783ee2cf88
Add convenience macros for raising exceptions in C functions which may run on future threads
2011-07-26 16:20:35 -05:00
Matthew Flatt
73b16c8578
don't constant-fold an fx operation if the result is non-fx
...
In fact, the result must be an fx on all platforms, since
compilation should be platform-independent.
2011-07-25 11:30:23 -04:00
Matthew Flatt
cab8e5e0e2
JIT tweaks for `unsafe-{s,u}16vector-set!'
...
by making better use of the code that's in place for other
similar operations
2011-07-25 11:30:22 -04:00
Matthew Flatt
c9d4e0fb8c
win32: fix `copy-file' handling of file-exists error
...
The specific error reported by CopyFileW doesn't seem
to be documented. It's unclear whether Racket's old test
for ERROR_EXISTS_ALREADY was the wrong choice (as opposed
to ERROR_FILE_EXISTS) or whether some Windows versions
use it; we test for both for now.
Also, improve error reporting when an errno or
GetLastError() value is available.
Closes PR 12074
Merge to 5.1.2
2011-07-23 22:15:18 -04:00
Matthew Flatt
530bb1b9ba
code-inspector fix for top-level code from bytecode
...
Merge to 5.1.2
2011-07-20 14:25:24 -06:00
Matthew Flatt
0d2b08f053
fix validation of top-level define-{syntaxes,values-for-syntax}
...
(Only appears in bytecode for non-module code.)
Merge to 5.1.2
2011-07-20 14:08:30 -06:00
Matthew Flatt
5b8a892fbb
fix bug in .zo writing
...
The bug showed up in the "racket/embed.rktl" test.
Merge to 5.1.2
2011-07-20 13:57:52 -06:00
Matthew Flatt
30174b3c81
another try at Mac OS X 10.4 x86 libraries
...
Merge to 5.1.2
2011-07-20 13:26:48 -06:00
Matthew Flatt
d9ae1d048d
fix optimizer bug related to `case-lambda' at module level
...
The bug triggered a crash on ARM, and probably doesn't
affect other platforms, but I'm not competely sure.
Merge to 5.1.2
2011-07-19 15:27:50 -06:00
Matthew Flatt
5efe7001d6
fix "block cache" layer to handle allocation failure
2011-07-17 20:08:26 -06:00
Matthew Flatt
92671ab3ea
fix source name of built-in modules
...
Closes PR 12051
Merge to 5.1.2
2011-07-16 21:42:57 -06:00
Matthew Flatt
c4b820e5c5
make `namespace->module' fail on kernel modules for the right reason
2011-07-16 21:36:41 -06:00
Matthew Flatt
701c9666d6
fix printing of namespace with places enabled
...
This commit goes with 62acb298bd
.
2011-07-16 21:17:10 -06:00
Matthew Flatt
3f0914080b
fix SGC
...
Merge to 5.1.2
2011-07-16 14:30:09 -06:00
Matthew Flatt
9ca07e7d65
minor code clarification
2011-07-16 14:30:09 -06:00
Matthew Flatt
4307bcace5
fix taint behavior of some syntax operations
...
`syntax-local-get-shadower' and
`syntax-make-delta-introducer' both taint their
results when a given syntax object is tainted
2011-07-16 08:03:54 -06:00
Kevin Tew
bf4a8ad5c4
create hash codes for place shared objects
2011-07-15 13:06:07 -06:00
Matthew Flatt
62acb298bd
places: fix printing of symbol resolved module paths
2011-07-14 21:32:48 -06:00
Matthew Flatt
1c4722eaee
remove obsolete reference to '#%mred-kernel
2011-07-14 21:32:47 -06:00
James Swaine
32a3828a2e
Made continuation-mark-set-first future-safe. Fixed a rarely occurring bug with lightweight continuation capture for futures.
2011-07-14 19:30:52 -06:00
Matthew Flatt
4d03ffb57d
another JIT tweak
2011-07-14 17:07:18 -06:00
Matthew Flatt
825548f5dc
tweak JIT to improve and slightly generalize register tracking
2011-07-14 17:07:18 -06:00
Matthew Flatt
87a6b850a7
more info on 10.4 support
2011-07-14 17:07:18 -06:00
Matthew Flatt
0860e62bfa
rebuild Mac x86 libraries to work with 10.4
...
Merge to 5.1.2
2011-07-13 10:45:19 -06:00
Vincent St-Amour
09b6616bfa
Fix jitting of real->double-flonum.
...
Merge to 5.1.2.
2011-07-11 14:38:02 -04:00
Vincent St-Amour
7dfe1f636f
Revert "Add real->double-flonum to the JIT."
...
This reverts commit 2afff3d210
.
This commit caused real->double-flonum to have a different behavior
when jitted as opposed to interpreted, and caused real->single-flonum
to break in some cases.
Merge to 5.1.2.
2011-07-11 13:54:06 -04:00
Matthew Flatt
09eab9c3eb
fix JIT problem that can break futures
...
A recent (weeks-old) JIT change set one of a function's code
pointers to NULL to indicate that JIT-compilation of the
function is in progress, but that breaks futures. Set the
code pointer to a different not-yet-ready function, instead.
Merge to 5.1.2
Closes PR 12037
2011-07-11 07:01:41 -06:00
Eli Barzilay
ac139c5dcb
New Racket version 5.1.2.3.
2011-07-11 03:50:16 -04:00
Matthew Flatt
cc6f3f69ab
add `port-set-next-location!'; make prompt read handler use it
...
Closes PR 12035
2011-07-10 08:36:47 -06:00
Matthew Flatt
e765231dad
fix hash-ref' bugs on immutable
eq?'-based tables
...
There were two:
* new: after finding a hash code, the key wasn't
always checked to be `eq?' to the desired key
* old: the hash code wan't downshifted by 2, so
changes in the low two bits (like when a pair
is determined to start a list) could break
lookup
Merge to 5.1.2
2011-07-09 20:12:59 -06:00
Matthew Flatt
5452a16479
fix arity check on `current-module-name-resolver'
2011-07-09 06:16:11 -06:00
Matthew Flatt
9e694ce5cb
share modidx for module imported into multiple phases
2011-07-09 06:16:10 -06:00
Matthew Flatt
50bd06af9a
fix dependency
2011-07-09 06:16:10 -06:00
Matthew Flatt
d49a1e1fa1
JIT-inline `path?'
2011-07-09 06:16:10 -06:00
Eli Barzilay
1ba2d85004
New Racket version 5.1.2.2.
2011-07-09 03:50:09 -04:00
Matthew Flatt
b98e1b189a
change semantic of internal definitions
...
and `letrec-syntaxes+values' --- allowing `let' in place
of `letrec', which in turn lets the compiler optimize
away location allocation
2011-07-08 14:00:41 -06:00
Matthew Flatt
4392ab7636
make weak taint table actually weak
2011-07-08 06:28:43 -06:00
Matthew Flatt
0e95d49ddb
allow more expression reordering, especially unsafe ops
2011-07-08 06:23:29 -06:00
Matthew Flatt
65b1a569a0
add `unsafe-list-{ref,set}'
...
Use the new functions in `syntax-case'; the benefit is small, and
it's mostly useful as hint to the optimizer that the operation
can be dropped if the result isn't used
2011-07-08 06:23:29 -06:00
Matthew Flatt
848bba80a3
optimizer repair; `unsafe-c{a,d}r' can be dropped
2011-07-08 06:22:40 -06:00
Eli Barzilay
4edbf125a9
New Racket version 5.1.2.1.
2011-07-08 03:50:19 -04:00
Ryan Culpepper
ed7495ce2a
Post-release version for the v5.1.2 release
2011-07-07 23:37:55 -06:00
Kevin Tew
8128603b9b
Fix non-places build
2011-07-07 17:14:01 -06:00
Kevin Tew
8ed62b715b
Fix place-channel place-object race condition
2011-07-07 17:14:00 -06:00
Vincent St-Amour
3b33ed8c81
Abstract out magic numbers in the JIT.
2011-07-07 18:13:50 -04:00
Kevin Tew
68d49e9f59
Add assertions to place-channel tests
2011-07-07 12:38:20 -06:00
Vincent St-Amour
2afff3d210
Add real->double-flonum to the JIT.
2011-07-07 12:04:24 -04:00
Matthew Flatt
9ba6beacf5
fix non-futures, non-places build
2011-07-07 07:25:48 -06:00
Matthew Flatt
62a17da060
JIT-inline list-ref' and
list-tail'
2011-07-07 07:25:48 -06:00
Matthew Flatt
a77a2fb3e1
JIT-inline all of the `cXr's
2011-07-07 07:25:48 -06:00
Matthew Flatt
6f9c197b96
avoid compiler warnings in --disable-places mode
2011-07-07 07:25:48 -06:00
Matthew Flatt
0c605acaf4
string allocation tweak
2011-07-07 07:25:47 -06:00
Matthew Flatt
2769fdd311
specialize "slow" `unsafe-vector*-ref', etc. after all
...
based on Vincent's patch
2011-07-07 07:25:47 -06:00
Matthew Flatt
f93b404dbd
PPC JIT repairs
2011-07-07 06:54:55 -06:00
Eli Barzilay
380b6a8440
New Racket version 5.1.1.9.
2011-07-07 03:50:15 -04:00
Matthew Flatt
8cd1e9ff81
fix JIT support for property accessor with failure argument
2011-07-06 17:10:40 -06:00
Matthew Flatt
63ae1cabc4
reliably clear signal_handle when a place ends
2011-07-06 15:54:11 -06:00
Matthew Flatt
79d5572153
register place async channel wakeup_signal with GC
2011-07-06 15:54:11 -06:00
Matthew Flatt
6b4b95c569
fix `unsafe-struct-{ref,set}' for chaperones
2011-07-06 15:08:41 -06:00
Matthew Flatt
5b0fd72f7a
note an implementation rationale
2011-07-06 15:01:10 -06:00
Kevin Tew
afca6ad64a
Reduce initial memory footprint
2011-07-06 14:43:56 -06:00
Matthew Flatt
bd65218842
fix inconsistent version declaration
2011-07-06 14:02:19 -06:00
Matthew Flatt
8f6fd7060f
speed up `hash-ref'
...
by trimming the common-case path through a combination of small
JIT and function changes
2011-07-06 14:00:51 -06:00
Kevin Tew
36e3679854
Scheme_Place_Object is now under gc control, multiple places can wait on a place channel.
2011-07-06 13:27:50 -06:00
Matthew Flatt
5c2a9b2aaa
improve a syntax-object resolution cache
2011-07-06 09:07:18 -06:00
Matthew Flatt
1daa2649f0
another fix for `vector-{ref,set!}' on chaperone/impersonator
...
--- fixes a81917a2692; drop this commit if that one is dropped
2011-07-05 06:29:32 -06:00
Matthew Flatt
ca2dd17dcb
fix for `vector-{ref,set!}' on chaperone/impersonator on some platforms
...
--- fixes a81917a2692; drop this commit if that one is dropped
2011-07-04 18:04:38 -06:00
Matthew Flatt
a81917a269
JIT: faster path for `vector-{ref,set!}' on chaperone/impersonator
...
This commit probably should be removed from the v5.1.2 branch
(after the branch is created).
2011-07-04 16:26:09 -06:00
Matthew Flatt
97d5e3fa02
win32: fix place-specific scheduling semaphore
2011-07-04 08:27:33 -06:00
Jay McCarthy
467833d4e7
Initializing flag to remove GCC error
2011-07-02 12:13:21 -07:00
Matthew Flatt
8aa4ff1b06
syntax taint repairs
2011-07-02 10:08:15 -06:00
Matthew Flatt
69434370cb
allow fd 0 to be used as place signaling pipe
2011-07-01 15:04:39 -06:00
Matthew Flatt
e46a470f8d
places fixes: Windows leaks, custodian force-exit, stdio interaction
2011-07-01 14:31:56 -06:00
Matthew Flatt
3078d5c494
clean up place exit handling
...
- don't crash on multiple kills or waits
- allow the OS to reclaim the place thread when it exits on its own
2011-07-01 09:30:11 -06:00
Matthew Flatt
0f42552a0e
place fd clean-ups
...
and better handling of a place-creation failure due to pieces
at the OS layer
2011-07-01 09:30:10 -06:00
Eli Barzilay
faf74c789f
New Racket version 5.1.1.8.
2011-07-01 03:50:21 -04:00
Matthew Flatt
835bbe2874
fix typo in "place.c"
2011-06-30 10:59:17 -06:00
Matthew Flatt
d4acf4f07a
fix another problem with attempted overflow clean-up
2011-06-30 10:53:19 -06:00
Kevin Tew
c3059f7e82
place-dead-evt
2011-06-30 10:02:21 -06:00
Matthew Flatt
ae8bbaef90
fix attempt to clean up overflow checking
2011-06-30 09:55:55 -06:00
Matthew Flatt
37e4ea497b
check for integer overflow in vector reader syntax
...
Closes PR 12008
2011-06-30 09:46:02 -06:00
Matthew Flatt
e9477c17b4
fix JIT-generated `apply-values' for chaperones
...
Closes PR 11981
2011-06-30 09:28:07 -06:00
Matthew Flatt
b86e96cf90
fix optimizer bug that reordered past a mutable variable
...
Closes PR 11987
2011-06-30 09:17:42 -06:00
Matthew Flatt
737a3bd91a
fix too-early large-allocation check
...
Closes PR 12000
2011-06-30 08:56:28 -06:00
Matthew Flatt
0025ff968d
fix JIT bug
...
that caused incorrect compilation of a non-tail call as
a self non-tail call (but why hasn't this deep and old bug caused
more trouble over the years?)
2011-06-30 08:24:42 -06:00
Matthew Flatt
1af8cd07ad
minor clean-up
2011-06-30 08:24:41 -06:00
Matthew Flatt
011b79180b
fix another stx-vs-#f bug
2011-06-29 20:48:11 -06:00
Matthew Flatt
e16e36e49c
fix problem pushing instantiation-time inspector
2011-06-29 20:21:40 -06:00
Eli Barzilay
01867f12b1
New Racket version 5.1.1.7.
2011-06-29 21:47:55 -04:00
Matthew Flatt
daa6f1aed3
fix #f misused as syntax object
2011-06-29 19:46:04 -06:00
Matthew Flatt
1160d3df62
remove syntax certificates; add syntax taints
2011-06-29 19:15:48 -06:00
Eli Barzilay
40124a0619
A long overdue scan to eliminate files without terminating newlines.
...
(DrRacket should really do that.)
2011-06-28 02:01:41 -04:00
Kevin Tew
d7785a3520
Add mark call for place->mref
2011-06-27 09:16:45 -06:00
Matthew Flatt
bba4d413e8
add usual prefix to configure flag report
2011-06-20 10:28:35 -06:00
Matthew Flatt
047b4b6072
note on cross-compilation
2011-06-20 06:50:59 -06:00
Matthew Flatt
5c9f1a487e
3m-only build fix
2011-06-20 06:50:58 -06:00
Matthew Flatt
56ee3049b2
switch configure' to use "$host_..." instead of
uname'
...
to support cross compilation;
the main risk of this change is that I might have some
GNU canonical system names wrog, since they're different
from `uname' results
2011-06-19 11:39:38 -06:00
Matthew Flatt
49d8274662
darwin ppc patch from libffi
2011-06-19 11:10:42 -06:00
Matthew Flatt
7448f21fa5
add --enable-racket=<path> to configure
...
to set the Racket executable to run when building and
installing Racket
2011-06-19 10:39:18 -06:00
Matthew Flatt
dd700b8430
PPC repairs
2011-06-18 07:26:53 -06:00
Matthew Flatt
5a5800d513
place-specific low-level "sleep" function
...
to make racket/gui work right with places (running
in just one of them) on Mac OS X
2011-06-17 17:03:21 -06:00
Matthew Flatt
8e5bfee99e
remove "place_" prefix from static functions
2011-06-17 17:03:20 -06:00
Matthew Flatt
b1e47eba45
add `place-message-allowed?' and fix related problems
...
Closes PR 11983
2011-06-17 10:33:27 -06:00
Eli Barzilay
109fff2abe
New Racket version 5.1.1.6.
2011-06-17 03:50:16 -04:00
Matthew Flatt
523cec90c6
fix JITted multi-valued `begin0' in a single-value context
...
and generate simpler code for constrained cases, including
single-value contexts and ignored results
Closes PR 11979
2011-06-16 18:16:02 -06:00
Matthew Flatt
56423f330e
`procedure-arity-includes?' reports #f for keyword-requiring procs
...
by default; a new optional argument restores the old behavior
(but the default behavior is consistent with the old docs and with
the vast majority of existing uses)
The implementation is ugly for performance reasons. A new primitive
`prop:arity-incomplete' property determines when to return #f for
`procedure-arity-includes?' in default mode. A nicer implementation
would be to redefine `procedure-arity-includes?' at the kw-proc level,
but the bytecode optimizer's and JIT's treatment of the built-in
`procedure-arity-includes?' is important. The implementation choice
could be revisited after cross-module inlining is implemented.
Closes PR 11978
2011-06-16 12:36:16 -06:00
Matthew Flatt
83d002a9aa
fix interaction of `port-commit-peeked' and port positions
...
--- includes a small hack to the `make-input-port' protocol
to specially handle a byte-string result as "true"
from the `commit' proc
2011-06-16 08:17:14 -06:00
Kevin Tew
939f0b1c0b
rename place-dynamic to dynamic-place
2011-06-11 15:36:16 -06:00
Matthew Flatt
80c4396dc1
JIT-inline struct type property predicates and accessors
2011-06-11 08:35:34 -07:00
Kevin Tew
4ee71096e7
Places: a few more send receive to get put renames
2011-06-11 02:07:28 -06:00
Kevin Tew
4dff43d4c5
place-wait returns void for now
2011-06-11 02:07:28 -06:00
Kevin Tew
1473b7775f
Places: rename place and place/anon
2011-06-10 11:07:01 -06:00
Kevin Tew
21f7109204
Places: rename send receive to put get
2011-06-09 23:48:55 -06:00
Kevin Tew
b6225f66a5
Fix mzrt_cas for GCC < 4.1
2011-06-04 14:32:22 -06:00
Kevin Tew
a4e72128af
Remove unused atomic ops, use gcc intrinsic
2011-06-03 13:50:26 -06:00
Matthew Flatt
d74aa0c998
try to fix CAS for Mac OS X PPC
2011-06-02 16:45:45 -07:00
Matthew Flatt
b24c387dde
add PLTDISABLEGC environment variable
2011-06-02 16:20:20 -07:00
Jose Lopes
84415dd4a9
Fixed bug that prevented from accessing ActiveX components that did not expose type information.
...
Signed-off-by: José Lopes <jose.lopes@ist.utl.pt>
2011-05-30 07:48:18 -06:00
Matthew Flatt
bbfeb85440
mak argument to `make-immutable-hash' optional
2011-05-30 07:38:57 -06:00
Matthew Flatt
f3e1cf10aa
change `hash-count' to take the lock; fix docs
2011-05-30 07:38:57 -06:00
Matthew Flatt
9f1c2147be
refine comment that is possibly misleading
...
on code that might not turn out to be useful
2011-05-30 07:38:57 -06:00
Matthew Flatt
5dfd17d0b9
linux: use /proc/self/maps to find precise stack base
2011-05-29 09:41:07 -06:00
Matthew Flatt
32522f1f68
fix mac non-futures, non-places build
2011-05-27 20:12:01 -06:00
Eli Barzilay
13b2adc18c
Switch the license text from LGPLv2 to LGPLv2.1.
...
This makes it correspond to the license page we have on downloads that
talks about the "lesser" GPL rather than the "library" one.
Also, change the file name to have a more friendly .txt suffix, and add
some more responsible properties for things in doc/release-notes.
2011-05-27 18:09:55 -04:00
Matthew Flatt
b548bc563c
fix timer thread double registration
2011-05-25 14:53:19 -06:00
Kevin Tew
8b334e1e1b
Smaller stacks for green thread timers
2011-05-25 12:02:07 -06:00
Tony Garnock-Jones
7615c2a512
Implementation, documentation and tests for adding a failure-result to property accessor procedures.
2011-05-24 16:53:52 -04:00
Vincent St-Amour
d314331858
Added comments to atan.
2011-05-24 10:57:30 -04:00
Matthew Flatt
0aefb8d43c
avoid `single' as a C variable name
...
because `single' is bound as a type in some Solaris header
2011-05-24 06:30:00 -06:00
Matthew Flatt
23777f291c
avoid flock() under Solaris
2011-05-24 06:18:40 -06:00
Matthew Flatt
7060fa5b75
fix problems with `letrec' splitting and constant procedures
2011-05-19 15:15:01 -07:00
Kevin Tew
518f20142c
11930 bug fix: added missing scheme_seal_parameters call
2011-05-19 11:48:23 -06:00
Matthew Flatt
11fa781652
fix future-scheduling problem related to custodians
2011-05-16 18:43:46 -06:00
Matthew Flatt
ffbaaa3c3b
kFreeBSD fix from David Bremner
2011-05-16 06:24:02 -06:00
Matthew Flatt
450c66d308
fix MysterX for places
2011-05-13 14:06:53 -06:00
Matthew Flatt
343568fd84
fix return type of scheme_get_place_table()
2011-05-13 14:06:52 -06:00
Matthew Flatt
a613e81fcd
change protocol for extensions with places
...
- extension gets scheme_initialize() per-place
- simplify allocation and fix locking for scheme_new_type()
- better Inside docs on places
2011-05-13 14:06:51 -06:00
Matthew Flatt
0bb0f28506
fix non-places build (yet again)
2011-05-13 09:03:02 -06:00
Matthew Flatt
a96fe882f8
ffi: fix race condition in in-original-place support
2011-05-13 08:55:06 -06:00
Matthew Flatt
3c1cd700a1
fix finalization of place channels
2011-05-13 08:55:06 -06:00
Matthew Flatt
087d666f08
win32: fix timer-thread handling for places
2011-05-13 08:55:05 -06:00
Matthew Flatt
5f1cd1a381
implement mzrt_sleep() for Windows
2011-05-13 08:55:05 -06:00
Matthew Flatt
70a0b741b0
fix place-channel GC marker, plus a typo in mark-proc generator
2011-05-13 08:55:05 -06:00
Matthew Flatt
49aadc599a
ffi: add `#:in-original-place?' to deal with thread-unsafe libs
...
and use it for Pango, which is not thread-safe at the C level
2011-05-13 08:55:04 -06:00
Kevin Tew
3ca3544a28
places: fixes from Matthew's code review of places
2011-05-12 21:22:20 -06:00
Kevin Tew
c9c02f3fb0
duplicate and cycle detection for places_deserialize_worker
2011-05-12 08:28:47 -06:00
Matthew Flatt
8492f7c90b
fix symbol handling in long-message transfer
...
as well as stack-overflow handling
2011-05-11 15:04:59 -06:00
Matthew Flatt
88dea4fae9
places: fix problems with message receive
2011-05-11 10:37:29 -06:00
Matthew Flatt
11445a97e4
remove obsolete hash handling in places deep copy
2011-05-11 09:07:47 -06:00
Matthew Flatt
8672f32d94
fix SGC debug mode
2011-05-11 08:49:31 -06:00
Kevin Tew
edeab3a413
inline -> MZ_INLINE
2011-05-10 10:52:43 -06:00
Matthew Flatt
d8340c6e2e
futures: fix bugs in handling args of captured continuations
2011-05-10 09:53:48 -06:00
Kevin Tew
a09a4edcc3
mz-gdbinit updates
2011-05-10 06:37:39 -06:00
Kevin Tew
85ef1e2153
Added gc mark and fixup support for scheme_serialized_symbol
2011-05-10 06:37:39 -06:00
Kevin Tew
94d92092a5
deep copy stack overflow check
2011-05-10 06:37:39 -06:00
Kevin Tew
940e4cce34
shutdown custodian and call atexit handlers at place exit
2011-05-10 06:37:39 -06:00
Matthew Flatt
5b2492eda6
places, creating a subprocess: reset SIGCHLD correctly
2011-05-09 07:27:05 -06:00
Matthew Flatt
a60bfe9b7f
remove some obsolete Mac OS X compiler flags for gracket
2011-05-09 07:27:04 -06:00
Matthew Flatt
979ea867a5
experiment (unsuccessfully) with inlining heuristic
...
and minor code clean-up
2011-05-08 17:04:27 -06:00
Matthew Flatt
9188e36ef1
try to fix thread-local variables for Max OS X Lion
2011-05-08 08:00:46 -06:00
Matthew Flatt
695039626c
fixes for non-JIT build
2011-05-08 06:26:04 -06:00
Matthew Flatt
09046b46dd
split up mzmark output
2011-05-08 06:26:04 -06:00
Matthew Flatt
01193652b0
internal reorganization of bytecode compiler and other bytecode tasks
...
--- organize by task instead of (weakly) by bytecode form; source
files are smaller with fewer global functions and datatypes
2011-05-08 06:26:04 -06:00
Matthew Flatt
240d95ada6
fix closure GC handling when closure is only half-formed
2011-05-06 09:20:56 -06:00
Eli Barzilay
503485b5a4
New Racket version 5.1.1.5.
2011-05-06 09:48:07 -04:00
Matthew Flatt
e9721058fb
reorgnize datatypes of less common bytecode forms
...
removing a layer of indirection, and setting up
for an internal reorganization of the compiler code
2011-05-06 06:56:23 -06:00
Matthew Flatt
047c21edb4
add missing Win64 library to get-libs script
2011-05-06 06:56:22 -06:00
Matthew Flatt
34b8dc249e
fix documented contracts for path functions
...
and make `cleanse-path' work for any platform's paths
while fixing `resolve-path' checking to disallow paths
for other platforms
Closes PR 11891
2011-05-04 11:40:01 -06:00
Matthew Flatt
086d582c0f
fix module-code cache to key on `current-load-relative-directory'
...
since that parameter affects the way that code is read
2011-05-03 16:22:05 -06:00
Matthew Flatt
4ee24d1c21
fix non-places, non-futures build again
2011-05-03 16:04:59 -06:00
Matthew Flatt
a91d79201b
fix potential bug in printing error message
2011-05-03 16:04:33 -06:00
Eli Barzilay
e2255e3f88
New Racket version 5.1.1.4.
2011-05-03 16:34:50 -04:00
Matthew Flatt
be524ade36
minor code clean-ups
2011-05-03 10:22:02 -06:00
Matthew Flatt
2ada6d0e89
break link to namespaces from from closures over top-/module-level vars
...
- the `lam' structure from `compiler/zo-struct' changed to include a
`toplevel-map' field
This change helps solve a finalization problem in `racket/draw',
which in turn sigificantly reduces the peak memory use of `raco setup'
during the doc-building phase (because some documents load `racket/draw'
to render images, and multiple copies of `racket/draw' were retained
before finalization was fixed).
The change is an extreme way to solve a specific finalization
problem, but it's a kind of space-safety improvement; space safety
almost never matters, but when it does, then working around a lack of
space safety is practically impossible. In this case, it's not clear
how to otherwise solve the `racket/draw' finalization problem.
The improvement doesn't change the representation of closures, but it
requires special cooperation with the GC. All closures in a module
continue to share the same array of globals (plus syntax objects);
that is, instead of completely flat closures, Racket uses a two-level
environment where top-/module-level variables are grouped
together. The code half of a closure now records which
top-/module-level variables the body code actually uses, and the mark
phase of GC consults this information to retain only parts of the
top-/module-level environment frame that are actually used by some
closure (or all of the frame if it is accessible through some other
route). In other words, the GC supports a kind of "dependent
reference" to an array that is indexed by positions into the array
--- except that the code is more in the "Racket" directory instead of
the "GC" directory, since it's so specific to the closure
representation.
2011-05-03 06:57:49 -06:00
Matthew Flatt
6c1ec25016
win32: fix page counting in memory manager
2011-04-30 14:02:20 -06:00
Matthew Flatt
68d235378f
places: trigger GC after many message pages adopted
2011-04-30 14:01:55 -06:00
Matthew Flatt
4377d88e86
win32: increase stack size to 8 MB
...
and double safety margin for Win64
2011-04-30 11:12:04 -06:00
Matthew Flatt
ddbb3b02a1
win32 places: make break-signal semaphore place-local
2011-04-30 07:42:17 -06:00
Matthew Flatt
b5f86a26e6
fixes for kFreeBSD
2011-04-29 01:24:38 -06:00
Matthew Flatt
030eb185bc
fix non-futures, non-places build
2011-04-28 19:22:10 -06:00
Matthew Flatt
ddc9213fbb
allocate shared JIT code on pages shared by places
2011-04-28 10:16:35 -06:00
Matthew Flatt
651655f7bc
fix memory counting on orphaned message pages
2011-04-28 09:53:29 -06:00
Matthew Flatt
9f50228db8
fix #include for fpsetmask()
2011-04-28 09:16:57 -06:00
Matthew Flatt
3dc38f25ee
adjust GC logging, include JIT pages size
2011-04-28 07:43:42 -06:00
Matthew Flatt
aaf74636c2
another __FreeBSD_kernel__ fix
2011-04-28 06:58:14 -06:00
Matthew Flatt
7648000608
fix alloc_cache page counting
2011-04-28 06:51:36 -06:00
Matthew Flatt
5114f5973c
remove unneeded places prefab-key conversions
...
(second try)
2011-04-28 06:35:33 -06:00
Kevin Tew
1689ccee47
Fix places dying.
2011-04-27 21:30:37 -06:00
Kevin Tew
5a01e9ddb8
Revert "remove unneeded places prefab-key conversions"
...
Well try again tomorrow to clean this up.
This reverts commit bd1c47cce1
.
2011-04-27 20:18:15 -06:00
Matthew Flatt
5881005e18
tune GC parameter
2011-04-27 19:02:08 -06:00
Matthew Flatt
9cf7f88606
fix `procedure-arity-includes?' for non-futures, non-places builds
2011-04-27 14:57:16 -06:00
Matthew Flatt
0e229529c0
JIT-inline `procedure-arity-includes?'
2011-04-27 14:10:21 -06:00
Kevin Tew
d3b014ba42
[Places] copy pair flags
2011-04-27 11:50:44 -06:00
Matthew Flatt
bd1c47cce1
remove unneeded places prefab-key conversions
2011-04-27 11:03:22 -06:00
Matthew Flatt
a2e3116494
fix code page unchaining
2011-04-26 19:35:12 -06:00
Matthew Flatt
50509c10dc
free JIT & FFI code pages when a place exits
2011-04-26 19:21:14 -06:00
Matthew Flatt
d28d42a46f
fix validator bug (to allow flonum-consuming proc to be cleared)
...
Closes PR 11879
2011-04-26 19:21:14 -06:00
Kevin Tew
a589ea42b6
[Places] added place-break primitive
2011-04-26 18:41:19 -06:00
Matthew Flatt
8679afed60
clean up C part of build
...
- no more attempt to support places with the Boehm GC
- no more libatomic (which was for places + Boehm GC)
- remove unsupported configuration options
- strip Racket-specific configure options before libffi configure
- port two leftover Perl scripts to Racket scripts
2011-04-26 17:14:55 -06:00
Matthew Flatt
604960f5f5
places: re-enable (and re-ignore) SIGCHLD in a fork()ed process
...
Relevant to PR 11877
2011-04-26 11:12:32 -06:00
Matthew Flatt
40090307c1
Boehm GC: remove some obsolete customization
2011-04-25 15:50:41 -06:00
Matthew Flatt
5ae4b00168
fix CGC ephemeron bug
...
Merge to 5.1.1
2011-04-25 15:50:41 -06:00
Matthew Flatt
e999e0666c
minor code-format adjustment
2011-04-25 15:50:41 -06:00
Kevin Tew
f8d761226d
Remove FIXME_LATER gcc attribute
2011-04-25 08:18:27 -06:00
Kevin Tew
fd93e502e1
keygen can be shared see comment
2011-04-25 08:18:26 -06:00
Kevin Tew
2c02d9ff8d
Finish load_extension places FIXME_LATER
2011-04-25 08:18:23 -06:00
Kevin Tew
44bf21a907
make group_member_cache place local
2011-04-25 08:18:15 -06:00
Matthew Flatt
187e483204
fix inline `eqv?' (affects PPC)
2011-04-25 07:25:53 -06:00
Matthew Flatt
4aabaeb7af
fix configure error that can cause CFLAGS to be ignored
...
Merge to 5.1.1
2011-04-24 19:11:57 -06:00
Matthew Flatt
ac5d4cd401
x86 JIT: keep call & ret paired
...
even for a non-tail call from native code to native code;
this change provides huge performance improvements for
some microbenchmarks
Merge to 5.1.1
2011-04-24 16:46:04 -06:00
Matthew Flatt
ae714593cd
JIT: shorter x86 code for type tests, further streamline loop wrapper
...
--- but it doesn't actually speed up the target `assq' function
2011-04-24 15:18:09 -06:00
Matthew Flatt
253aff3e16
fix cached-module lookup
2011-04-24 09:04:58 -06:00
Matthew Flatt
09dbfee792
kFreeBSD configuration fixes
...
and use "uconfig.h" for default configuration
2011-04-24 08:54:53 -06:00
Matthew Flatt
dd8bd1c137
fix prototype
2011-04-24 08:54:35 -06:00
Matthew Flatt
6078013e32
JIT improvement: more direct path through loop wrappers
2011-04-24 07:55:33 -06:00
Matthew Flatt
3dffd5fbe6
faster JIT-generated path to `equal?' when futures are enabled
2011-04-24 07:55:33 -06:00
Matthew Flatt
f4303cbef8
faster JITted path to `equal?'
2011-04-24 07:55:33 -06:00
Matthew Flatt
45d7635188
fix non-places build
2011-04-24 07:55:33 -06:00
Matthew Flatt
feac196a31
minor JIT back-end improvements to avoid redundant loads
2011-04-24 07:55:33 -06:00
Matthew Flatt
b1ac25023d
allow additional arguments to `raise-mismatch-error'
...
because it's often useful to show more values, and a
tail `raise-mismatch-error' instead of a nested `format'
can avoid some safe-for-space work in the JIT output
2011-04-24 07:55:33 -06:00
Matthew Flatt
f54d977de1
JIT-inline `eqv?'
2011-04-24 07:55:32 -06:00
Matthew Flatt
b7639e5a15
clean up futures at place termination
2011-04-22 15:59:33 -06:00
Matthew Flatt
0754ad0114
safe-for-space repairs for functions with rest args
2011-04-22 15:59:33 -06:00
Kevin Tew
f4307c65a7
[Places] free mark stack when place terminates
2011-04-22 15:33:17 -06:00
Kevin Tew
dc2c16058b
[Places] free alloc_cache and page_range on place termination
2011-04-22 12:20:09 -06:00
Kevin Tew
012868e491
[Places] free nursery on place termination
2011-04-22 12:20:04 -06:00
Matthew Flatt
3f9a4c49fa
fix `#define's that are used in more configurations than originally
2011-04-21 19:34:07 -06:00
Matthew Flatt
c4dbbdfaf3
fix C declaration
2011-04-21 19:34:07 -06:00
Matthew Flatt
f761be02be
fix logging for master GC
2011-04-21 19:34:07 -06:00
Kevin Tew
8b049bb2ff
Missed old code removal during recent refactor
2011-04-21 18:16:47 -06:00
Kevin Tew
d197d39d2c
[Places] free gcs when places terminate
2011-04-21 14:27:27 -06:00
Matthew Flatt
c280b19ee2
remove unused var
2011-04-21 11:45:34 -06:00
Matthew Flatt
5e24a6d37c
improve logging related to GC and places
2011-04-21 11:42:20 -06:00
Kevin Tew
c00a85edf8
Free msg_memory when place channel is finalized
2011-04-21 11:20:53 -06:00
Kevin Tew
8e2c09ac2f
Add finalizer for place-channel's mutexes
2011-04-21 11:20:53 -06:00
Kevin Tew
113918e85a
Revert "disable places-by-default for now"
...
This reverts commit 8760d38a95
.
2011-04-21 10:18:29 -06:00
Kevin Tew
b1cd60213f
Test all allowed types in place messages
2011-04-21 06:14:27 -06:00
Matthew Flatt
8760d38a95
disable places-by-default for now
...
--- pending further investigation of memory consumption
2011-04-21 06:12:31 -06:00
Matthew Flatt
2177681336
remove leftover(?) place GC-switching code on prefab lookup
2011-04-20 21:13:21 -06:00
Matthew Flatt
275d4a7a05
future scheduling fix and tweak
...
- put an atomic action on the atomic queue, even if the future
was locally suspended
- try local allocation for a multiple-values buffer
2011-04-20 20:01:29 -06:00
Matthew Flatt
e9dd7580a8
win32: fix incorrectly shared path-conversion buffer
2011-04-20 12:25:48 -06:00
Matthew Flatt
231cf7db48
win32: create threads in the right way for C library
2011-04-20 11:25:15 -06:00
Matthew Flatt
714df5598c
restore needed forcing of hash codes
2011-04-20 08:22:01 -06:00
Matthew Flatt
5969524bd4
remove debugging leftovers(?)
2011-04-20 07:37:12 -06:00
Matthew Flatt
e47c9a2f9d
allow cyclic values over place channels
2011-04-20 07:21:10 -06:00
Matthew Flatt
e1fced4897
places: clean up bad-message reporting, simplify some code
2011-04-20 06:55:37 -06:00
Eli Barzilay
0d021aacd2
New Racket version 5.1.1.3.
2011-04-20 03:50:42 -04:00
Kevin Tew
4749ae9d8a
Fix places message to correctly say place-channel-send, add support for
...
windows paths in place channels
2011-04-19 22:44:13 -06:00
Matthew Flatt
1932a453a8
enable inlining of calls to `case-lambda' procedures
...
which includes calls to procedures with optional (but no keyword)
arguments
2011-04-19 21:28:14 -06:00
Kevin Tew
fbb3926e07
Fix drracket crash on mflatt field.rkt test
2011-04-19 13:00:35 -06:00
Kevin Tew
4fd6144e3d
[Places] place are now turned on by default
2011-04-19 09:15:17 -06:00
Matthew Flatt
2032ec910f
better error message for bad command-line argument
2011-04-19 07:00:45 -06:00
Kevin Tew
49c73d767b
[Places] improve small message performance
2011-04-19 03:31:51 -06:00
Matthew Flatt
586478a241
fix `namespace-attach-module' at phases above 0
...
Closes PR 11863
Merge to 5.1.1
2011-04-18 15:48:14 -06:00
Matthew Flatt
2fa35a2a5c
fix bug in thread'-based implementation of
place'
...
which is used when parallel places are unavailable
2011-04-18 13:06:03 -06:00
Matthew Flatt
0c1348ee03
fix module-code cache for non-futures, non-places build
2011-04-18 06:34:50 -06:00
Matthew Flatt
6b2219b9e5
write proper ELF section for Unix launchers/executables
2011-04-17 18:04:00 -06:00
Eli Barzilay
875385b8f7
New Racket version 5.1.1.2.
2011-04-17 03:50:20 -04:00
Matthew Flatt
2a5fe45c7a
add `namespace-attach-module-declaration'
...
which creates a little more sharing than the automatic
caching of modules, but only for a program that explicitly
attaches module declarations to share
2011-04-16 13:25:57 -06:00
Matthew Flatt
97ce26b182
cache loaded compiled modules
...
using a SHA1 hash stored in the marshaled bytecode; this cache
lowers the cost of sandboxes or other uses of multiple namespaces
when the code inspector doesn't change; the caching is almost
transparent, but an eval handler might be called with compiled
code that cannot be written
2011-04-16 13:24:58 -06:00
Eli Barzilay
ea9e6ce73a
New Racket version 5.1.1.1.
2011-04-16 14:13:13 -04:00
Ryan Culpepper
183780238d
Post-release version for the v5.1.1 release
2011-04-16 08:20:01 -06:00
Matthew Flatt
b6efdff4ec
configure: -lffi goes in LIBS, not LDFLAGS
2011-04-14 10:49:13 -06:00
Matthew Flatt
f6d185abab
configure: use `pkg-config' for libffi
2011-04-13 11:00:23 -06:00
Matthew Flatt
efed709f69
improve error reporting when using exec
2011-04-13 11:00:23 -06:00
Matthew Flatt
8a2d5878bc
minor hash tuning
2011-04-13 11:00:23 -06:00
Kevin Tew
9d55c6c202
[Places] windows fixes
2011-04-12 12:05:27 -06:00
Matthew Flatt
ace0faa50f
fix `configure' typo
2011-04-11 06:33:16 -06:00
Matthew Flatt
75753e6891
make --disable-foreign build work, at least for plain `racket'
2011-04-10 19:58:04 -06:00
Matthew Flatt
ac71f6080e
don't look for X11 headers and libs during configure
2011-04-10 19:37:59 -06:00
Matthew Flatt
f3c3bb4441
Use installed libffi, if any, instead of building own
...
and add --disable-libffi to get old, always-build behavior
2011-04-10 19:26:15 -06:00
Matthew Flatt
6b503fa947
fix non-futures build
2011-04-10 09:10:07 -06:00
Matthew Flatt
8f9b71d785
futures: revert a GC-allocation change
...
because the old way looks right after all
2011-04-10 09:10:06 -06:00
Matthew Flatt
857003378a
futures: more bug fixes, make `touch' safe
...
- bug fixes are related to allocation and runstack space
- a `touch' within a future can complete before the `touch'ing
future is itself `touch'ed
- also make `length' safe (and JIT-inlined)
2011-04-09 17:12:24 -06:00
Matthew Flatt
7f6b8597f3
futures: dynamically allocate worker-thread array
...
so that a machine with > 8 processors doesn't cause a crash
2011-04-08 19:49:50 -06:00
Matthew Flatt
1028c669b7
futures: move flag check under lock
2011-04-08 17:38:09 -06:00
Matthew Flatt
2dcd76f609
fix arity reporting for chaperoned procedures and some primitives
...
such as `for-each'
2011-04-08 07:54:41 -06:00
Matthew Flatt
3dda2492c2
fix subprocess bug with places
2011-04-08 07:10:08 -06:00
Eli Barzilay
f0d1b6b91a
New Racket version 5.1.0.6.
2011-04-07 03:50:13 -04:00
Matthew Flatt
3bf0f800a7
futures: make `future' work in a future, overhaul logging, fix bugs
2011-04-06 17:40:44 -06:00
Matthew Flatt
974f24ae54
increase the runstack size for a future thread
2011-04-04 21:15:44 -06:00
Matthew Flatt
1641d07a42
cocoa: upgrade cairo binary to v1.10.2
...
plus one little patch from the cairo repo
2011-04-02 15:52:00 -06:00
Kevin Tew
26d7768d3d
Rename place-channel-recv place-channel-receive
2011-03-31 13:36:40 -06:00
Kevin Tew
f000517d42
mk-gdbinit.rkt improvements
2011-03-31 12:59:28 -06:00
Kevin Tew
4feebef9ef
stxobj.c init cleanup
2011-03-31 12:59:24 -06:00
Eli Barzilay
be95f7a501
New Racket version 5.1.0.5.
2011-03-31 03:50:07 -04:00
Matthew Flatt
f88621aec1
fix more shift-cache problems
2011-03-30 15:13:01 -06:00
Matthew Flatt
bbc5533938
Scribble: change the way `racketblock' etc. indent/inset works
...
- introduce 'code-inset style for nested blocks
- use style instead of spaces for code indentation
- sigplanconf adds vertical space around 'code-inset
- more ...0 variants to compose better
2011-03-30 15:12:30 -06:00
Kevin Tew
a9572505d8
[Places] empty_self_modidx fix
2011-03-30 12:18:03 -06:00
Matthew Flatt
05b777d382
protect against empty -N command-line argument
2011-03-29 19:53:05 -06:00
Matthew Flatt
1788703a42
Linux: set OS process name to match -N argument or argv[0]
2011-03-29 11:02:06 -06:00
Kevin Tew
ef200b3e7e
Linux signal handling debug code
2011-03-25 15:04:02 -06:00
Kevin Tew
40847f51b1
Linux places need more thread stack space
2011-03-25 15:04:02 -06:00
Kevin Tew
aa0f285efa
[PLACES] variable-reference->module-source fix
2011-03-25 13:07:39 -06:00
Kevin Tew
7dc22bc0fe
added scheme_place_check_for_killed prototype
2011-03-23 16:28:53 -06:00
Matthew Flatt
5f237dd5df
remove unused local C variable
2011-03-20 13:02:51 -06:00
Matthew Flatt
dafb6742e2
try to fix JIT-buffer overflow error
2011-03-20 12:57:24 -06:00
Matthew Flatt
ed96b89c45
JIT-inline `list?'
2011-03-20 09:51:32 -06:00
Matthew Flatt
39ebb083cc
split functions to reduce C compile time
2011-03-20 09:51:31 -06:00
Kevin Tew
ae8b326522
[Places] added place-kill
2011-03-18 15:06:11 -06:00
Kevin Tew
b8c779b059
Added char* casts to symbol -> byte string conversions
2011-03-18 15:06:11 -06:00
Vincent St-Amour
e9789c6697
Fix the 2-argument case of atan to conform to the documentation and
...
fix the documentation.
2011-03-17 13:10:19 -04:00
Kevin Tew
f7caad524b
[Places] fix symbol -> byte string conversions
2011-03-17 09:58:23 -06:00
Matthew Flatt
ded23a4f75
fix PSMTabBarControl sizes again
...
- previous fix changed x86 instead of intended ppc line
2011-03-17 06:35:23 -06:00
Matthew Flatt
4b39efdee4
fix `syntax-local-bind-syntaxes' argument checking
...
Closes PR 11808
2011-03-16 06:36:48 -06:00
Matthew Flatt
056a3fb588
fix lib size for ppc-macosx
2011-03-15 16:16:48 -06:00
Matthew Flatt
b9c4bbae67
futures: limit parallelism via custodians
...
Closes PR 11682
2011-03-15 14:43:18 -06:00
Matthew Flatt
93e10989fd
export scheme_on_demand_jit_code
2011-03-15 06:43:53 -06:00
Matthew Flatt
5d481c259b
fix inexact number printing when LC_NUMERIC locale is not "C"
...
Relevant to PR 11802
2011-03-13 09:02:40 -06:00
Matthew Flatt
cf69cb2aff
special treatment of void as 'inferred-name property
...
allows keyword-based application to hide temporary
names that happen to be bound to procedure arguments
2011-03-13 09:02:39 -06:00
Eli Barzilay
02f6ef0ec0
New Racket version 5.1.0.4.
2011-03-12 03:50:18 -05:00
Matthew Flatt
a5a7076fe0
`file-or-directory-permissions': expose more info, add write mode
...
and add `user-read-bit', etc., to `racket/file'
2011-03-11 02:50:06 -06:00
Matthew Flatt
3249ca2ab8
cocoa: fix bug in PSMTabBarControl
2011-03-11 02:50:05 -06:00
Matthew Flatt
7679e91de3
win32: fix ffi-lib' for non-ASCII in
ffi/unsafe'
2011-03-10 07:35:49 -07:00
James Swaine
f4cae46f14
Added fsemaphore logging via the FSEMA_LOGGING preprocessor flag.
2011-03-03 16:56:29 -06:00
Eli Barzilay
0b63012e9e
New Racket version 5.1.0.3.
2011-03-01 03:50:15 -05:00
Matthew Flatt
9abe62d713
bump version to reflect changes in a built-in module's exports
2011-02-28 17:32:59 -07:00
Kevin Tew
eaebcf5fd6
[Places] fall back to threads
2011-02-28 16:03:05 -07:00
Kevin Tew
13d371fa5e
Collapse GLOBAL_PRIMS
2011-02-28 16:03:05 -07:00
Matthew Flatt
733eab5805
fix 0-field prefab immutability flag
...
Closes PR 11777
2011-02-28 15:24:11 -07:00
Matthew Flatt
2482816d3d
fix `configure' detection of getaddrinfo()
2011-02-27 16:55:04 -07:00
Matthew Flatt
be9f13011a
fix `make clean' with --disable-foreign
...
Closes PR 11770
2011-02-25 06:57:48 -07:00
Matthew Flatt
b4056373be
generalizations to `subprocess' & company
...
- allow byte strings in more places
- allow stderr spec to be 'stdout to redirect stderr to stdout
Closes PR 11711
2011-02-19 08:30:34 -07:00
Matthew Flatt
aacb98f51b
PPC JIT fixup
2011-02-18 18:44:01 -07:00
Matthew Flatt
0e590d3a76
VS10 project fixup
2011-02-18 18:44:01 -07:00
Matthew Flatt
4b13dc0ba4
split jit.c into multiple files
2011-02-18 18:44:01 -07:00
Matthew Flatt
5249152743
partially clean up hash-code implementation
2011-02-18 18:44:01 -07:00
Matthew Flatt
7d94936b04
change representation of parameterizations
...
- slightly slower single extension of parameterization
- faster repeated extension of parameterization
- sometimes faster lookup of parameterization
- simpler implementation (uses functional hash tables)
2011-02-18 18:44:01 -07:00
Matthew Flatt
6041833ac5
fsemaphore cleanup
...
- abstract over JIT inlining of fsemaphore operations
- fix problems with non-parallel fsemaphores
- adjust tests so they don't assume too much concurrency
- clarify fsemaphore vs. semaphore in the docs
2011-02-18 09:55:01 -07:00
James Swaine
ca5c061a71
Fix fsemaphore-try-wait? so the sema's count is decremented. Make fsemaphore-wait and other futures-related functions cooperate with the GC better.
2011-02-16 21:14:14 -06:00
James Swaine
825a931ffa
Fix MSVC compiler errors for fsemaphore code generation
2011-02-16 15:39:45 -06:00
Matthew Flatt
90b8296c8f
fix minor problems that trigger C-compiler warnings
2011-02-16 13:19:56 -07:00
James Swaine
c6642de116
Added future semaphores (fsemaphores)
2011-02-15 23:27:03 -06:00
James Swaine
a98553f99b
Merge branch 'master' of pltgit:plt
2011-02-15 22:58:08 -06:00
Kevin Tew
156153f692
calling sync on a place-channel now returns the channel message just like standard racket channels
2011-02-15 13:53:01 -07:00
James Swaine
f9c12f9e58
Merge branch 'master' of pltgit:plt
2011-02-14 14:02:47 -06:00
Matthew Flatt
8c0d19fb12
fix `configure' for 64-bit Mac OS X kernel
2011-02-11 06:37:34 -07:00
James Swaine
19dbee0405
Added semaphores for futures
2011-02-08 17:58:02 -06:00
James Swaine
0a73a9d5a1
Added semaphores for futures
2011-02-08 17:55:12 -06:00
Matthew Flatt
3e38071dae
fix scheduler's support for `ffi/unsafe/try-atomic'
...
where problems with abort-without-dynamic-wind mode caused
a spurious trigger of nack evts
Merge to 5.1
2011-02-05 16:48:39 -07:00
Matthew Flatt
da6d4f3fba
futures: fix `future' when given a non-JITted procedure
...
Merge to 5.1
2011-02-05 06:43:09 -07:00
Matthew Flatt
7579b48791
futures: fix lightweight-continuation GC bug
...
Merge to 5.1
2011-02-05 06:43:08 -07:00
David Van Horn
760a58b65d
Fixes more spelling errors.
2011-02-04 19:44:13 -07:00
David Van Horn
c9519fd113
Fixed various spelling errors.
2011-02-03 17:42:33 -05:00
Kevin Tew
528948291d
Fix creation of types and events after the master gc has been switched out
2011-02-03 13:14:45 -07:00
Matthew Flatt
309e1aec4f
re-generate `configure' script
...
Merge to 5.1, along with e91f243b64
2011-02-02 16:10:40 -07:00
Matthew Flatt
9d204c01cf
fix problem with allocation while holding a future lock
...
Merge to 5.1
2011-02-02 16:09:45 -07:00
Eli Barzilay
e91f243b64
Avoid compiling plot if the source directory is missing
2011-02-02 16:09:49 -05:00
Vincent St-Amour
62327c5f50
Fix make-->vector doc typo.
...
Closes PR 11698.
Merge to 5.1.
2011-02-02 14:00:14 -05:00
Matthew Flatt
9134aa4ee8
add missing mutex unlock in error path
...
Merge to 5.1
2011-02-01 19:37:02 -07:00
Vincent St-Amour
a0e6d67db2
Fix build when disabling single-precision floats.
2011-02-01 18:00:26 -05:00
Kevin Tew
9f51cb838f
Fix used_pages count for place channel messages
2011-02-01 09:17:41 -07:00
Eli Barzilay
60bb91fd30
New Racket version 5.1.0.2.
2011-02-01 03:50:12 -05:00
Matthew Flatt
dfa36afa89
change `floating-point-bytes->real' to always produce a flonum
2011-01-31 19:52:50 -07:00
Matthew Flatt
ff0a591b7b
change FFI `_float' to coerce to Racket double-precision flonum
2011-01-31 19:33:07 -07:00
Matthew Flatt
3ef32d915b
make inexacts `eqv?' only when precision is the same
...
plus some other small fixes
2011-01-31 19:16:33 -07:00
Matthew Flatt
dc49e6a364
fix configure reporting of --disable-float
2011-01-31 19:16:07 -07:00
Matthew Flatt
fad0224259
fix mysterx for single-precision floats
2011-01-31 19:15:31 -07:00
Matthew Flatt
1e09a544a6
adjust _float' and
_double' FFI types to accept any inexact real
...
whether single-precision or double-precision
2011-01-31 18:04:05 -07:00
Matthew Flatt
f9bcdc9baf
move float config to "mzconfig.h"; enable by default for Windows
2011-01-31 17:51:09 -07:00
Vincent St-Amour
e65b206e6e
Add functions to convert back and forth between floating-point representations.
2011-01-31 16:39:17 -05:00
Vincent St-Amour
03ec1ec501
Add a single-flonum? predicate to test for single-precision floats.
2011-01-31 16:39:17 -05:00
Vincent St-Amour
ac76d963b0
Enable single-precision floats by default.
2011-01-31 16:39:17 -05:00
Vincent St-Amour
c997ae139b
Single-precision floats now print differently from their double-precision
...
counterparts.
2011-01-31 16:39:16 -05:00
Vincent St-Amour
d220e0a10b
Add read syntax for single-precision float specials.
2011-01-31 16:39:16 -05:00
Matthew Flatt
dd5f0dfc80
fix `read-language' exn construction in an EOF case
...
Closes PR 11683
Merge to 5.1
2011-01-31 06:49:13 -07:00
Matthew Flatt
bc5ab1e031
fix problems with `read-language' error reporting
2011-01-30 07:47:46 -06:00
Eli Barzilay
c945f5d27d
New Racket version 5.1.0.1.
2011-01-30 03:50:12 -05:00
Matthew Flatt
0e169cfbb7
fix version number
2011-01-29 13:39:34 -06:00
Eli Barzilay
f190e3efec
Post-release version for the v5.1 release
2011-01-29 13:04:18 -05:00
Matthew Flatt
b5bc288f67
Windows: fix `path-list-string->path-list' to throw away quotes
...
--- which seems to be what the command shell does with quotes in
PATH, at least; Microsoft isn't in the habit of documenting this
sort of thing
2011-01-25 20:30:33 -07:00
Eli Barzilay
1e2a6ffd60
New Racket version 5.0.99.7.
2011-01-25 03:50:12 -05:00
Matthew Flatt
5e3dbbc3f8
change gracket -z' to just use
read-eval-print-loop'
...
instead of `textual-read-eval-print-loop'
2011-01-24 19:47:21 -07:00
Matthew Flatt
069a7c2b48
add current-get-interaction-input-port' and adjust
racket/gui'
...
so that GUI events are dispatched while a REPL is blocked on input
2011-01-24 19:47:20 -07:00
Vincent St-Amour
dfac6641f7
Typo.
2011-01-24 17:00:55 -05:00
Matthew Flatt
f36db863bb
refine `char-graphic?' to include all chars in L and N categories
...
Closes PR 11664
2011-01-24 07:08:11 -07:00
Matthew Flatt
0c193a599a
fix uncaught-exception-handler handling of non-escaping escape handler
...
and change the emergency error display handler to log and error
Closes PR 11630
2011-01-20 14:01:33 -07:00
Matthew Flatt
6b115ecf33
fix glib log-message construction
2011-01-18 11:02:46 -07:00
Matthew Flatt
07a7916142
fix string-ref' and
bytes-ref' error message
...
Closes PR 11064, since the problem that triggered the bad
error message is also fixed
2011-01-16 20:00:39 -07:00
Matthew Flatt
21eee45a48
fix `read-language' when input has only comments
2011-01-16 19:01:45 -07:00
Robby Findler
1f66d545c0
adjust build.bat to respect PLT_SETUP_OPTIONS
...
closes PR 11629
2011-01-15 19:22:44 -06:00
Matthew Flatt
6e65311702
fix scheduler interaction with atomic mode
2011-01-15 16:46:33 -07:00
Matthew Flatt
c2afc03b3b
fix interaction of `continuation-mark-set-first' and prompts
...
including a documentation fix
2011-01-15 08:05:55 -07:00
Matthew Flatt
84237c2cf3
fix optimizer bug that can attempt infinite unrolling of loops
2011-01-13 12:48:44 -07:00
Matthew Flatt
79cd92859c
disable user-specific setup on `make install' by default
...
and add a `--enable-userspecific' flag for `configure'
2011-01-13 10:59:20 -07:00
Matthew Flatt
be1046baa1
fix GC log printout
2011-01-10 06:43:27 -07:00
Matthew Flatt
ea51d32e9d
fix subprocess checking when the process moves itself to a new group
...
Closes PR 11200
2011-01-08 10:29:32 -07:00
Vincent St-Amour
b32287fa2d
Fixed a bug with complex numbers made from floats of differing precision.
...
It used to be that constructing complex numbers from a float and a
double sometimes caused incorrect coercions.
2011-01-05 14:42:31 -05:00
Vincent St-Amour
2bf83832b9
Fix zero? error message. Accepts any number, not just reals.
2011-01-05 14:42:31 -05:00
Matthew Flatt
dd0b41d974
linux: reset to extended-precision fp before calling pow()
2011-01-04 16:13:02 -07:00
Matthew Flatt
e88c2142e6
some intptr_t printf fixes
2011-01-04 16:12:12 -07:00
Matthew Flatt
13ddab969b
enable ptherads by default for OpenBSD
2011-01-04 12:44:36 -07:00
Matthew Flatt
cd676fe81c
another context-cache repair
2011-01-03 18:04:11 -07:00
Matthew Flatt
c5de056da5
another continuation-context caching repair
...
because the previous repair essentially disabled caching
2011-01-02 16:38:25 -07:00
Matthew Flatt
a226abec59
fix entry loss in continuation-context caching
2011-01-02 16:04:26 -07:00
Matthew Flatt
dbd8faee1b
fix scheduler bug
...
where the particular combination of events seems not
to have been possible until the extra delim-cont
for try-atomic hook was added
2011-01-02 09:24:15 -07:00
Matthew Flatt
bdc0d2c862
like f57b431c2e
(missed other case)
2011-01-01 08:22:17 -07:00
Eli Barzilay
7cac1f6ac2
New Racket version 5.0.99.6.
2011-01-01 03:50:21 -05:00
Matthew Flatt
44cf598298
win32 file locking
2010-12-31 14:40:39 -07:00
Matthew Flatt
55693e090f
add port-try-file-lock?' and
port-file-unlock'
2010-12-31 14:40:27 -07:00
Eli Barzilay
1f49e35b21
2010 -> 2011
2010-12-31 15:59:39 -05:00
Eli Barzilay
e2cc0942cc
Attempt to make some ignore files more robust
2010-12-31 15:59:39 -05:00
Matthew Flatt
e094cf4e51
win64: fix external reference to thread-locals
2010-12-31 07:42:40 -07:00
Matthew Flatt
42794ee337
rollback win32 transaction experiment
2010-12-30 17:31:05 -07:00
Matthew Flatt
4b1ead5bfe
win64: stubs for stack-unwind support
2010-12-30 10:48:15 -07:00
Matthew Flatt
678bfa7fca
win32: fix transaction creation
2010-12-30 10:43:52 -07:00
Matthew Flatt
05046c07a8
win32: implement 'rename-file-or-directory' with transactions, if available
2010-12-30 09:30:28 -07:00
Matthew Flatt
f57b431c2e
JIT: although `values' is inlined, don't count it as "simple"
2010-12-29 10:39:37 -07:00
Matthew Flatt
3b032893c1
don't JIT-inline `values' in a single-value position
2010-12-28 17:47:03 -07:00
Matthew Flatt
84a4f3f006
remove a forced GC (surely a bad idea) in the weak-hash implementation
2010-12-28 16:16:24 -07:00
Matthew Flatt
3e3ed33cbf
detect and report a case of deadlock
2010-12-28 11:09:45 -07:00
Matthew Flatt
51ff346e2f
clarify mutual exclusion of gtk logging cases
2010-12-27 17:43:36 -07:00
Matthew Flatt
705b11f2b8
a prompt-test fix like the previous one, but for post thunks
2010-12-27 15:24:33 -07:00
Matthew Flatt
0d3fbb11fa
supress a prompt test that doesn't apply to composable continuations
2010-12-26 16:21:28 -06:00
Matthew Flatt
0fd9a76081
VS SGC build
2010-12-26 09:35:26 -07:00
Matthew Flatt
b404ef9970
fix JIT bug related to 'apply'
2010-12-26 09:35:25 -07:00
Matthew Flatt
1c479bb0fb
SGC fixes for Win32
2010-12-26 09:35:23 -07:00
Matthew Flatt
76b475aa27
avoid compiler warnings
2010-12-26 06:47:53 -06:00
Matthew Flatt
4094bd33f0
fix allocation bug in logging-message construction
2010-12-26 06:47:52 -06:00
Matthew Flatt
f11e66fd71
fix sgcdebug configuration
2010-12-26 06:47:51 -06:00
Matthew Flatt
e77917db8c
fix another continuation bug discovered by Casey's random testing
2010-12-25 17:12:33 -06:00
Matthew Flatt
e7b52bf10f
fix ffi handling of non-GCable pointers with offsets
...
Closes PR 11567
2010-12-25 09:34:07 -06:00
Matthew Flatt
78b2e47541
fix more try-atomic problems
2010-12-21 18:45:36 -07:00
Matthew Flatt
391e7f486f
fix signedness bug in GC
...
which fixes memory accounting in particular
2010-12-21 12:39:18 -06:00
Matthew Flatt
ad890077d0
JIT-inline `values' and make it synced (not "unsafe") for futures
2010-12-21 11:06:35 -06:00
Matthew Flatt
17c802c2e1
compiler: (let ([x (begin M ... N)]) P) => (begin M ... (let ([x N]) P))
2010-12-21 11:06:35 -06:00
Eli Barzilay
3751452530
New Racket version 5.0.99.5.
2010-12-16 03:50:17 -05:00
Matthew Flatt
31906d6261
route glib logging to Racket logging
2010-12-15 12:25:45 -07:00
Matthew Flatt
7f5ac2b7f9
restore Win64 fix to FFI
...
that I had improperly added to "foreign.c" instead of the source
2010-12-14 07:53:19 -07:00
Matthew Flatt
3b4a1c4e94
fix some GC-related problems
...
due to pointer fields in GC-allocated structures that do not refer
to GC-allocated memory; if the corresponding memory is free()ed and
then the GC later takes over the same page of memory, then bad
things can happen; some of the problems were crashing the Windows
port while running the 2htdp image tests
2010-12-14 05:53:48 -07:00
Matthew Flatt
790a91e520
fix minor potential GC bugs and add some debugging support
2010-12-13 16:31:13 -07:00
Matthew Flatt
04d1397825
yet another PRIdPTR fix
2010-12-13 16:31:13 -07:00
Matthew Flatt
8bfb7de833
revert overzealous printf format conversion
2010-12-12 14:06:33 -07:00
Matthew Flatt
f3c695e3df
fix intptr_t printf template for Windows
2010-12-12 08:50:26 -07:00
Matthew Flatt
526c700411
fix more intptr printfs
2010-12-12 08:35:15 -07:00
Matthew Flatt
f9fb041598
use inttypes.h and PTIdPTR
2010-12-12 08:24:20 -07:00
Matthew Flatt
2906a6d750
mzcom minor clean-up
2010-12-11 06:37:44 -07:00
Robby Findler
6c75bda403
fix shadowed var
2010-12-10 20:36:31 -06:00
Matthew Flatt
2ae9f14f9e
fix exn raised in refab-struct read errors
...
Closes PR 11530
2010-12-10 18:33:44 -07:00
Matthew Flatt
2b4f1a6908
extend `sync/timeout' to allow a tail-position fail thunk for polling
2010-12-10 18:06:21 -07:00
Matthew Flatt
f4f2b7c533
fix bug in macro expander
2010-12-10 13:41:05 -07:00
Eli Barzilay
adb657fc5f
Bump _WIN32_WINNT to 0x0501, since that's what the compiler recommends to do
...
when it complains about a value that is too low.
This complaint happens when building with 2010 -- I resolved these
complaints (here and in mysterx) by adding the definition to the vcxproj
files, but the 3m compilation still needs it.
For the record, the error text is:
C:\Program Files\Microsoft Visual Studio 10.0\VC\ATLMFC\INCLUDE\atlcore.h(35) : fatal error C1189: #error : This file requires _WIN32_WINNT to be #defined at least to 0x0403. Value 0x0501 or higher is recommended.
2010-12-10 03:54:02 -05:00
Eli Barzilay
a8bf338962
Attempt to fix "libffi.vcxproj".
...
* Sorted out mess for output directories and commands.
* Minimized some redundant repetitions.
* Used consistent OutDir and IntDir directories.
2010-12-10 03:19:01 -05:00
Eli Barzilay
aa58d1773d
Make "gc2/make.rkt" look for "win32/release" directories.
...
I made the 2010 project files use a consistent path of
$(Platform)\$(Configuration)\
so make this script look for "win32/release" before just "release". (It
would be better to do the same in the 2008 project files.)
2010-12-10 02:20:36 -05:00
Matthew Flatt
24a4fe52c7
typo
2010-12-09 20:08:35 -07:00
Eli Barzilay
9dc8cb8152
Solution and project files for Visual Studio 2010.
2010-12-09 10:59:49 -05:00
Eli Barzilay
a7ef05d749
Remove wxwindow includes that are now gone.
2010-12-08 22:13:38 -05:00
Eli Barzilay
977dbfcdf4
add missing include directories for debug mode
2010-12-08 22:10:21 -05:00
Matthew Flatt
4b89dde511
win32: fix libffi assembly command line
2010-12-07 12:21:18 -07:00
Matthew Flatt
43664610c7
mysterx fix for VS 2008
2010-12-06 15:00:59 -07:00
Eli Barzilay
49b9f42ae7
Remove the VCWebServiceProxyGeneratorTool tool, since the 2010 version says it is no longer supported.
2010-12-06 10:22:56 -05:00
Matthew Flatt
8913de4d95
more little project fixes
2010-12-06 07:31:19 -07:00
Matthew Flatt
2cc6a4f7af
win32: fix a type
2010-12-06 07:27:40 -07:00
Matthew Flatt
336eb4329e
fix mysterx output dir
2010-12-06 07:02:03 -07:00
Matthew Flatt
b7892a3404
msvc project: fix include dirs for Debug configurations
2010-12-06 06:33:07 -07:00
Matthew Flatt
011fa0bb90
improve build.bat and related clean-up
2010-12-06 06:25:39 -07:00
Matthew Flatt
9dc827dec3
win64: futures
2010-12-05 20:42:47 -07:00
Matthew Flatt
ff6172c44b
fix futures for CGC, where lightweight continuations are disabled
2010-12-05 13:13:16 -07:00
Matthew Flatt
8b49d11706
win64: mysterx and mzcom
2010-12-05 07:46:46 -07:00
Matthew Flatt
1f736f4ad8
win64: fix fixnum printing
2010-12-04 18:36:33 -07:00
Matthew Flatt
327b7ac6a1
unbreak Windows build
...
Reverses part of Mike's change for FreeBSD,
but I still think that mzconfig.h should have
covered that part of the FreeBSD problem
2010-12-04 18:36:32 -07:00
Matthew Flatt
fda0228631
fix broken inexact-reader configuration
...
Closes PR 11496
2010-12-04 16:22:17 -07:00
Matthew Flatt
e2429e8362
sync with schemef.h change
2010-12-04 16:21:10 -07:00
Mike Sperber
d8927ddd73
Unbreak build in FreeBSD.
...
One missing include, and two prototype conflicts.
--HG--
extra : rebase_source : 3c1c33cda0628e1351bd6dad5f6e1e03b5acd03a
2010-12-04 17:28:49 +01:00
Matthew Flatt
a56e547db6
win64: racket/draw and racket/gui
2010-12-04 08:29:34 -07:00
Matthew Flatt
c9e1bb2c46
fix printf configuration
2010-12-04 06:36:12 -07:00
Matthew Flatt
5065f39dec
win64: racket3m
2010-12-03 22:35:38 -07:00
Matthew Flatt
52f0a8cf5e
fix some integer-type mismatches
2010-12-03 20:26:26 -07:00
Matthew Flatt
7319b539f0
win64: initial CGC build
2010-12-03 20:11:53 -07:00
Matthew Flatt
8388f28f33
switch windows build to main libffi sources
2010-12-03 14:21:31 -07:00
Matthew Flatt
116d88577e
restore old behavior of _fixint' and
_ufixint'
...
Closes PR 11492
2010-12-03 14:20:38 -07:00
Matthew Flatt
3d3d71de00
fix sgc build
2010-12-03 09:14:19 -07:00
Matthew Flatt
b86349ad72
include <stdint.h> to get intptr_t
2010-12-03 09:11:11 -07:00
Matthew Flatt
8b8dd77ad6
change nearly all long's to
intptr_t'
...
and also changed vector, string, and byte string counts to
`intptr_t' instead of `int'.
Except for the vector count, etc. change, this is not really a
change for any currently supported platform, where `intptr_t'
is the same as `long'. It's a step to suporting Win64, though,
where `long' is the same as `int' instead of `intptr_t'.
2010-12-03 08:48:33 -07:00
Matthew Flatt
ffb56642de
win32: upgrade projects to VS 2008
2010-12-03 08:00:11 -07:00
Eli Barzilay
3419b747b6
Add trustInfo to avoid UAC, commented out for now.
2010-12-02 07:31:00 -05:00
Eli Barzilay
39806412ce
Indent manifest files.
2010-12-02 07:31:00 -05:00
Eli Barzilay
170905d332
New Racket version 5.0.99.4.
2010-12-02 03:50:10 -05:00
Kevin Tew
7d8c520480
Remove unused variable
2010-12-01 15:18:13 -07:00
Matthew Flatt
391adfcd3a
fix chaperone bug in `checked-procedure-check-and-extract'
2010-12-01 11:10:38 -07:00
Matthew Flatt
082515d6db
fix namespace-anchor on non-module namespaces
2010-12-01 06:52:11 -07:00
Eli Barzilay
5e5678b29d
New Racket version 5.0.99.4.
2010-12-01 03:50:10 -05:00
Matthew Flatt
d95e6f35c1
clean up
2010-11-30 15:51:12 -07:00
Matthew Flatt
ca8b32725e
fix bloking operations during a try-atomic
...
and remove old delim-cont support used by gr1
2010-11-30 15:08:16 -07:00
Eli Barzilay
8903d1b5c9
Patch Racket manifest file too.
2010-11-30 05:15:12 -05:00
Matthew Flatt
0b19c6e798
fix bug in composable continuations
...
--- as deiscovered by Casey's random tester
2010-11-27 09:52:11 -07:00
Matthew Flatt
5aff70029a
centralize glib loading as used by racket/draw and Gtk racket/gui
2010-11-26 11:20:15 -07:00
Matthew Flatt
0540359965
fix GC handling of cpointers with offsets
2010-11-25 10:38:43 -07:00
Eli Barzilay
41d6459e9d
New Racket version 5.0.99.3.
2010-11-25 11:00:41 -05:00
Matthew Flatt
aaa39873db
v5.0.99.3
2010-11-25 08:50:37 -07:00
Matthew Flatt
1034c9be4e
fix hashing on C pointers and missing tests
2010-11-24 15:44:18 -07:00
Matthew Flatt
bd28f2ab54
make `equal?' equate C pointers that refer to the same address
2010-11-24 13:41:11 -07:00
Matthew Flatt
142cdb800f
fix GC interaction for non-Racket thread and #:async-apply callbacks
2010-11-23 09:39:38 -07:00
James Swaine
dd44053911
Add execution time logging for futures.
2010-11-22 14:23:05 -06:00
Matthew Flatt
1762a9a872
fix set!' of
define-for-syntax'ed varable in `let-syntax' RHS
2010-11-16 20:18:11 -07:00
Matthew Flatt
a8b318da7a
fix ffi issue with pointer vs. gcpointer
...
- don't put a non-gcpointer into a pointer array during ffi call setup
- fix GCness of pointers to structs inside of structs
2010-11-14 15:54:17 -07:00
Eli Barzilay
4d2e0e4486
Fix bug
2010-11-13 09:39:51 -05:00
Eli Barzilay
885fa11bfe
Change the library download procedure.
...
Instead of downloading to the build directory and then copy files from
there to the target, download directly to the target. This way no
downloading is necessary when people use a fresh build directory.
2010-11-13 01:27:15 -05:00
Matthew Flatt
42a4465fb0
fix bytecode compiler bugs in tracking known-flonum arguments
2010-11-12 15:28:57 -07:00
Matthew Flatt
dc64b01015
tweak JIT generation of fixnum mult with a constant argument
2010-11-12 15:28:57 -07:00
Jay McCarthy
022d289059
Removing compiler warnings. I think most of the effected code is not even used in Racket
2010-11-11 15:59:50 -07:00
Matthew Flatt
635ba4537e
flonum unboxing repairs
...
- fix bytecode compiler's detection that fl+, etc. want flonum args
- fix JIT handling of known-flonum arguments in recursive self calls
where the argument would normally be cleared from the runstack
2010-11-11 14:39:45 -07:00
Eli Barzilay
e3592e10a8
Remove all mentions of UnicoWS.
...
Also, get rid of "uniplt.c", and fix "src/racket/src/string.c" and
"src/gracket/grmain.c" to use CharLowerBuffW().
2010-11-10 23:48:35 -05:00
Eli Barzilay
d58395cd0b
Provide library lists out of "get-libs.rkt" and make it possible to require it
...
without doing anything, use this in the distribution specs to include them.
2010-11-10 23:44:36 -05:00
Eli Barzilay
6a997be578
Make get-libs retreive core racket libraries too.
...
Also move it up a level, since it's a more generic tool now.
2010-11-10 20:40:49 -05:00
Eli Barzilay
614f100e8f
Move "src/worksp/extradlls" to libs.
2010-11-10 20:40:48 -05:00
Matthew Flatt
8d1827222c
improve docs in 'interior allocation mode and improve 'interior-atomic
2010-11-10 09:18:31 -07:00
Matthew Flatt
11f45cd2fd
fix plot build to use CC from Makefiles; fix fallout in Mac build
...
to clean up the hack of putting -m32 in CC instead of CFLAGS
2010-11-10 07:20:35 -07:00
Eli Barzilay
8e0c7477f6
drop "www." from "racket-lang.org" urls.
2010-11-09 20:11:14 -05:00
Matthew Flatt
a0a414465d
fix problem with multiple captures of the same continuation
...
--- a bug introduced when enabling full continuations
to escape past continuation barriers in v5.0.1
Closes PR 11409
2010-11-09 16:48:23 -07:00
Matthew Flatt
fc111f8909
pass CFLAGS and LDFLAGS along for plot library build
2010-11-09 06:55:37 -07:00
Eli Barzilay
015c3cc052
New Racket version 5.0.99.2.
2010-11-09 03:50:12 -05:00
Matthew Flatt
0a179481a5
fix continuation capture in continuation transferred to a thread
...
where the prompt is the implicit one at the thread's creation
Closes PR 11382
2010-11-08 18:06:07 -07:00
Matthew Flatt
90ac279096
add 'can-impersonate option to `make-struct-type-property'
2010-11-08 14:00:59 -07:00
Jay McCarthy
f8ca8f3677
Fixing undefined in unpack-tgz
2010-11-08 09:38:24 -07:00
Eli Barzilay
3de1b31eaf
Use `find-executable-path' to find a tar executable, wait for it to finish.
2010-11-08 10:10:54 -05:00
Matthew Flatt
5354e557d4
simplify plot-lib build
...
--- slower, but less of a hack
2010-11-08 06:31:46 -07:00
Matthew Flatt
7f67b6569c
v5.0.99.2: proxy' ->
impersonator'
2010-11-08 06:23:16 -07:00
Matthew Flatt
81488335cd
fix .tgz file sizes in get-libs and fix download to check size
2010-11-08 06:09:32 -07:00
Matthew Flatt
e402d68efc
fix `find-graphical-system-path'
2010-11-07 07:08:33 -07:00
Matthew Flatt
7a2cee44cd
fix `install-both' makefile target
2010-11-07 05:07:14 -07:00
Matthew Flatt
cccfdbe2c4
misc clean-up related to build changes
2010-11-06 22:08:15 -06:00
Matthew Flatt
5247073c53
add plot libs to win32 binary lib list
2010-11-06 18:49:45 -06:00
Matthew Flatt
514706446e
overhaul plot organization
...
by moving needed C source to src/plot and building during `make',
but stripping out the copies of gd, png, and zlib; instead, hook
a dc<%>-based back end into plot
2010-11-06 16:54:29 -06:00
Eli Barzilay
b212a4a39d
New Racket version 5.0.99.1.
2010-11-06 03:50:28 -04:00
Matthew Flatt
d065fb39e1
remove OpenGL testing from configure script
2010-11-05 19:20:59 -06:00
Matthew Flatt
263000a7b8
v5.0.99.1
2010-11-05 15:54:56 -06:00
Matthew Flatt
7a3e132a96
switch lib download site to download.racket-lang.org
2010-11-05 15:54:56 -06:00
Matthew Flatt
ecefaeee8b
remove more obsolete code
2010-11-05 15:54:52 -06:00
Matthew Flatt
fddcdcf797
fix gracketcgc link line
2010-11-05 15:54:52 -06:00
Matthew Flatt
58e1e37734
fix bug in ffi struct alignment
2010-11-05 15:54:51 -06:00
Eli Barzilay
3143192713
New Racket version 5.0.2.2.
2010-11-05 15:54:51 -06:00
Matthew Flatt
89e8801a26
v5.0.2.2
2010-11-05 15:54:51 -06:00
Matthew Flatt
38ead42fca
remove obsolete C code
2010-11-05 15:54:51 -06:00
Matthew Flatt
05cfffdf9e
v5.4.99.1, executable-yield-handler', and
make-bitmap' etc.
2010-11-05 15:54:50 -06:00
Matthew Flatt
901f27fcd0
finalization GC repair
2010-11-05 15:54:48 -06:00
Matthew Flatt
d2275f4179
level-2 finalization from ffi/unsafe and late-weak references
2010-11-05 15:54:47 -06:00
Matthew Flatt
40a65a46d2
overhaul GC finalization
2010-11-05 15:54:47 -06:00
Matthew Flatt
73dd8cc697
fix gc handling of ephemeron chains
2010-11-05 15:54:47 -06:00
Matthew Flatt
a7426c1c27
cocoa: fix startup -psn_ and file handling
2010-11-05 15:54:46 -06:00
Matthew Flatt
f57961fba4
cocoa ppc repairs
2010-11-05 15:54:46 -06:00
Matthew Flatt
8c5db384d4
more obj-c pre-2.0 fixes
2010-11-05 15:54:45 -06:00
Matthew Flatt
4360a45fa6
win32: single-instance support
2010-11-05 15:54:42 -06:00
Matthew Flatt
045da06ace
gtk: command line and single-instance support
2010-11-05 15:54:42 -06:00
Matthew Flatt
aa1322845e
disable immobile-box debugging code
2010-11-05 15:54:41 -06:00
Matthew Flatt
dd2dd733c0
win32: more break-handling repairs
2010-11-05 15:54:37 -06:00
Matthew Flatt
9702e7c6d3
win32: fix gracket console stdout, half-fix break signal
2010-11-05 15:54:37 -06:00
Matthew Flatt
815278fe43
Windows: use PLT_WIN_GTK for gtk; fix manifest embedding
2010-11-05 15:54:33 -06:00
Matthew Flatt
604afc1803
win32 widgets, mouse events, and cursors
2010-11-05 15:54:32 -06:00
Matthew Flatt
1402583ad2
win32 dialogs, etc.
2010-11-05 15:54:32 -06:00
Matthew Flatt
a853dac49f
upgrade mac cairo to 1.9.14
2010-11-05 15:54:19 -06:00
Matthew Flatt
9bbe4e5095
adjust win32 lib sizes for gtk 2.16
2010-11-05 15:54:18 -06:00
Matthew Flatt
15a7a2a006
cocoa tab-panel in no-border mode uses PSMTabBarControl
2010-11-05 15:54:17 -06:00
Matthew Flatt
ff57455150
manual font substitution for Mac OS X
2010-11-05 15:54:10 -06:00
Matthew Flatt
c42d95216e
auto-scroll canvases and frame status lines
2010-11-05 15:54:10 -06:00
Matthew Flatt
3b1b989ccc
fix configure merge
2010-11-05 15:54:02 -06:00
Matthew Flatt
f158effa98
fix bad Makefile merge
2010-11-05 15:54:01 -06:00
Matthew Flatt
471a8bc1f8
fix gracket init-file path
2010-11-05 15:54:00 -06:00
Matthew Flatt
0709870ef9
Windows build and config repairs
2010-11-05 15:53:59 -06:00
Matthew Flatt
51396e2baa
auto-download pre-built Win/Mac binaries during build
2010-11-05 15:53:59 -06:00
Matthew Flatt
233b131d9b
clarify some notes and comments
2010-11-05 15:53:58 -06:00
Matthew Flatt
5bef90e197
instructions and script for building 3rd-party OS X libraries
2010-11-05 15:53:57 -06:00
Matthew Flatt
aabc1cf5a7
fixes for Windows
2010-11-05 15:53:56 -06:00
Matthew Flatt
f3b7e1315f
gracket repair
2010-11-05 15:53:56 -06:00
Matthew Flatt
a574d9e7e4
C source and build changes to drop wx frm GRacket
2010-11-05 15:53:54 -06:00
Matthew Flatt
b489921d8b
fix `[unsafe-]fl{min,max}' in nested unboxed position
2010-11-04 14:10:27 -06:00
Kevin Tew
f4165eef31
[Places] add void to allowed messages
2010-11-04 09:31:33 -06:00
Matthew Flatt
aaafe86dd0
fix JIT bug related to ignored `let' bindings
...
Closes PR 11380
2010-11-03 06:48:47 -06:00
Matthew Flatt
44be06121c
fix JIT check for composing arithemtic with flonums in registers
2010-11-02 14:04:43 -06:00
Matthew Flatt
2a2aede4c5
avoid JIT internal error for misuse of unsafe flonum args
2010-11-02 13:39:28 -06:00
Kevin Tew
578b2d846b
[Places] fxvector support, fix compiler warning
2010-11-02 12:46:44 -06:00
Jay McCarthy
51f56c84f6
Fixing warning
2010-11-01 10:23:19 -06:00
Blake Johnson
7bffbc31a2
Avoiding cycles in everything but closures
2010-10-29 19:50:11 -06:00
Matthew Flatt
5d8e000d6d
swap vector*-ref' and
vector-ref', etc.
...
Merge to 5.0.2
2010-10-25 11:22:35 -06:00
Matthew Flatt
802e27eb85
fix typo in CPP macro
...
Merge to 5.0.2
2010-10-25 06:37:22 -06:00
Kevin Tew
9088b47a1d
[Places] fixes
2010-10-22 21:48:13 -06:00
Kevin Tew
c1f2dea1ed
cpuid assembly fix Merge to 5.0.2
2010-10-22 21:21:38 -06:00
Matthew Flatt
c512dbd6d3
fix bogus reordering of floating-point args in unboxing mode
...
Merge to 5.0.2
Closes PR 11272
2010-10-22 21:19:18 -06:00
Matthew Flatt
93ba544c60
fix PPC JIT `vector-length'
...
Merge to 5.0.2
2010-10-22 19:47:29 -06:00
Matthew Flatt
bb799ee9ee
fix problem with recursive prints in custom printers
...
Merge to 5.0.2
2010-10-17 19:32:17 -07:00
Matthew Flatt
68079d738d
fix 3m problem with --disable-jit and --disable-futures
...
Merge to 5.0.2
2010-10-17 08:53:44 -06:00
Matthew Flatt
aaeb21e0cc
fix --disable-jit plus --disable-futures
...
Merge to 5.0.2
2010-10-17 08:51:32 -06:00
Matthew Flatt
51f20afd0b
initialize `make-flvector' result with default 0.0s
...
Merge to 5.0.2
2010-10-17 06:35:09 -06:00
Eli Barzilay
f1982b6683
New Racket version 5.0.2.1.
2010-10-17 03:50:14 -04:00
Matthew Flatt
caa747e5c6
fix an interaction of `dynamic-wind' pre thunks and composable continuations
...
Merge to 5.0.2
2010-10-16 19:44:33 -06:00
Ryan Culpepper
23d1721ad3
Post-release version for the v5.0.2 release
2010-10-16 18:49:12 -06:00
Matthew Flatt
1203a89a0f
fix argument checking for set operations, and also fix recursive print
...
in the case that the current print is to a string with a limited
length
Closes PR 11313
2010-10-13 08:50:47 -06:00
Matthew Flatt
f695848dc9
gracket break-signal repair
2010-10-13 08:50:47 -06:00
Matthew Flatt
36d437a747
fix SIGINT handling thread dependency
2010-10-13 08:50:47 -06:00
Kevin Tew
21d94d7eb5
Fix shared-flvector
2010-10-12 13:19:21 -06:00
Matthew Flatt
5e162d94e2
fix scheme_set_wakeup_time()
2010-10-12 05:55:56 -06:00