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