Bug 197304 - CodeBlock::m_instructionCount is wrong
Summary: CodeBlock::m_instructionCount is wrong
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: JavaScriptCore (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Saam Barati
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2019-04-25 19:27 PDT by Saam Barati
Modified: 2019-04-30 16:38 PDT (History)
13 users (show)

See Also:


Attachments
patch (6.70 KB, patch)
2019-04-30 13:46 PDT, Saam Barati
ysuzuki: review+
Details | Formatted Diff | Diff
patch (24.64 KB, patch)
2019-04-30 16:12 PDT, Saam Barati
ysuzuki: 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 2019-04-25 19:27:22 PDT
The calculation gets op_wide wrong.
Comment 1 Saam Barati 2019-04-30 13:46:22 PDT
Created attachment 368605 [details]
patch
Comment 2 Yusuke Suzuki 2019-04-30 13:48:57 PDT
Comment on attachment 368605 [details]
patch

r=me. Let's watch the bots, and adjust threshold later if needed!
Comment 3 Saam Barati 2019-04-30 16:12:07 PDT
Created attachment 368623 [details]
patch
Comment 4 Yusuke Suzuki 2019-04-30 16:17:39 PDT
Comment on attachment 368623 [details]
patch

View in context: https://bugs.webkit.org/attachment.cgi?id=368623&action=review

r=me

> Source/JavaScriptCore/dfg/DFGDisassembler.cpp:77
> +    out.print("Generated DFG JIT code for ", CodeBlockWithJITType(m_graph.m_codeBlock, JITType::DFGJIT), ", instruction count = ", m_graph.m_codeBlock->instructionsSize(), ":\n");

It would be nice if we can consistently use `instructions size` instead of `instruction count` in the log too.

> Source/JavaScriptCore/dfg/DFGDriver.cpp:88
> +        dataLog("DFG(Driver) compiling ", *codeBlock, " with ", mode, ", number of instructions = ", codeBlock->instructionsSize(), "\n");

Ditto.

> Source/JavaScriptCore/dfg/DFGPlan.cpp:187
> +        dataLog("DFG(Plan) compiling ", *m_codeBlock, " with ", m_mode, ", number of instructions = ", m_codeBlock->instructionsSize(), "\n");

Ditto.

> Source/JavaScriptCore/ftl/FTLCompile.cpp:171
> +        out.print("Generated ", state.graph.m_plan.mode(), " code for ", CodeBlockWithJITType(state.graph.m_codeBlock, JITType::FTLJIT), ", instruction count = ", state.graph.m_codeBlock->instructionsSize(), ":\n");

Ditto.

> Source/JavaScriptCore/ftl/FTLLink.cpp:74
> +            toCString("Generated FTL JIT code for ", CodeBlockWithJITType(codeBlock, JITType::FTLJIT), ", instruction count = ", graph.m_codeBlock->instructionsSize(), ":\n"));

Ditto.

> Source/JavaScriptCore/jit/JIT.cpp:908
>      m_vm->machineCodeBytesPerBytecodeWordForBaselineJIT->add(

I think `machineCodeBytesPerBytecodeWordForBaselineJIT` name becomes wrong now.

> Source/JavaScriptCore/jit/JITDisassembler.cpp:92
> +    out.print("Generated Baseline JIT code for ", CodeBlockWithJITType(m_codeBlock, JITType::BaselineJIT), ", instruction count = ", m_codeBlock->instructionsSize(), "\n");

Ditto.

> Source/JavaScriptCore/profiler/ProfilerBytecodes.cpp:43
> +    , m_instructionCount(codeBlock->instructionsSize())

Should we rename this to `m_instructionsSize` too?
Comment 5 Saam Barati 2019-04-30 16:37:50 PDT
landed in:
https://trac.webkit.org/changeset/244811/webkit
Comment 6 Radar WebKit Bug Importer 2019-04-30 16:38:23 PDT
<rdar://problem/50355305>
Comment 7 Saam Barati 2019-04-30 16:38:29 PDT
Comment on attachment 368623 [details]
patch

Thanks for the review. I made you suggested changes except renaming m_instructionCount in the profiler. For that, if we rename it, we should also go through with changing the name throughout the ruby tool