[webkit-reviews] review granted: [Bug 180783] Octane/richards regressed by a whopping 20% because eliminateCommonSubexpressions has a weird fixpoint requirement : [Attachment 329289] the patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Dec 13 16:57:15 PST 2017


Saam Barati <sbarati at apple.com> has granted Filip Pizlo <fpizlo at apple.com>'s
request for review:
Bug 180783: Octane/richards regressed by a whopping 20% because
eliminateCommonSubexpressions has a weird fixpoint requirement
https://bugs.webkit.org/show_bug.cgi?id=180783

Attachment 329289: the patch

https://bugs.webkit.org/attachment.cgi?id=329289&action=review




--- Comment #8 from Saam Barati <sbarati at apple.com> ---
Comment on attachment 329289
  --> https://bugs.webkit.org/attachment.cgi?id=329289
the patch

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

r=me

> Source/JavaScriptCore/b3/B3EliminateCommonSubexpressions.cpp:419
> +		       if (B3EliminateCommonSubexpressionsInternal::verbose)

so much verbose 😥

> Source/JavaScriptCore/b3/B3Generate.cpp:89
> +	   if (eliminateCommonSubexpressions(procedure))
> +	       eliminateCommonSubexpressions(procedure);

Why only twice?

> Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:74
> +static const bool verbose = true;

oops

> Source/JavaScriptCore/dfg/DFGSSAConversionPhase.cpp:86
> +	   if (m_graph.m_numberOfEntrypoints > 1) {

The reason I didn't do this before is I thought it'd add nice test coverage for
EntrySwitch. However, it gets eliminated almost immediately inside B3. So I
agree it's probably better to just do it here because it'll make the compiler
faster by processing fewer BBs.


More information about the webkit-reviews mailing list