Commit Graph

3608 Commits

Author SHA1 Message Date
Matthew Flatt
facb411a63 fix problems with place termination 2012-02-29 20:20:55 -07:00
Eli Barzilay
f7c67b49a4 Big newline at EOF scan. 2012-02-29 00:28:11 -05:00
Matthew Flatt
829820e458 fix problem with continuations
A tail call to a continuation could trigger a GC at a bad time
while checking whether an escape variant of the contination
is valid.
2012-02-28 15:35:38 -07:00
Matthew Flatt
70ab6d482a fix problem with continuations
The problem was a misplaced allocation that could cause a GC
when the thread is in an unstable state in the process of
applying a continuation.
2012-02-28 15:35:38 -07:00
Matthew Flatt
534886dbe4 limit time for getting a native (JIT) stack trace
It's possible for a deep recursion to be all in C instead of
JIT-generated code, in which case the caching code for
`current-continuation-mark' cannot kick in to make the operation
effectively constant time. Bail out (to keep things constant time) if
that happens.
2012-02-27 14:46:03 -07:00
Kevin Tew
3e0e4a3f6b Allow hashes across place channels. 2012-02-27 10:11:04 -07:00
Matthew Flatt
0dcc96c5eb fix JIT, `unsafe-struct-ref', chaperone, and procedure property 2012-02-27 06:57:44 -07:00
Eli Barzilay
3426b57fb9 New Racket version 5.2.1.7. 2012-02-27 03:45:15 -05:00
Matthew Flatt
188c6fdc66 add `log-max-level'
As suggested by Tobias Hammer
2012-02-26 22:13:02 -05:00
Matthew Flatt
21a07ae9d6 fix problems with `(_fun #:in-original-place? #t ....)'
The old implementation could cause deadlock by blocking on a semaphore
while waiting for the original place to run a callback, but a master
GC might be needed (and the blocked place wouldn't get the signal).

Beside fixing that problem, a potential memory leak is fixed in
calling an ffi funcition and having a Racket->C unmarshaling fail.
Also, the GC marking routine for a `place' value didn't reference the
place's underlying `place_obj' value.
2012-02-26 22:13:01 -05:00
Matthew Flatt
dc1d4e80dd fix incorrect GC decls hard-wired into xform
Closes PR 12602
2012-02-26 03:58:21 +00:00
Matthew Flatt
a025f7e9c8 fix bug in bytecode optimizer
The bug is triggered by unsafe flonum operations, a
conversion that tries to make the arguments more unboxable,
and a `lambda' form within an argument to the unsafe
operation.

Closes PR 12587
2012-02-22 06:54:26 -07:00
Eli Barzilay
c007c345f9 A bunch of more typos like the ones in David's commit. 2012-02-21 14:21:43 -05:00
Matthew Flatt
6371df556c yet anther attempt to work around the Mac 10.7 localtime() bug
I now think the problem is likely to be realted to values
that do not fit into a signed 32-bit integer. Check for
the OS version and reject such integers.
2012-02-20 08:09:06 -07:00
Stephen A. Goss
11f7dfbdcc make it clear how to select a language from command line 2012-02-20 08:09:05 -07:00
Matthew Flatt
0e40cfcdc8 declare `char' fields used as signed
With some compilers or platforms, `char' means an unsigned
value, so we have to be explicit with `signed char'.
2012-02-19 06:25:29 -07:00
Matthew Flatt
11de33d4ff remove MysterX DLL, replace with wrapper around `ffi/com'
The ActiveX part of MysterX is gone. The `ffi/com' re-imeplemtnation
provides only core COM support.

The "mysssink" DLL is still needed, and its source is still
in the tree, but it is downloaded in the same way as other
pre-built DLLs. The DLL no longer needs to be registered with
regsvr32.
2012-02-17 06:37:19 -07:00
Matthew Flatt
566e9bb8bf make MzCOM /v report errors 2012-02-17 06:36:23 -07:00
Matthew Flatt
a71ac65a27 fix CPP mistake 2012-02-17 06:36:23 -07:00
Matthew Flatt
084278fabc handle-evt' cannot wrap handle-evt'
The prohbition against `handle-evt' on `handle-evt' is as
document and as originally intended. I'm not sure why it
was allowed.

Existing programs that use `handle-evt' incorrectly
can break. I found and fixed one incorrect use and one
questionable use in the Racket tree (which is a small
minority of the uses of `handle-evt' in the tree).
2012-02-15 18:59:24 -07:00
Eli Barzilay
63b8d3dd91 New Racket version 5.2.1.6. 2012-02-15 03:30:15 -05:00
Matthew Flatt
6cd2e3c71b add `prop:cpointer'
Extend `define-cstruct' to support #:property specs, which causes
the constructor and C->Racket coercsions to wrap the pointer in
a structure instance with the specified properties. Of course,
the wrapper structure has a `prop:cpointer' property so that the
wrapper can be used transparently as a C pointer.

Add missing tests and documentation for the id`->list', `list->'id,
id`->list*', and `list*->'id bindings created by `define-cstruct'.
2012-02-14 14:25:55 -07:00
Matthew Flatt
108ae59157 fix lib sizes
(I changed the wrong platform previously.)
2012-02-13 16:27:52 -07:00
Matthew Flatt
2c479683d1 add --launcher'/-l' flag to `raco exe' to create launchers
This addition triggered several other changes:

 * -k for a Mac OS X embedding is now relative to the __PLTSCHEME
   segment (which means that executables won't break if you strip
   them, for example)

 * the command-line no longer has a limited size for Mac OS X
   launchers and embedding executables

 * Mac OS X GUI and Windows launchers record the creation-time
   collection path, unless they are created as "relative" launchers
2012-02-13 16:27:51 -07:00
Matthew Flatt
af92773407 cocoa 64-bit: Core Text patch for Pango
With this patch, the font fallback mechanisms in `racket/draw'
can locate suitable replacement glyphs, the same as for the
Pango ATSUI back end.
2012-02-13 10:26:56 -07:00
James Swaine
7114f08c0b Added tests for would-be-future
Minor fixes to would-be-future
Added futures-enabled? primitive
Added primitive name to future-event struct
2012-02-12 01:32:30 -06:00
Sam Tobin-Hochstadt
5cf5175aeb Improve `get-libs' error message. 2012-02-11 16:00:50 -05:00
Matthew Flatt
11389e7a8c remove unused local 2012-02-11 08:26:27 -07:00
Ryan Culpepper
7882dadc3a fixed scheme_wrong_type call (wrong index) 2012-02-10 22:12:54 -07:00
James Swaine
a5676e9a68 Added would-be-future 2012-02-10 20:05:43 -06:00
Matthew Flatt
7e7c45f100 fix race condition in subprocess handling (when places enabled) 2012-02-10 14:02:12 -07:00
Matthew Flatt
6abb87069c fix error-message formatting
Closes PR 12565
2012-02-10 06:17:19 -07:00
Matthew Flatt
937cdf51d7 change `current-write-relative-directory' to support more path conversions
In particular, allow a pair of a relative-to directory and a base
directory. Paths that syntactically extend the base directory are
recorded as relative to the relative-to directory (which must
syntactically extend the base directory).

The compilation manager now sets the parameter to a pair with
the base directory as the main collection directory, if the source
file's path extends that directory's path.

This generalization solves problems created by cross-module inlining,
where the source location of a procedure in bytecode can now be in a
different file than the enclosing module's file.

Also add a test that checks whether the build directory shows up
in any ".zo", ".dep", or documentation ".html" files.

Closes PR 12549
2012-02-10 06:17:18 -07:00
Matthew Flatt
77bd401a2d fix problems with marks and module for-syntax
Closes PR 12538
2012-02-09 17:34:15 -07:00
Matthew Flatt
a08a22bedb win32: accept Unicode error-message strings from the system
Closes PR 12559
2012-02-09 16:49:34 -07:00
Kevin Tew
4f3bec1792 pr# 12542 fixed - All symbol types are now allowed across place channels. 2012-02-08 10:21:59 -07:00
Kevin Tew
2de9de9b26 place-channel-put: value not allowed in a message
prints out just the invalid object, not the whole message
2012-02-07 13:07:02 -07:00
Matthew Flatt
8cf49dfdb1 fix format of some error messages
Closes 12536
2012-02-04 05:32:00 -07:00
Eli Barzilay
456fcd8aeb There is no "gc2/xform-collects" in the gracket build tree. 2012-02-04 03:03:18 -05:00
Eli Barzilay
dc7d14580f New Racket version 5.2.1.5. 2012-02-03 03:30:20 -05:00
Matthew Flatt
2f5430e227 update pre-built libraries 2012-02-02 08:04:12 -07:00
Sam Tobin-Hochstadt
4ea306ed61 Rewrite install code in '#%kernel to avoid startup time. 2012-02-02 06:32:55 -07:00
Robby Findler
f5a8c62823 Fix for NetBSD from Aleksej Saushev 2012-02-01 20:09:29 -06:00
Robby Findler
e4b1ef1b6e a second attempt to fix the icns files 2012-02-01 06:41:11 -06:00
Robby Findler
5db88e3ea7 added in smaller size icons in an attempt to see if that was the problem on
10.5 and 10.4
2012-01-31 21:11:16 -06:00
Matthew Flatt
ef846caaa1 tighten bound for Mac OS X 10.6 localtime() hack
It looks like my bound for last time was too conservative,
in that I looked for the lowest number that didn't seem
to fail in 10.6. The range of failing values is apparently
not continuous.

I've tightened the bound to match the lowest
number that produces a useful result on my 10.7 machine,
assuming that it works for a continuous range there.
(The new bound is higher than the number previously used as
a lower bound.)

Merge to 5.2.1
2012-01-30 14:03:35 -07:00
Matthew Flatt
6b6beb601e add PLT_VALIDATE_COMPILE to enable extra checking of the compiler
Setting the environment variable causes the bytecode compiler to run
the bytecode validator (which is normally applied to input from a
bytecode file) immediately on all of the compiler's own results.
2012-01-30 10:31:37 -07:00
Matthew Flatt
706d5026ac fix bytecode compiler bug
Certain `lambda'-lifting operations can cause information
about the flonumness of a variable to get lost, leading
to a mismatch between the closure's flags and flags on
a variable reference. (The bytecode validator could detect the
bug when loading the broken bytecode. The broken information,
meanwhile, was only used by the JIT.)
2012-01-30 10:30:51 -07:00
Eli Barzilay
4f52392dfc New Racket version 5.2.1.4. 2012-01-27 03:35:17 -05:00
Matthew Flatt
13a5b0c623 change `ffi-lib' to not make library symbols global by default 2012-01-26 09:30:25 -05:00