Commit Graph

3283 Commits

Author SHA1 Message Date
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
Matthew Flatt
ca2dd17dcb fix for `vector-{ref,set!}' on chaperone/impersonator on some platforms
--- fixes a81917a2692; drop this commit if that one is dropped
2011-07-04 18:04:38 -06:00
Matthew Flatt
a81917a269 JIT: faster path for `vector-{ref,set!}' on chaperone/impersonator
This commit probably should be removed from the v5.1.2 branch
 (after the branch is created).
2011-07-04 16:26:09 -06:00
Matthew Flatt
97d5e3fa02 win32: fix place-specific scheduling semaphore 2011-07-04 08:27:33 -06:00
Jay McCarthy
467833d4e7 Initializing flag to remove GCC error 2011-07-02 12:13:21 -07:00
Matthew Flatt
8aa4ff1b06 syntax taint repairs 2011-07-02 10:08:15 -06:00
Matthew Flatt
69434370cb allow fd 0 to be used as place signaling pipe 2011-07-01 15:04:39 -06:00
Matthew Flatt
e46a470f8d places fixes: Windows leaks, custodian force-exit, stdio interaction 2011-07-01 14:31:56 -06:00
Matthew Flatt
3078d5c494 clean up place exit handling
- don't crash on multiple kills or waits
 - allow the OS to reclaim the place thread when it exits on its own
2011-07-01 09:30:11 -06:00
Matthew Flatt
0f42552a0e place fd clean-ups
and better handling of a place-creation failure due to pieces
 at the OS layer
2011-07-01 09:30:10 -06:00
Eli Barzilay
faf74c789f New Racket version 5.1.1.8. 2011-07-01 03:50:21 -04:00
Matthew Flatt
835bbe2874 fix typo in "place.c" 2011-06-30 10:59:17 -06:00
Matthew Flatt
d4acf4f07a fix another problem with attempted overflow clean-up 2011-06-30 10:53:19 -06:00
Kevin Tew
c3059f7e82 place-dead-evt 2011-06-30 10:02:21 -06:00
Matthew Flatt
ae8bbaef90 fix attempt to clean up overflow checking 2011-06-30 09:55:55 -06:00
Matthew Flatt
37e4ea497b check for integer overflow in vector reader syntax
Closes PR 12008
2011-06-30 09:46:02 -06:00
Matthew Flatt
e9477c17b4 fix JIT-generated `apply-values' for chaperones
Closes PR 11981
2011-06-30 09:28:07 -06:00
Matthew Flatt
b86e96cf90 fix optimizer bug that reordered past a mutable variable
Closes PR 11987
2011-06-30 09:17:42 -06:00
Matthew Flatt
737a3bd91a fix too-early large-allocation check
Closes PR 12000
2011-06-30 08:56:28 -06:00
Matthew Flatt
0025ff968d fix JIT bug
that caused incorrect compilation of a non-tail call as
 a self non-tail call (but why hasn't this deep and old bug caused
 more trouble over the years?)
2011-06-30 08:24:42 -06:00
Matthew Flatt
1af8cd07ad minor clean-up 2011-06-30 08:24:41 -06:00
Matthew Flatt
011b79180b fix another stx-vs-#f bug 2011-06-29 20:48:11 -06:00
Matthew Flatt
e16e36e49c fix problem pushing instantiation-time inspector 2011-06-29 20:21:40 -06:00
Eli Barzilay
01867f12b1 New Racket version 5.1.1.7. 2011-06-29 21:47:55 -04:00
Matthew Flatt
daa6f1aed3 fix #f misused as syntax object 2011-06-29 19:46:04 -06:00
Matthew Flatt
1160d3df62 remove syntax certificates; add syntax taints 2011-06-29 19:15:48 -06:00
Eli Barzilay
40124a0619 A long overdue scan to eliminate files without terminating newlines.
(DrRacket should really do that.)
2011-06-28 02:01:41 -04:00
Kevin Tew
d7785a3520 Add mark call for place->mref 2011-06-27 09:16:45 -06:00
Matthew Flatt
bba4d413e8 add usual prefix to configure flag report 2011-06-20 10:28:35 -06:00
Matthew Flatt
047b4b6072 note on cross-compilation 2011-06-20 06:50:59 -06:00
Matthew Flatt
5c9f1a487e 3m-only build fix 2011-06-20 06:50:58 -06:00
Matthew Flatt
56ee3049b2 switch configure' to use "$host_..." instead of uname'
to support cross compilation;
 the main risk of this change is that I might have some
 GNU canonical system names wrog, since they're different
 from `uname' results
2011-06-19 11:39:38 -06:00
Matthew Flatt
49d8274662 darwin ppc patch from libffi 2011-06-19 11:10:42 -06:00
Matthew Flatt
7448f21fa5 add --enable-racket=<path> to configure
to set the Racket executable to run when building and
 installing Racket
