Commit Graph

33155 Commits

Author SHA1 Message Date
Robby Findler
10cc76f22b remove stupid printfs 2014-05-31 01:58:13 -05:00
Robby Findler
eb223265f6 adjust online check syntax to record source locations for regular
runtime errors (not just syntax errors)
2014-05-31 01:54:24 -05:00
Robby Findler
ddb7477494 added invariant-contract
Jay implemented this
2014-05-30 21:03:11 -05:00
Matthew Flatt
2eef2ce409 optimizer: fix inference bug
The optimizer's inference that could incorrectly that that a
conditional produced a flonum (when it actually produced a fixnum or a
fixnum in one branch and flonum in the other).
2014-05-30 18:50:26 +01:00
Matthew Flatt
948a709b47 clarify comment in JIT implementation
Refines commmit c0ec9702e8.
2014-05-30 12:51:53 +01:00
Matthew Flatt
d1be74fc3b compiler letrec_check pass: recognize effect-free primitives
As in "Fixing Letrec". This improvement corrects a performance
regression with the revised expansion of R5RS `letrec`, which
wraps right-hand sides with `values`.

Besides detecting effect-free primitives, we have to fix the
treatment of the right-hand side for a multi-binding `letrec-values`
clause. For now, we conflate all of the bindings in a single
clause.
2014-05-30 12:51:21 +01:00
Matthew Flatt
71591a62a4 JIT: better code for floating-point constants on x86+SSE 2014-05-30 08:18:25 +01:00
Matthew Flatt
9b1a2e7b37 JIT: minor comparison repairs
Fix some comparisions that are written as pointer comparisons
when they're actually integer comparisons. Also, remove an
unnecessarily slow variant of pointer compairson for x86_64.
2014-05-30 07:51:05 +01:00
Matthew Flatt
c0ec9702e8 JIT: fix potential problem in transition to 64-bit jumps
On x86_64, the JIT compiler initially generates code with 32-bit
jumps, but it switches to 64-bit jumps when so much code is allocated
that it gets spaced out enough. That transition could happen during a
recursive call to the JIT compiler or while one place is in the JIT
and other installs a shared code pointer, in which case a bad jump
could be generated. This problem is unlikely to happen, but it looks
possible.
2014-05-30 07:07:28 +01:00
Matthew Flatt
a7d91f0f9c update Infogroep mirror contact 2014-05-29 15:39:08 +01:00
Matthew Flatt
3392ca36f7 pkg/db: make local package database's path relative to installation name
Instead of `(version)`, use `(get-installation-name)` for the path
of the local database used by the GUI package manager.
2014-05-29 13:42:57 +01:00
Matthew Flatt
f6a43b6b5d update RacketCon page to add the group-rate reservation link
Plus various adjustments to the format.
2014-05-29 13:35:18 +01:00
Matthew Flatt
f9d6edd8ec raco pkg catalog-archive: keep module & dependency info
Also fixes another relative-path problem.
2014-05-29 13:19:47 +01:00
Matthew Flatt
cc4d00efa6 raco pkg catalog-show: improve output format
Separate packages with a blank line, and fix formatting of
a module list.
2014-05-29 12:48:24 +01:00
Matthew Flatt
ab4172fbf2 raco pkg catalog-archive: parse sources like catalog-copy 2014-05-29 11:45:42 +01:00
Matthew Flatt
11aca05fb5 pkg/lib: fix pkg-catalog-update-local version selection
Also fixes problems with using a relative target path
with `raco pkg catalog-archive`.
2014-05-29 11:15:56 +01:00
Matthew Flatt
bf504bbaaf setup/parallel-build: repair test
Should have been part of 9e3b984463.
2014-05-29 09:58:29 +01:00
Matthew Flatt
92ffe436d6 racket/unit: repair test
Should have been part of bcafba989f.
2014-05-29 09:56:11 +01:00
Matthew Butterick
c4ebd6058e reduce size of manual-fonts.css 2014-05-29 09:49:08 +01:00
Matthew Flatt
9393592a80 optimizer: another little step toward type inference
Generalize some of the tracking and optimization of predicates
with respect to constructors and bindings.

This generalization exposed an old bug in the optimizer, which is
that information accumulated in the "then" branch of a conditional
was not reliably flushed when continuing analysis after the conditional.
2014-05-29 09:22:29 +01:00
Matthew Flatt
eac2ce0ef6 optimizer: ad hoc optimization of predicates applied to constructions
This is probably more of a job for Typed Racket, but maybe it's
useful to detect some obviously unnecessary allocations of lists, etc.

