Bug 160148 - MathICs should be able to take and dump stats about code size
Summary: MathICs should be able to take and dump stats about code size
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Local Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Saam Barati
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-07-24 15:39 PDT by Saam Barati
Modified: 2016-07-25 13:45 PDT (History)
11 users (show)

See Also:


Attachments
patch (14.13 KB, patch)
2016-07-25 12:59 PDT, Saam Barati
fpizlo: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Saam Barati 2016-07-24 15:39:33 PDT
We should implement something akin to Options::useICStats for property access ICs.
Comment 1 Saam Barati 2016-07-25 12:59:20 PDT
Created attachment 284515 [details]
patch
Comment 2 Filip Pizlo 2016-07-25 13:00:38 PDT
Comment on attachment 284515 [details]
patch

Any reason why this can't be a runtime option?
Comment 3 WebKit Commit Bot 2016-07-25 13:01:21 PDT
Attachment 284515 [details] did not pass style-queue:


ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:4584:  Place brace on its own line for function definitions.  [whitespace/braces] [4]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:4601:  Missing spaces around /  [whitespace/operators] [3]
ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:4605:  Missing spaces around /  [whitespace/operators] [3]
Total errors found: 3 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.
Comment 4 Saam Barati 2016-07-25 13:43:12 PDT
landed in:
https://trac.webkit.org/changeset/203697
Comment 5 Saam Barati 2016-07-25 13:45:08 PDT
(In reply to comment #2)
> Comment on attachment 284515 [details]
> patch
> 
> Any reason why this can't be a runtime option?

Oops. I landed before I saw your question.

A couple of reasons why I made it a compile time flag:
1. It adds a field to MathIC, so we don't want to pay for the memory used by that field if we're not using the option.
2. I want to start adding the dump call in more places along each operationValue<Mul/Add/ect> operation, and I don't want to pay for the branch, even though it will be well predicted.