Commit Graph

32256 Commits

Author SHA1 Message Date
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