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
7fdf264e1d
raco {make,decompile}: fix bytecode path calculation
...
Use `compiler/compilation-path` to take into account PLTCOMPILEDROOTS, etc.
Closes PR 14525
original commit: 5ad11c85e6
2014-05-27 09:27:15 +01: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
979299850e
raco decompile: improve argument checking and reporting
...
Relevant to PR 14525
original commit: e4189afb15
2014-05-27 07:17:11 +01: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