Matthew Flatt
2b2c44774f
fix scheme_basic_env() reset behavior
...
Also, fix test to that it DrDr will run it.
2012-01-02 15:03:49 +01:00
Eli Barzilay
3718600125
2011 -> 2012
2011-12-31 15:16:59 -05:00
Matthew Flatt
12baa07e7e
fix missing initialization
2011-12-31 06:32:13 -07:00
Matthew Flatt
4fe30cf433
fix cross-module inlining for multi-arity functions
...
First use of the function was determining a single arity for
the enclosing module, and that arity could trigger warnings
in addition to failures to inline. For example, using `map'
on 3 arguments would trigger incorrect warnings for later
uses of `map' on 2 arguments.
2011-12-28 20:35:53 -06:00
Matthew Flatt
580c952e46
fix locale sensitivity of inexact-number parsing
...
Closes PR 12070
2011-12-28 19:06:07 -06:00
Matthew Flatt
5cd324af15
src/README corrections (of out-of-date information)
2011-12-21 16:43:01 -07:00
Matthew Flatt
d020c75202
remove libfit
2011-12-21 16:17:56 -07:00
Matthew Flatt
24991f0c1a
win64: fix JIT SSE-based FP
...
XMM6-15 are preserved in the Win64 ABI
2011-12-21 11:27:24 -07:00
Matthew Flatt
58b111485f
int -> intptr_t fixes
2011-12-21 11:27:22 -07:00
Matthew Flatt
7fbe3c7224
avoid accidental XFORM-LOCK file in the future
2011-12-19 07:05:27 -07:00
Matthew Flatt
35d800f109
remove accidentally added file
2011-12-19 07:03:25 -07:00
Matthew Flatt
67f83bfd6d
win64: fix JIT
...
Repairs commit 558b03034a
.
2011-12-18 16:35:33 -07:00
Matthew Flatt
c9d214138e
make `choice-evt' take O(N) time for N arguments
...
Delay flattening nested `choice-evt's to `sync'.
2011-12-15 16:04:08 -07:00
Eli Barzilay
6960767508
New Racket version 5.2.0.7.
2011-12-15 03:50:18 -05:00
Matthew Flatt
ee775c3cc3
intern strings, etc. only when making syntax objects, not in `read'
...
Rename `read-intern-literal' to `datum-intern-literal'.
Interning is needed only in `read-syntax' or `datum->syntax' to
set up the invariants that the bytecode compiler needs for cross-module
optimization. When `read'ing numbers from a data file, meanwhile,
interning slows things down a lot and doesn't seem worthwhile.
2011-12-14 16:03:44 -07:00
Matthew Flatt
7ac1232c46
restore and fix chaperone-apply path
...
with another little performance improvement
2011-12-14 09:56:48 -07:00
Matthew Flatt
a7ddbedc7d
disable a part of the new chaperone eval path that isn't right
2011-12-14 09:17:47 -07:00
Matthew Flatt
558b03034a
streamline thread-local setup in JIT-generated code
...
Pass a pointer to the thread-local table on entry to JIT-generated
code, instead of having the JIT-generated code call a C function
to get the table. This doesn't seem to improve performance on my
machine, but it generates less code and is probably faster in
some cases.
2011-12-14 06:21:06 -07:00
Matthew Flatt
761a40d483
faster paths for chaperone application
2011-12-14 06:21:06 -07:00
Matthew Flatt
f7c506471b
remove redundant arity checking calling JIT-generated code
...
JIT-generated code has arity checking built in, but the
interpreter-to-JIT path unnecessarily checked arity before
jumping to JITted code.
2011-12-14 06:20:08 -07:00
Matthew Flatt
be2afcdcc9
add missing bytecode-unmarshal check
2011-12-10 11:43:59 -07:00
Matthew Flatt
bf90cf9028
fix problems printing symbols with unicode chars
2011-12-10 11:43:59 -07:00
Eli Barzilay
ccbd5d51fd
New Racket version 5.2.0.6.
2011-12-10 03:50:13 -05:00
Matthew Flatt
287d5cedf5
add `pseudo-random-generator-vector?'
...
Also, adjust docs to clarify that `vector->pseudo-random-generator!'
can be used as a more complete seeding function.
2011-12-09 09:12:17 -07:00
Vincent St-Amour
c980abf35b
Add comments to the inliner.
2011-12-08 17:13:28 -05:00
Matthew Flatt
4a387c5b6a
add some missing checks on bytecode parsing
...
The `tests/racket/stress/fuzz' test fails much less frequently,
though problems certainly remain.
2011-12-08 13:42:09 -07:00
Matthew Flatt
657be87c66
generalize gcd' and
lcm' to work on rationals
2011-12-08 09:25:39 -07:00
Matthew Flatt
958352eefc
fix futures bug related to GC
...
When a future is blocked on JIT generation, a lightweight closure
is captured, and then the future moves on, the runtime thread would
correctly shift the on-demand JIT argument to the captured copy
of the runstack. However, it would also add 2 to that pointer
to use as the argv array, and the captured runstack is not allocated
to allow interior pointers, so a GC during on-demand JIT could
crash. The solution is to keep an offset alongside the argv pointer
during JITting.
2011-12-06 09:31:52 -07:00
Matthew Flatt
4f669f0d7e
fix futures handling of tail-call results
2011-12-05 19:11:32 -07:00
Matthew Flatt
55b6670084
mysterx patch from Antonio Menezes Leitao
2011-12-05 19:11:32 -07:00
Kevin Tew
9f7e730a77
another round of unused variable clean-ups
2011-12-05 19:11:32 -07:00
Matthew Flatt
b25d1b42d6
minor clean up
2011-12-05 19:10:22 -07:00
Matthew Flatt
8dd4f1de21
fix futures bug
...
When `(continuation-mark-set-first #f ...)' should produce #f and
the continuation is lightweight-captured, the result was NULL
instead of #f.
2011-12-05 19:10:22 -07:00
Matthew Flatt
8b3fae79c2
fix no-futures, no-places build
2011-12-04 08:07:13 -07:00
Matthew Flatt
59e41ce05f
simpler stack-space check for Racket thread creation
2011-12-04 06:52:33 -07:00
Matthew Flatt
885bf6555f
fix future resume in runtime thread with extra stack space
...
Also, fix the possibility that a future can shift from RUNNING
to PENDING while the runtime thread is checking PENDING then
RUNNING.
2011-12-04 06:52:33 -07:00
Matthew Flatt
333ffd7ede
JIT tweak
2011-12-04 06:52:33 -07:00
Matthew Flatt
be80e7d864
fix an over-eager reordering by the bytecode compiler
...
The over-eager transformation could be space-unsafe, and it
could duplicate an unsafe operation whose result is used only
once in a function that eds up being inlined multiple times.
2011-12-04 06:52:33 -07:00
Matthew Flatt
db3878e309
another futures bug fix
2011-12-03 07:35:39 -07:00
Matthew Flatt
09d4d6c507
avoid uninitialized-variable warning from C compilers
2011-12-03 05:45:41 -07:00
Matthew Flatt
829e894af2
flatten (begin ... (begin ...)) in last pass of compiler
...
Flattening just makes bytecode slightly smaller.
2011-12-02 20:46:00 -07:00
Matthew Flatt
dd5d1c9046
another futures bug fix
2011-12-02 16:47:59 -07:00
Matthew Flatt
745c4b6470
fix another way that `racket/gui' instances can leak
2011-12-02 15:48:29 -07:00
Matthew Flatt
7397f710e2
fix reconstruction of `provide' forms in module expansion
2011-12-02 13:58:39 -07:00
Matthew Flatt
96330556e7
fix secondary hash-code for weak hashes
2011-12-02 12:11:52 -07:00
Matthew Flatt
67c3aa4b2d
improve comments on `future_t' fields; remove a redundant field
2011-12-02 09:58:22 -07:00
Matthew Flatt
c2fac607f0
another futures bug fix
2011-12-02 09:41:59 -07:00
Matthew Flatt
efe165aeac
futures bug fix
2011-12-02 08:04:52 -07:00
Matthew Flatt
48524906d8
fix bug in cross-module inliner
2011-12-01 14:05:42 -07:00
Kevin Tew
78c2d7b9ab
fix variables assigned but not referenced
2011-12-01 14:05:42 -07:00