Commit Graph

27919 Commits

Author SHA1 Message Date
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
Vincent St-Amour
5bf52e9663 Keep profile entries that come from other files.
Otherwise, hot function set is only populated from the current file.
2013-01-11 18:40:18 -05:00
Vincent St-Amour
c7f8eff883 Prune profile info to only keep hot functions. 2013-01-11 18:40:18 -05:00
Vincent St-Amour
f6b60b2f90 Propagate profile information to inlining analysis. 2013-01-11 18:40:18 -05:00
Vincent St-Amour
a1c93f466c Only keep profile reports from the relevant file. 2013-01-11 18:40:18 -05:00
Vincent St-Amour
9fd9638252 Refactoring. 2013-01-11 18:40:18 -05:00
Vincent St-Amour
4c7e319cd2 Put sandbox management in its own file.
To avoid circular dependencies.
2013-01-11 18:40:18 -05:00
Vincent St-Amour
18e4cbbb40 First stab at hooking the profiler up to OC.
Profiling is done from inside the eval, to minimize noise.

Use samplers directly, to get access to the profiler's data structures.
2013-01-11 18:40:18 -05:00
Vincent St-Amour
768d88c53d Log functions too big to be inlined.
Patch from Matthew.
2013-01-11 18:40:18 -05:00
Vincent St-Amour
5d4bbfaf6c Abstract out right file filtering. 2013-01-11 18:40:17 -05:00
Vincent St-Amour
a65d7532f2 Log output generated when OC expands/runs programs.
To be consistent with Check Syntax.
2013-01-11 18:40:17 -05:00
Vincent St-Amour
fa2cba1c5b Abstract out OC sandboxing. 2013-01-11 18:40:17 -05:00
Sam Tobin-Hochstadt
1a678bd5de Fix parsing of maybe-optimize result.
Merge to 5.3.2.
2013-01-11 18:15:53 -05:00
Sam Tobin-Hochstadt
2a1f70264c Fix XREPL logging printer to handle new logger name field.
Merge to 5.3.2.
2013-01-11 18:15:34 -05:00
Ryan Culpepper
9b1b15d110 fix missing argument
closes PR 13429

Merge to 5.3.2
2013-01-11 16:14:58 -05:00
Danny Yoo
69ae77a253 Gracefully handle the case where the token stream just contains the END token and an error occurs. 2013-01-11 14:00:24 -07:00
Matthew Flatt
f93c620814 futures: bug fix
The problem was in the handing of "lightweight continuations" used to
represent suspended computations, and in particular the handling
of continuation marks (such as the ones added by DrRacket's debugging
mode).

Unfortunately, I wasn't able to construct a simpler test case that
triggers the problem. I think the number of installed continuation marks
has to be just right, and there have to be some replacing marks, and
a lightweight continuaiton has to be captured at the right time
as a result of applying a previously captured continuation.

Closes PR 13427

Merge to v5.3.2
2013-01-11 12:40:51 -07:00
Jay McCarthy
3312a8064d Working with links in collection testing 2013-01-10 10:45:54 -07:00
Juan Francisco Cantero Hurtado
99c60d725c It fixes a crash on OpenBSD
It fixes a crash in the installation on OpenBSD. Racket reaches the
limits of the shell when it is compiled with a non-root user account.

Tested on OpenBSD-current amd64.

Merge to v5.3.2
2013-01-09 19:12:22 -07:00
Tobias Hammer
0f6a5833fc readline/readline: add readline-newline' and readline-redisplay'
mzrl.rkt:
  Add and provide readline-newline and readline-readisplay.

readline.scrbl:
  Documentation and example code.
2013-01-09 19:12:22 -07:00
Matthew Flatt
5134bc0888 scribble doc corrections
Merge to v5.3.2
2013-01-09 18:52:16 -07:00
Matthew Flatt
5ab048bb5c scribble/decode: fix contract on `decode-compound-paragraph'
Add a test suite that at least tries each export of `scribble/decode'.

Merge to v5.3.2
2013-01-09 18:52:16 -07:00
Greg Hendershott
4d3a5bad04 Use Racket lexer for code blocks.
Had been specifying Scheme lexer for code blocks, while waiting for
new Racket lexer to wend its way from Pygments to Pygments.rb to
Linguist to GitHub.

That day is almost here: Linguist will soon update and deploy to
GitHub.  And Racket 5.3.2 is about to release.  As a result, I think
this is the correct time to switch to the Racket lexer: It should be
live on GitHub by the time people are using Racket 5.3.2.

/cc @rmculpepper -- I think this commit should go into the 5.3.2
release.
2013-01-09 18:52:16 -07:00
Asumu Takikawa
c5c6280d87 Change exception predicate for a test
For some reason, the other predicate breaks on some
test setups, even though it usually succeeds.

Please merge to 5.3.2
2013-01-09 18:12:45 -05:00
Asumu Takikawa
f577b49a4d Fix polydots
- parsing of polydots values was fixed
 - certain polydots error cases are now reported
 - the custom application rule for values was fixed

Closes PR 13365

Please merge to 5.3.2
2013-01-09 18:12:45 -05:00
Neil Toronto
441ad6eff4 MPFR custodian shutdown procedure tries to clear the constants cache
even when MPFR isn't loaded; this should close PR 13423
2013-01-09 11:21:58 -07:00
Danny Yoo
6e21e34ec7 Correct location calculations for non-terminals.
The prior code constructed the location of nonterminal maches out of
the the state of the stream after parsing.  This isn't right for a few
reasons:

    1.  It doesn't get starting location correctly.

    2.  It doesn't behave when the non-terminal production did not
        actually consume tokens for its parse.

This patch modifies the parsers to also pass along a
"last-consumed-token"; it, along with a few other changes, provides
the parsers enough information to accurately construct the locations,
even when no tokens have been consumed during the parse.  We
synthesize a sentinel last-consumed-token token to take location from
the head of the stream.
2013-01-09 10:46:18 -07:00
Jay McCarthy
9015c15eec test - Supporting packages in raco test 2013-01-09 08:12:56 -07:00
Jay McCarthy
3e0fff7dff Extending raco test to work on collections 2013-01-09 07:59:47 -07:00
Jay McCarthy
7cddc64e5a pkg - Improving error message on bad github urls 2013-01-09 07:34:56 -07:00
Jay McCarthy
f3a3c64720 pkg - Adding explanation of github supporting tags 2013-01-09 07:34:35 -07:00
Jay McCarthy
9d4e47a96e Update URLs again to r-l.o domain 2013-01-09 06:31:02 -07:00