Matthew Flatt
eff53cde87
treat FFI primitives like other primitives internally
...
This change paves the way for JIT-inlining FFI operations
such as `ptr-ref`. Even without JIT treatment, the change
slightly reduces the overhead for calling FFI primitives.
2014-02-25 06:18:02 -07:00
Matthew Flatt
46523d307b
fix PLT_VALIDATE_COMPILE interaction with 3-D code
...
Makes the "optimize.rktl" test suite pass when PLT_VALIDATE_COMPILE
is defined.
2014-02-25 06:18:02 -07:00
Robby Findler
84b4294345
adjust probability of zero for the enumerator in the various
...
benchmarks to try to get a better balance between generation
time and size of terms
2014-02-25 06:23:40 -06:00
Eric Dobson
40e3c50db7
Add missed optimization tests for add1/sub1.
2014-02-25 00:30:52 -08:00
Eric Dobson
5f636af86a
Revert split of float-ops because the remaining ones never trigger.
...
flreal-part only is valid on float-complex numbers and the code in
float-complex.rkt already covers it.
2014-02-24 22:40:36 -08:00
Asumu Takikawa
ac6ec3b43b
Add TR rep-tests to the main unit tests file
...
Forgot to make this change in commit
7907320733
2014-02-25 01:34:43 -05:00
Asumu Takikawa
2d46d430b7
Remove some debugging code in subtype checker
2014-02-25 01:22:42 -05:00
Asumu Takikawa
7907320733
Use the correct index for unsafe-Type-key
...
The unsafe operation didn't return the same result as
the safe operation, meaning any checks related to type keys
were giving the wrong result. As a result, some subtyping
clauses were not triggered.
2014-02-25 01:22:42 -05:00
Robby Findler
2b3aa98330
fix package dependencies
...
broken by commit e77b5f43a7
2014-02-24 22:12:11 -06:00
Robby Findler
e77b5f43a7
drop (indirect) dependency on racket/gui/base
2014-02-24 20:51:08 -06:00
Asumu Takikawa
7585581f00
Fix infinite loop in List: expander in subtyping
...
The match expander calls `resolve` during subtyping, which
is a problem for types that recur through the environment like
Struct types because it doesn't coordinate with the cache
for subtyping.
Closes PR 14364
2014-02-24 18:07:02 -05:00
Robby Findler
5283312044
adjust enumeration-based generator to make terms that are less
...
likely to consume all available memory
2014-02-24 12:24:47 -06:00
Vincent St-Amour
193e102b25
Better layout for module view.
2014-02-24 12:30:25 -05:00
Vincent St-Amour
6561bf706f
Make path manipulation in contract-profile more robust.
2014-02-24 12:30:25 -05:00
Max New
229e0c8097
Fix bad diff
2014-02-24 11:27:37 -06:00
Max New
3a98152f33
Use new random natural function for enum benchmarks
2014-02-24 11:27:37 -06:00
Max New
0a3dcf3288
Add enum to stlc-sub, rbtrees benchmarks
2014-02-24 11:27:37 -06:00
Max New
1ef73b146c
Add enum to poly-stlc bench
2014-02-24 11:27:37 -06:00
Max New
e2a0724636
Add enum to delim-cont bench
2014-02-24 11:27:36 -06:00
Max New
eaf71ac6c8
add enum to list-machine benchmarks
2014-02-24 11:27:36 -06:00
Max New
c237fdfff1
Add arg validation to redex benchmark script
2014-02-24 11:27:36 -06:00
Max New
f19ea7c3a4
Updated STLC diffs (auto-generated)
2014-02-24 11:27:36 -06:00
Asumu Takikawa
4f3c98f754
Support ValuesDots in a typechecking a funapp
...
Closes PR 13651
2014-02-24 10:54:31 -05:00
Eric Dobson
262fad814a
Add more optimizations for projections.
2014-02-23 23:45:28 -08:00
Eric Dobson
b89a56e0ec
Change float optimizations to not warn on projections.
2014-02-23 23:45:27 -08:00
Eric Dobson
4ca07b3ac8
Refine type for angle
2014-02-23 23:45:26 -08:00
Matthew Flatt
22617b7800
JIT: enable unboxing in branches of if
and end of begin
...
When both branches of an `if` form can produce unboxed results, then
allow the unboxed result. Similarly, allow a `begin` form's last
expression to be unboxed.
2014-02-23 15:34:57 -07:00
Robby Findler
e0a1a40fd4
change the meaning of the #:enum argument to redex-check
...
Thanks to Neil Toronto for suggesting how to do this!
2014-02-23 09:24:51 -06:00
Robby Findler
6a0d387ac4
docs typos
2014-02-23 09:24:50 -06:00
Robby Findler
b047b32c6e
add 'simple-root' for students to use in test suites that call gc:cons
2014-02-22 20:22:00 -06:00
Eric Dobson
c1bfc9601e
Add delays to unboxed let to avoid optimizing twice.
2014-02-22 11:55:19 -08:00
Eric Dobson
f1b52be26a
Make TR optimizer tests reset the port line counting.
...
This means new logging lines should not change the numbering of all existing
logs making diffs much cleaner.
2014-02-22 11:51:46 -08:00
Eric Dobson
ec4793ad16
Make module reader not return negative span when port location changes.
2014-02-22 11:34:23 -08:00
Robby Findler
021328fa6d
update drracket HISTORY.txt
2014-02-22 08:04:42 -06:00
Robby Findler
dc3d6280a0
fix careless error (apologies future git bisecters)
2014-02-22 07:49:04 -06:00
Robby Findler
51adb339d5
always show the memory use and the () status indicators in drracket's status line
2014-02-22 07:44:55 -06:00
Robby Findler
a2b03a083a
add a test case to make sure 'Insert Large Letters' doesn't crash
2014-02-21 17:29:32 -06:00
Asumu Takikawa
2295f71dbe
Fix DrRacket's insert-large-letters
...
This is a temporary fix in the sense that the typed/mred
wrapper that this relies on is incomplete. Once the typed
racket/gui bindings are merged, a more complete
insert-large-letters will be checked in.
Closes PR 14362
2014-02-21 14:39:46 -05:00
Asumu Takikawa
6710d08ff1
Fix static contract generation for method case->s
2014-02-21 14:38:45 -05:00
Asumu Takikawa
19b785956f
Add more class/object functions to TR base-env
2014-02-21 14:11:14 -05:00
Asumu Takikawa
30cd701cf0
Make typed case-lambda methods work
2014-02-21 14:09:50 -05:00
Asumu Takikawa
5a3e0a76da
Move typed class unit tests into a separate file
...
Export some helpers from typecheck-tests in a submodule
2014-02-21 13:59:34 -05:00
Asumu Takikawa
c623e662e0
Support set-field! in Typed Racket
2014-02-21 12:32:59 -05:00
Asumu Takikawa
8ce376f503
Adjust type variable syntax for typed classes
...
This makes it consistent with other forms like the
new `lambda` form.
2014-02-21 11:47:08 -05:00
Asumu Takikawa
315034bbe5
Fix type for first argument of dynamic-place
...
Closes PR 14363
2014-02-20 23:17:17 -05:00
Asumu Takikawa
fe811e33aa
Temporarily disable TR class unit test
...
This unit test is broken due to an issue with using
the : form for external names in classes. Since : checks
if the id is bound, it doesn't work if there is an internal
name different from the external name (since only the
internal one is in scope in the class body).
Haven't decided whether to put annotations on internal
identifiers instead or to not run the check for class
member names.
2014-02-20 23:14:23 -05:00
Asumu Takikawa
8c83e1a08d
Expand on docs for TR class init/init-rest args
2014-02-20 18:00:44 -05:00
Asumu Takikawa
f856bce277
Reorganize docs on typed classes
...
Use subsections and put the special forms first
2014-02-20 17:33:45 -05:00
Asumu Takikawa
1c6c0855f7
Revise TR classes & docs based on feedback
2014-02-20 16:50:28 -05:00
Asumu Takikawa
e7e354f69a
Move internal unit tests out into a separate file
2014-02-20 16:50:28 -05:00