Commit Graph

2632 Commits

Author SHA1 Message Date
Matthew Flatt
e9269f1c4a optimize (let ([x (let~ ([y M]) N)]) P) to (let~ ([y M]) (let ([x N]) P))
which helps expose unboxing opportunities with multiple-value binding
2010-08-11 11:09:04 -06:00
Matthew Flatt
a6ec6a7e30 change bytecode optimizer's representation of `let'
- represent RHSes as before allocating stack positions
   for bindings, instead of after, which makes certain
   transformations simpler; this does not effect the
   final bytecode form that's is saved in a ".zo"
2010-08-11 10:29:50 -06:00
Matthew Flatt
4d1e97ec8d change start-atomic and end-atomic to disable breaks 2010-08-07 20:40:32 -05:00
Matthew Flatt
2696f3044c distinguish reasons to wait on end of atomic mode 2010-08-07 20:40:25 -05:00
Matthew Flatt
01558aec5a add way to constrain poll/select timeout from low-level evt 2010-08-07 19:30:46 -06:00
Matthew Flatt
f21864ee22 adjust atomic timeout handling to track atomic nesting 2010-08-07 19:30:40 -06:00
Matthew Flatt
df4da6bbff try again to make gmp _EXTERN_INLINE consistent 2010-08-06 13:34:12 -06:00
Kevin Tew
35a65f90c2 Places: refactor place-channel use 2010-08-05 11:05:54 -06:00
Matthew Flatt
e9687b5cf6 fix little C-code problems that trigger clang errors/warnings 2010-08-05 06:25:44 -06:00
Kevin Tew
3744e224b7 Places: fix sending place channels over place channels 2010-08-04 13:23:00 -06:00
Matthew Flatt
be95805548 try to fix libatomic_ops inline asm 2010-08-04 13:16:51 -06:00
Matthew Flatt
e3320067a9 clean up gmp _EXTERN_INLINE problem 2010-08-04 12:50:24 -06:00
Kevin Tew
637a8d9f84 fix mzrt_thread_stub refcount 2010-08-04 10:45:10 -06:00
Kevin Tew
bb72d26b93 Places: fix prefab serialization 2010-08-04 10:45:09 -06:00
Kevin Tew
60f0d0b69c Places: Fix symbol serialization 2010-08-04 10:45:09 -06:00
Kevin Tew
de11fd4351 initialize manual_unw 2010-08-04 10:45:09 -06:00
Matthew Flatt
9e71ccc1eb consult RLIMIT_AS instead of RLIMIT_DATA for OS-imposed memory limit 2010-08-01 09:18:07 -06:00
Kevin Tew
c7926001ef Places: fix prefab_struct_key 2010-07-29 09:14:17 -06:00
Matthew Flatt
79b782edad adjust configure with --enable-sdk to force gcc 4.0 instead of 4.2
Merge to 5.0.1
2010-07-29 07:28:43 -06:00
Blake Johnson
599ffacd47 Fixing bug in C reader for hasheqv literals 2010-07-27 13:39:43 -06:00
Eli Barzilay
fcc15c4f1e New Racket version 5.0.1.2. 2010-07-26 03:50:29 -04:00
Matthew Flatt
5f1aa418f3 add collection-file-path and splace collection trees at the file level 2010-07-25 11:01:09 -05:00
Matthew Flatt
fa68e23c37 add pen and cap support to pen-list% 2010-07-21 15:50:22 -06:00
Matthew Flatt
9fc9d9582e fix heuristic for caching stack traces 2010-07-21 15:50:22 -06:00
Matthew Flatt
5cfd52d224 fix collison of draw-bitmap with GC bitmap under Windows; merge to 5.0.1 2010-07-20 21:19:29 -06:00
Matthew Flatt
066e6f0ebb remove autom4te.cache, which is generated by autoconf
Merge to 5.0.1
2010-07-20 19:27:38 -06:00
Matthew Flatt
816f66f4c5 fix stack-trace clean-up code for x86_64
Merge to 5.0.1
2010-07-20 19:07:53 -06:00
Matthew Flatt
66ffb43cb4 Solaris x86_64 config
Merge to 5.0.1
2010-07-20 19:07:52 -06:00
Matthew Flatt
68c49a2228 avoid gmake-ism in racket makefile 2010-07-20 19:07:52 -06:00
Matthew Flatt
a2f3dad4f0 fix exit status of signal-terminated subprocess
Closes PR 10932
 Merge to 5.0.1
2010-07-20 10:30:03 -06:00
Matthew Flatt
167d048773 fix problem with radio buttons under X11
Closes PR 10951
 Marge to 5.0.1