2011-06-19 10:39:18 -06:00
Matthew Flatt
dd700b8430 PPC repairs 2011-06-18 07:26:53 -06:00
Matthew Flatt
5a5800d513 place-specific low-level "sleep" function
to make racket/gui work right with places (running
 in just one of them) on Mac OS X
2011-06-17 17:03:21 -06:00
Matthew Flatt
8e5bfee99e remove "place_" prefix from static functions 2011-06-17 17:03:20 -06:00
Matthew Flatt
b1e47eba45 add `place-message-allowed?' and fix related problems
Closes PR 11983
2011-06-17 10:33:27 -06:00
Eli Barzilay
109fff2abe New Racket version 5.1.1.6. 2011-06-17 03:50:16 -04:00
Matthew Flatt
523cec90c6 fix JITted multi-valued `begin0' in a single-value context
and generate simpler code for constrained cases, including
 single-value contexts and ignored results

 Closes PR 11979
2011-06-16 18:16:02 -06:00
Matthew Flatt
56423f330e `procedure-arity-includes?' reports #f for keyword-requiring procs
by default; a new optional argument restores the old behavior
  (but the default behavior is consistent with the old docs and with
  the vast majority of existing uses)

 The implementation is ugly for performance reasons. A new primitive
  `prop:arity-incomplete' property determines when to return #f for
  `procedure-arity-includes?' in default mode. A nicer implementation
  would be to redefine `procedure-arity-includes?' at the kw-proc level,
  but the bytecode optimizer's and JIT's treatment of the built-in
  `procedure-arity-includes?' is important. The implementation choice
  could be revisited after cross-module inlining is implemented.

 Closes PR 11978
2011-06-16 12:36:16 -06:00
Matthew Flatt
83d002a9aa fix interaction of `port-commit-peeked' and port positions
--- includes a small hack to the `make-input-port' protocol
     to specially handle a byte-string result as "true"
     from the `commit' proc
2011-06-16 08:17:14 -06:00
Kevin Tew
939f0b1c0b rename place-dynamic to dynamic-place 2011-06-11 15:36:16 -06:00
Matthew Flatt
80c4396dc1 JIT-inline struct type property predicates and accessors 2011-06-11 08:35:34 -07:00
Kevin Tew
4ee71096e7 Places: a few more send receive to get put renames 2011-06-11 02:07:28 -06:00
Kevin Tew
4dff43d4c5 place-wait returns void for now 2011-06-11 02:07:28 -06:00
Kevin Tew
1473b7775f Places: rename place and place/anon 2011-06-10 11:07:01 -06:00
Kevin Tew
21f7109204 Places: rename send receive to put get 2011-06-09 23:48:55 -06:00
Kevin Tew
b6225f66a5 Fix mzrt_cas for GCC < 4.1 2011-06-04 14:32:22 -06:00
Kevin Tew
a4e72128af Remove unused atomic ops, use gcc intrinsic 2011-06-03 13:50:26 -06:00
Matthew Flatt
d74aa0c998 try to fix CAS for Mac OS X PPC 2011-06-02 16:45:45 -07:00
Matthew Flatt
b24c387dde add PLTDISABLEGC environment variable 2011-06-02 16:20:20 -07:00
Jose Lopes
84415dd4a9 Fixed bug that prevented from accessing ActiveX components that did not expose type information.
Signed-off-by: José Lopes <jose.lopes@ist.utl.pt>
2011-05-30 07:48:18 -06:00
Matthew Flatt
bbfeb85440 mak argument to `make-immutable-hash' optional 2011-05-30 07:38:57 -06:00
Matthew Flatt
f3e1cf10aa change `hash-count' to take the lock; fix docs 2011-05-30 07:38:57 -06:00
Matthew Flatt
9f1c2147be refine comment that is possibly misleading
on code that might not turn out to be useful
2011-05-30 07:38:57 -06:00
Matthew Flatt
5dfd17d0b9 linux: use /proc/self/maps to find precise stack base 2011-05-29 09:41:07 -06:00
Matthew Flatt
32522f1f68 fix mac non-futures, non-places build 2011-05-27 20:12:01 -06:00
Eli Barzilay
13b2adc18c Switch the license text from LGPLv2 to LGPLv2.1.
This makes it correspond to the license page we have on downloads that
talks about the "lesser" GPL rather than the "library" one.

Also, change the file name to have a more friendly .txt suffix, and add
some more responsible properties for things in doc/release-notes.
2011-05-27 18:09:55 -04:00
Matthew Flatt
b548bc563c fix timer thread double registration 2011-05-25 14:53:19 -06:00
Kevin Tew
8b334e1e1b Smaller stacks for green thread timers 2011-05-25 12:02:07 -06:00
Tony Garnock-Jones
7615c2a512 Implementation, documentation and tests for adding a failure-result to property accessor procedures. 2011-05-24 16:53:52 -04:00
Vincent St-Amour
d314331858 Added comments to atan. 2011-05-24 10:57:30 -04:00