Commit Graph

3333 Commits

Author SHA1 Message Date
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