Eric Dobson
aac25b42c9
Make AnyValues but don't actually start using it yet.
2013-01-23 16:41:09 -05:00
Asumu Takikawa
4b279eaf6a
Use new parameter/c argument for contract generation
...
Closes PR 13446
2013-01-23 14:45:59 -05:00
Asumu Takikawa
e1b6e84089
Fix filters on odd? and even?
...
Closes PR 13233
2013-01-18 18:25:18 -05:00
Eric Dobson
5fe004cd9b
Make TR compile with contracts enabled again.
2013-01-15 12:36:42 -05:00
Eric Dobson
f315880b50
Replace uses of Type? with Type/c?.
2013-01-15 12:23:42 -05:00
Eric Dobson
a5daacd747
Fix register-struct-bindings! to meet correct contract.
...
Please merge to 5.3.2.
2013-01-14 17:30:29 -05:00
Asumu Takikawa
d95be2ed4d
Fix error typo
...
Please merge to 5.3.2
2013-01-11 21:22:12 -05:00
Vincent St-Amour
2c8e5f9acb
Move Optimization Coach to PLaneT 2.
2013-01-11 18:40:23 -05:00
Vincent St-Amour
54c8394280
Call inner when augmenting methods.
2013-01-11 18:40:23 -05:00
Vincent St-Amour
903eec448e
Document profiler support.
2013-01-11 18:40:23 -05:00
Vincent St-Amour
65bd79b003
Improve UI for profiling support.
2013-01-11 18:40:23 -05:00
Vincent St-Amour
09683d4441
Don't prune cold inlining successes.
2013-01-11 18:40:23 -05:00
Vincent St-Amour
8202de8f4a
Log ill-formed log entries instead of erroring.
2013-01-11 18:40:23 -05:00
Vincent St-Amour
6480addbd1
Distinguish between different kinds of inlining failures.
2013-01-11 18:40:23 -05:00
Vincent St-Amour
8e9f21b181
Make inliner log parsing more robust.
...
Relies less on regular expressions and more on a custom reader.
2013-01-11 18:40:22 -05:00
Vincent St-Amour
6f6a95fdaa
Don't reverse accumulated logs.
...
Not necessary anymore.
2013-01-11 18:40:22 -05:00
Vincent St-Amour
50777aaca4
Refactor arithmetic hidden cost logging.
2013-01-11 18:40:22 -05:00
Vincent St-Amour
e82a0ee608
Clean up checks for profile information.
...
It is now always available when reporting about inlining.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
3da04201cd
Move Typed Racket-specific processing to its own file.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
96078c9da6
Don't track provenance at the log entry level.
...
Not necessary anymore.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
928ea23a12
Have separate checkbox for hidden costs.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
8ffbaabfa6
Have hidden cost reporting produce report entries directly.
...
Since I'm more likely to do locality than causality merging for them,
there's no reason to produce log entries instead of report entries.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
e4f3d8e73c
Only show inlining reports when profiling information is available.
...
Without profiling information, pruning is not good enough.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
6d7f1627b8
Have inlining reporting produce report entries directly.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
4933d9f00f
Separate TR optimization and info logs.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
677550cbe2
Major refactoring.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
ebf25a3cdb
Prune inlining recommendations more aggressively.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
defa1b96ff
Refactoring.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
a2f1e33d00
Scale badness using profile data.
2013-01-11 18:40:21 -05:00
Vincent St-Amour
4271675f69
Report potential exact rational arithmetic in hot code.
2013-01-11 18:40:20 -05:00
Vincent St-Amour
6e9ed24eae
Implement TR pruning.
2013-01-11 18:40:20 -05:00
Vincent St-Amour
9c73563705
Report struct constructors used in hot code.
2013-01-11 18:40:20 -05:00
Sam Tobin-Hochstadt
696583582b
Add struct constructor table.
2013-01-11 18:40:20 -05:00
Vincent St-Amour
a474eb9838
Report hidden parameter accesses.
2013-01-11 18:40:20 -05:00
Vincent St-Amour
cc168d148d
Log operations with hidden costs from TR.
...
Currently only implicit parameter dereferences.
2013-01-11 18:40:20 -05:00
Vincent St-Amour
8170eda45c
Keep reports for functions that contain hot functions.
...
Helps for curried functions.
2013-01-11 18:40:20 -05:00
Vincent St-Amour
48a55f7e74
Revert "Recommend turning "hot" higher-order calls into first-order calls."
...
This reverts commit bb0c20ce6eff2112a25eb1f98d394b36da0128f8.
Was never useful in practice.
2013-01-11 18:40:20 -05:00
Vincent St-Amour
89948b2954
Recommend turning "hot" higher-order calls into first-order calls.
2013-01-11 18:40:20 -05:00
Vincent St-Amour
db6b0df526
Adjust definition of interesting call sites to not rely on inlining info.
...
That information may not be available.
2013-01-11 18:40:20 -05:00
Vincent St-Amour
bba3d66fb1
Factor out the concept of interesting callers.
2013-01-11 18:40:19 -05:00
Vincent St-Amour
c66654e9c8
Allow producing multiple inliner report entries per function.
...
This also allows reporting one function while traversing another.
2013-01-11 18:40:19 -05:00
Vincent St-Amour
fa01a5304a
Recognize "interesting" call sites.
...
These are call sites where one of the callees accounts for a large portion
of the total time of its caller.
When such call sites are considered inlining failures, we can refine
recommendations.
The concept of interesting call site is also useful as a building block
for higher-level patterns.
2013-01-11 18:40:19 -05:00
Vincent St-Amour
bb9f4e4634
Report "bridgehead" inlinings as successes, even if further inlinings fail.
2013-01-11 18:40:19 -05:00
Vincent St-Amour
28d4eb4d22
Use the right version of the log to determine misses.
2013-01-11 18:40:19 -05:00
Vincent St-Amour
e02333a3c8
Fix handling of self out-of-fuel.
2013-01-11 18:40:19 -05:00
Vincent St-Amour
d1a2815197
Refactoring.
2013-01-11 18:40:19 -05:00
Vincent St-Amour
b751907e24
Keep TR and mzc logs separate.
...
Simplifies post-processing.
2013-01-11 18:40:19 -05:00
Vincent St-Amour
8ace14bad9
Refactoring.
2013-01-11 18:40:19 -05:00
Vincent St-Amour
9f415ecd8a
When we have profiling information, prune inlining reports about cold code.
2013-01-11 18:40:19 -05:00
Vincent St-Amour
c8d3aea6dd
Rethink profiler integration.
...
Requires the program to manually call the profiler. This dumps the results in
a separate file.
2013-01-11 18:40:18 -05:00