[webkit-reviews] review granted: [Bug 181466] Support MultiGetByOffset in the DFG : [Attachment 331542] patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jan 17 14:37:45 PST 2018


Keith Miller <keith_miller at apple.com> has granted Saam Barati
<sbarati at apple.com>'s request for review:
Bug 181466: Support MultiGetByOffset in the DFG
https://bugs.webkit.org/show_bug.cgi?id=181466

Attachment 331542: patch

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




--- Comment #17 from Keith Miller <keith_miller at apple.com> ---
Comment on attachment 331542
  --> https://bugs.webkit.org/attachment.cgi?id=331542
patch

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

r=me with some comments.

> Source/JavaScriptCore/dfg/DFGGraph.h:980
> +	   // We want to ensure we get polyvariant profiling data from the
GetById. This allows
> +	   // the same get_by_id inlined into two separate functions to get
independent profiling data.

It seems like we could still profile in the MultiGetByOffset when the the
origin is from an inlined source. Maybe file a bug?

> Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:4371
> +		   m_jit.load32(JITCompiler::Address(baseGPR,
JSCell::structureIDOffset()), resultGPR);
> +		   JITCompiler::JumpList match;
> +		   for (size_t i = 0; i < structures.size() - 1; ++i) {
> +		       match.append(
> +			   m_jit.branchWeakStructure(JITCompiler::Equal,
resultGPR, structures[i]));
> +		   }
> +		   next = m_jit.branchWeakStructure(JITCompiler::NotEqual,
resultGPR, structures.last());
> +		   match.link(&m_jit);

Couldn't this use BinarySwitch?


More information about the webkit-reviews mailing list