RESOLVED FIXED 157427
Add JSC options reportBaselineCompileTimes and reportDFGCompileTimes.
https://bugs.webkit.org/show_bug.cgi?id=157427
Summary Add JSC options reportBaselineCompileTimes and reportDFGCompileTimes.
Mark Lam
Reported 2016-05-06 13:15:08 PDT
... because the baseline JIT needs some debugging love too sometimes.
Attachments
proposed patch (3.35 KB, patch)
2016-05-06 13:42 PDT, Mark Lam
keith_miller: review+
proposed patch: new and improved. (12.28 KB, patch)
2016-05-06 15:48 PDT, Mark Lam
fpizlo: review+
Mark Lam
Comment 1 2016-05-06 13:42:27 PDT
Created attachment 278265 [details] proposed patch
Mark Lam
Comment 2 2016-05-06 13:45:04 PDT
Comment on attachment 278265 [details] proposed patch View in context: https://bugs.webkit.org/attachment.cgi?id=278265&action=review > Source/JavaScriptCore/runtime/Options.h:403 > + v(reportDFGCompileTimes, reportCompileTimes, SameOption) \ > + v(reportJITCompileTimes, reportBaselineCompileTimes, SameOption) \ Any opinion on these aliases? My reason for adding them is: 1. reportCompileTimes only applies to DFG compile times. Might as well add a reportDFGCompileTimes to match reportBaselineCompileTimes and reportFTLCompileTimes. 2. We use the term JIT and Baseline interchangeably in our code. While JIT is shorter, Baseline is more descriptive. I added reportJITCompileTimes as alias for ease of use. If anyone disagrees, I can remove these.
Keith Miller
Comment 3 2016-05-06 13:52:42 PDT
Comment on attachment 278265 [details] proposed patch View in context: https://bugs.webkit.org/attachment.cgi?id=278265&action=review r=me with comments >> Source/JavaScriptCore/runtime/Options.h:403 >> + v(reportJITCompileTimes, reportBaselineCompileTimes, SameOption) \ > > Any opinion on these aliases? My reason for adding them is: > 1. reportCompileTimes only applies to DFG compile times. Might as well add a reportDFGCompileTimes to match reportBaselineCompileTimes and reportFTLCompileTimes. > 2. We use the term JIT and Baseline interchangeably in our code. While JIT is shorter, Baseline is more descriptive. I added reportJITCompileTimes as alias for ease of use. > > If anyone disagrees, I can remove these. It kinda feels weird for reportCompileTimes to only report the DFG compile times rather than all the tiers compile times. How intensely are we following the rule of not removing existing options? I feel like it would not be unreasonable to change it.
Filip Pizlo
Comment 4 2016-05-06 14:01:29 PDT
(In reply to comment #3) > Comment on attachment 278265 [details] > proposed patch > > View in context: > https://bugs.webkit.org/attachment.cgi?id=278265&action=review > > r=me with comments > > >> Source/JavaScriptCore/runtime/Options.h:403 > >> + v(reportJITCompileTimes, reportBaselineCompileTimes, SameOption) \ > > > > Any opinion on these aliases? My reason for adding them is: > > 1. reportCompileTimes only applies to DFG compile times. Might as well add a reportDFGCompileTimes to match reportBaselineCompileTimes and reportFTLCompileTimes. > > 2. We use the term JIT and Baseline interchangeably in our code. While JIT is shorter, Baseline is more descriptive. I added reportJITCompileTimes as alias for ease of use. > > > > If anyone disagrees, I can remove these. > > It kinda feels weird for reportCompileTimes to only report the DFG compile > times rather than all the tiers compile times. How intensely are we > following the rule of not removing existing options? I feel like it would > not be unreasonable to change it. Seems reasonable to change it. reportCompileTimes -> report compile times in all tiers. reportDFGCompileTimes -> report compile times in DFG+FTL. reportFTLCompileTimes -> report compile times in DFG. I think that this is a reasonable change because someone who uses reportCompileTimes will still see DFG compile times. They will also see baseline compile times, so they will get more than what they asked for, but I don't see how that would break anything.
Mark Lam
Comment 5 2016-05-06 14:04:29 PDT
(In reply to comment #4) > (In reply to comment #3) > > Comment on attachment 278265 [details] > > proposed patch > > > > View in context: > > https://bugs.webkit.org/attachment.cgi?id=278265&action=review > > > > r=me with comments > > > > >> Source/JavaScriptCore/runtime/Options.h:403 > > >> + v(reportJITCompileTimes, reportBaselineCompileTimes, SameOption) \ > > > > > > Any opinion on these aliases? My reason for adding them is: > > > 1. reportCompileTimes only applies to DFG compile times. Might as well add a reportDFGCompileTimes to match reportBaselineCompileTimes and reportFTLCompileTimes. > > > 2. We use the term JIT and Baseline interchangeably in our code. While JIT is shorter, Baseline is more descriptive. I added reportJITCompileTimes as alias for ease of use. > > > > > > If anyone disagrees, I can remove these. > > > > It kinda feels weird for reportCompileTimes to only report the DFG compile > > times rather than all the tiers compile times. How intensely are we > > following the rule of not removing existing options? I feel like it would > > not be unreasonable to change it. > > Seems reasonable to change it. > > reportCompileTimes -> report compile times in all tiers. > reportDFGCompileTimes -> report compile times in DFG+FTL. > reportFTLCompileTimes -> report compile times in DFG. > > I think that this is a reasonable change because someone who uses > reportCompileTimes will still see DFG compile times. They will also see > baseline compile times, so they will get more than what they asked for, but > I don't see how that would break anything. OK, will change it. As for the reportJITCompileTimes alias for reportBaselineCompileTimes, I decided not to add that. I plan to add a baselineWhitelist option shortly, and I think it's not worth it to have to keep adding "jit" to "baseline" aliases. Will stick with just "baseline".
Mark Lam
Comment 6 2016-05-06 15:48:48 PDT
Created attachment 278285 [details] proposed patch: new and improved.
Mark Lam
Comment 7 2016-05-06 15:57:34 PDT
Thanks for the reviews. Landed in r200531: <http://trac.webkit.org/r200531>.
Note You need to log in before you can comment on or make changes to this bug.