Closes PR 14532
2014-05-28 20:11:24 +01:00
Matthew Flatt
ca315e6f34 optimizer: more ad hoc car and cdr cases
Closes PR 14533
2014-05-28 19:55:42 +01:00
Matthew Flatt
dad9d001e1 optimizer: enable movement of constants that shouldn't be duplicated
Closes PR 14531
2014-05-28 19:55:41 +01:00
Eric Dobson
d2d9b2cce3 Fuse loops in promote-demote. 2014-05-28 08:48:07 -07:00
Matthew Flatt
2b33b8d966 scriblib/figure: make figure hyperlinks show start of figure
... instead of putting the figure's caption at the top of the
browser window.

I can't decide whether I like the technique here, which is to use
JavaScript to move a figure caption's <a name=...> when the page is
loaded.  On the one hand, fixing up HTML via load-time JavaScript code
seems ugly compared to generating the right HTML in the first place.
On the other hand, it simplifies the generatation of a
backend-independent Scribble document (i.e., don't try to generate
different target locations for HTML and Latex), and HTML-specific
behavior seems properly handled at the HTML/JavaScript level.
2014-05-28 13:14:39 +01:00
Matthew Flatt
81f6f32440 racket/private/class-internal: protect ids private to class implementation 2014-05-28 13:10:29 +01:00
Matthew Flatt
8ad889e2c4 racket/class: shave a little time from send 2014-05-28 13:10:29 +01:00
Eric Dobson
48de8a43c0 Remove #{id : Type} annotations from unit tests.
They don't work if the code is compiled and do if it isn't, which causes
interesting test case failures.
2014-05-27 22:06:18 -07:00
Matthew Flatt
ec96592702 optimizer: treat known procedure bindings, etc., as #t for if
Closes PR 14526
2014-05-27 09:27:15 +01:00
Matthew Flatt
5ad11c85e6 raco {make,decompile}: fix bytecode path calculation
Use `compiler/compilation-path` to take into account PLTCOMPILEDROOTS, etc.

Closes PR 14525
2014-05-27 09:27:15 +01:00
Matthew Flatt
dfcadcfacf compiler/compilation-path: added
Provides functions for finding the bytecode path for a source file,
which might depend on PLTCOMPILEDROOTS, etc.
2014-05-27 09:27:15 +01:00
Matthew Flatt
25d159eba7 doc repair to Reference 2014-05-27 09:27:15 +01:00
Jay McCarthy
97f087a391 Update SCG section based on Sam-TH and Greg's comments 2014-05-27 02:02:44 -06:00
Jay McCarthy
93400df33d typo 2014-05-27 02:02:44 -06:00
Matthew Flatt
e4189afb15 raco decompile: improve argument checking and reporting
Relevant to PR 14525
2014-05-27 07:17:11 +01:00
Eric Dobson
9b42fca050 Move the unconditional prop addition to with-lexical-env/extend-props. 2014-05-26 18:59:05 -07:00
Eric Dobson
13bcc61fd4 Make tc-let add unconditional prop. 2014-05-26 18:59:04 -07:00
Eric Dobson
daf087c801 Make tc-if not manage raw prop-envs. 2014-05-26 18:59:04 -07:00
Eric Dobson
fd2f1a8f22 Make tc-if use add-unconditional-prop. 2014-05-26 18:59:04 -07:00
Eric Dobson
62b41b39e7 Simplify how we add props after tc-if. 2014-05-26 18:59:04 -07:00
Eric Dobson
1dc33167c2 Add with-lexical-env/extend-props. 2014-05-26 18:59:03 -07:00
Eric Dobson
06f08b9e30 Make implied-atomic work on AndFilters as well. 2014-05-26 18:59:03 -07:00
Eric Dobson
309a3d706b Cleanup combine-props. 2014-05-26 18:13:52 -07:00
Eric Dobson
77255ba6d5 Cleanup env+. 2014-05-26 18:13:52 -07:00
Eric Dobson
0d85aa79a3 Make update do actual structural recursion over the path. 2014-05-26 18:13:52 -07:00
Eric Dobson
3f5f4c9a54 Delete case in tc-expr which is not needed. 2014-05-26 18:13:52 -07:00
Eric Dobson
684bde6c6e Fix name escape in tc/rec-lambda/check. 2014-05-26 18:13:52 -07:00
Eric Dobson
ebd7f8dc92 Cleanup function type creation in tc/rec-lambda/check; 2014-05-26 18:13:52 -07:00
Robby Findler
91e887300f use drracket:default-filters and drracket:default-extension in datalog 2014-05-26 19:38:33 -05:00
Robby Findler
e8bfd42d36 add drracket:default-filters and drracket:default-extension support 2014-05-26 19:38:33 -05:00