2010-07-20 10:24:46 -06:00
Matthew Flatt
7cbe584fbc fix mistakes related to -X and `make install'
Merge to 5.0.1
2010-07-20 07:28:07 -06:00
Matthew Flatt
207114e7e9 add scheme_register_process_global() to C API 2010-07-19 09:23:26 -06:00
Matthew Flatt
b85934d2d4 extend C API to abort/capture cont skipping dynamic-winds 2010-07-19 09:23:21 -06:00
Matthew Flatt
5517909a5c move code-page free list declaration to use 2010-07-19 09:18:17 -06:00
Matthew Flatt
7a8efb446e fix MIPS bignum config and implementation
--- includes a fix for gmp with long long configuration,
 but that's now disabled for MIPS to keep things
 simpler
2010-07-19 09:18:17 -06:00
Matthew Flatt
31fc380e39 reduce the cost of nested full continuations
while allowing full continuations to be used to escape
  across a continuation barrier
2010-07-16 20:39:54 -06:00
Eli Barzilay
68e62bdc67 New Racket version 5.0.1.1. 2010-07-16 03:50:15 -04:00
Eli Barzilay
c733accd33 Post-release version for the v5.0.1 release 2010-07-15 17:22:23 -04:00
Matthew Flatt
0c6daba7ee Makefile correction related to disabling the FFI 2010-07-14 11:30:59 -06:00
Matthew Flatt
43c2d351df fix two more validator functions after prototype change 2010-07-14 10:06:56 -06:00
Casey Klein
f62b827fa9 Propagates bytecode verifier's result_ignored flag into boxenv bodies 2010-07-14 09:52:50 -05:00
Matthew Flatt
15aeee98e9 fix some file exe permissions 2010-07-14 08:04:20 -06:00
Matthew Flatt
a530109d17 adjust libffi hacks that avoid warnings 2010-07-14 06:24:49 -06:00
Matthew Flatt
90b586365f upgrade to latest libffi from git repo (between v3.0.9 and v3.0.10) 2010-07-13 21:12:59 -06:00
Matthew Flatt
a306a646e6 fix build for disabled FFI 2010-07-13 16:07:03 -06:00
Matthew Flatt
9743fd9381 fix mips preprocessor-decision mismatch 2010-07-13 16:07:03 -06:00
Ryan Culpepper
b8bf5c571a macro-stepper: add support for #%stratified-body 2010-07-13 09:22:51 -06:00
Matthew Flatt
818ac8f712 fix bug in new int-def parsing 2010-07-12 18:58:38 -06:00
Matthew Flatt
768a3721f9 add async-apply support to FFI 2010-07-11 14:59:40 -06:00
Matthew Flatt
49ad309630 allow full continuations to escape past a continuation barrier 2010-07-10 07:31:58 -06:00
Matthew Flatt
fe0609673c clean up 2010-07-09 06:44:33 -06:00
Eli Barzilay
e06b2db4c7 New Racket version 5.0.0.9. 2010-07-09 03:50:26 -04:00
Matthew Flatt
2a0bc393c0 fix bug in GIF and BMP loading for X 2010-07-08 19:40:21 -06:00
Matthew Flatt
c7c8f56e11 fix validation of module .zo exp-time content, and fix zo-marshal 2010-07-08 17:17:42 -06:00
Matthew Flatt
0eeb18f4d8 Improve the bytecode optimizer's ability to simplify `letrec's
to smaller `letrec' groups or even `let*'.
 The goal of the change is to avoid performance surprises
 when using internal definitions, especially when mixing
 experessions with definitions.
 It's a somewhat scary change. Besides the new transformation,
 the optimizer pass's coordinate system for `letrec' (and sometimes
 `let*') bindings changed.
 No standard benchmarks were harmed during the making of this
 optimization. (None were improved, either.)
2010-07-08 13:43:40 -06:00
Eli Barzilay
56077a1386 New Racket version 5.0.0.8. 2010-07-08 03:50:27 -04:00
Matthew Flatt
519d1ef8d1 make compiler slightly smarter about 0-value letrec-values bindings
which corresponds to code generated from experession that are
 mixed with internal definitions
2010-07-07 13:56:16 -06:00
Matthew Flatt
54216b5ced internal-definition contexts allow expressions mixed with definitions
while the new `#%stratified-body' form provides access to the old
 convention
2010-07-07 13:56:16 -06:00
Matthew Flatt
63ec520885 fix problem with Windows pipe writing 2010-07-06 10:59:16 -06:00
Kevin Tew
c9e84f9f67 [Parallel-Build] remove -u, -j 1 is uniprocessor, SETUP_OPTIONTS => PLT_SETUP_OPTIONS 2010-07-06 10:07:40 -06:00
Matthew Flatt
763a010fd3 allow deletion of open files in Windows 2010-07-06 07:02:14 -06:00
Matthew Flatt
96a6f56572 fix problem sharing Windows file handles to subprocess 2010-07-06 06:49:59 -06:00
Matthew Flatt
77c615898a more gitignores for Windows 2010-07-06 06:14:56 -06:00
Matthew Flatt
1e40e72652 fix non-futures build 2010-07-06 06:05:47 -06:00
Matthew Flatt
43e9e930d8 fix Windows narrow-path uses 2010-07-06 06:00:10 -06:00
Eli Barzilay
c4cb424700 New Racket version 5.0.0.7. 2010-07-06 03:41:53 -04:00
Matthew Flatt
6915250300 fix memory leak 2010-07-05 18:50:10 -06:00
Matthew Flatt
a29c165985 fix #ifdefs for `processor-count', especially for Windows 2010-07-05 18:17:58 -06:00
Matthew Flatt
04fa6c6acd add `subprocess-group-enabled' for process-group support
and fix problems with places and subprocesses
 and fix some mzrt thread setup and teardown issues
2010-07-05 17:51:26 -06:00
Kevin Tew
c968f45d85 Parallel build by default 2010-07-05 11:58:52 -06:00
Eli Barzilay
1033684dbb New Racket version 5.0.0.6. 2010-07-05 03:50:24 -04:00
Matthew Flatt
5c2ae50e45 add current-subprocess-custodian-mode 2010-07-04 12:42:25 -06:00
Matthew Flatt
fb730cb1c2 custodian box as synchronizable event 2010-07-04 10:42:38 -06:00
Matthew Flatt
608e228530 GC repirs for non-places (and non-future) and backtrace support
Repairs provided by Dmitry Dzhus
2010-07-04 07:45:34 -06:00
Matthew Flatt
99c5fea2fd export scheme_stx_extract_marks() from the C API, for now
related to PR 11014
2010-07-03 10:05:47 -06:00
Eli Barzilay
0ebb72ac50 New Racket version 5.0.0.5. 2010-07-03 03:50:26 -04:00
Matthew Flatt
ca48eff84c fix JIT bug specific to x86_64 and PPC 2010-07-02 18:52:27 -06:00
Matthew Flatt
439bc0a293 add flreal-part', flimag-part', `make-flrectangular', and unsafe variants 2010-07-02 16:08:15 -06:00
Matthew Flatt
eef7a8ba9d JIT inline real-part, imag-part, make-rectangular 2010-07-02 16:08:14 -06:00
Matthew Flatt
491ab3c12b expose internal display/write/print-limiting functionality via `printf'
addition of ~.
2010-07-02 16:08:14 -06:00
Eli Barzilay
8fc7f93798 New Racket version 5.0.0.4. 2010-07-02 03:50:25 -04:00
Matthew Flatt
3de7dbd2fd add chaperone-evt 2010-07-01 14:59:01 -06:00
Matthew Flatt
459e4fba82 fix C warnings due to function prototype mismatches 2010-07-01 08:52:12 -06:00
Eli Barzilay
e05cbae2af New Racket version 5.0.0.3. 2010-07-01 03:50:26 -04:00
Matthew Flatt
159daa43aa fix bytecode validator to accept letrec-bound flonum-consuming functions
Closes PR 11009
2010-06-30 22:03:36 -06:00
Matthew Flatt
3686875440 set configuration in executable before creating the initial environment
which is needed for correct allocation with places
2010-06-30 15:49:00 -06:00
Matthew Flatt
128d86da1f throw out attempt at more laziness in phase instantiation
keep some related refactoring, though
2010-06-30 10:40:03 -06:00
Matthew Flatt
47eb8ea815 add `identifier-prune-to-source-module' and use it in contract implementation
reduces DrRacket's initial footprint by 20-25% --- back to the v5.0 level
2010-06-30 10:40:03 -06:00
Matthew Flatt
459dff9f37 more laziness in instantiation of higher phases 2010-06-30 10:40:02 -06:00
Matthew Flatt
788a144118 convert (car (let .... (list X ....))) to (let ... X), etc. 2010-06-30 10:40:02 -06:00
Eli Barzilay
f05eb775eb New Racket version 5.0.0.2. 2010-06-29 03:50:23 -04:00
Matthew Flatt
47c7c1a27b JIT support for inexact->exact', add unsafe-fl->fx', etc. 2010-06-28 15:57:49 -06:00
Matthew Flatt
1254c54852 fix compiler bug related to `case-lambda'
Closes PR 10987
2010-06-27 11:02:26 -06:00
Matthew Flatt
07f567fcb3 fix arity handlign and reporting for chaperoned procedures 2010-06-27 08:59:58 -06:00
Matthew Flatt
22d8ff470c fix problem with JIT and safe fl ops
Closes PR 10982
2010-06-26 14:22:40 -06:00
Matthew Flatt
a9c058afb9 avoid unused-result gcc warnings 2010-06-25 17:48:43 -06:00
Matthew Flatt
439ef9bffb fix another bytecode-validation bug found by Casey 2010-06-25 17:48:43 -06:00
Matthew Flatt
0791b453bf fix JIT validator in no-slot-reuse mode 2010-06-25 08:57:33 -06:00
Matthew Flatt
09d70be7ae always keep stack aligned to 16 bytes in JITted code on x86 2010-06-25 07:17:27 -06:00