Summary: | DFG::VarargsForwardingPhase should eliminate getting argument length | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Saam Barati <saam> | ||||||||||
Component: | JavaScriptCore | Assignee: | Saam Barati <saam> | ||||||||||
Status: | RESOLVED FIXED | ||||||||||||
Severity: | Normal | CC: | benjamin, commit-queue, fpizlo, ggaren, gskachkov, jfbastien, keith_miller, mark.lam, msaboff, rmorisset, ticaiolima, webkit-bug-importer, ysuzuki | ||||||||||
Priority: | P2 | Keywords: | InRadar | ||||||||||
Version: | WebKit Nightly Build | ||||||||||||
Hardware: | Unspecified | ||||||||||||
OS: | Unspecified | ||||||||||||
Attachments: |
|
Description
Saam Barati
2018-02-20 01:10:00 PST
Created attachment 334251 [details]
WIP
Created attachment 334252 [details]
WIP
Created attachment 334302 [details]
patch
Comment on attachment 334302 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=334302&action=review r=me. > Source/JavaScriptCore/dfg/DFGVarargsForwardingPhase.cpp:202 > + if (node->child1()->op() == GetButterfly > + && candidateButterflies.contains(node->child1().node()) > + && node->child2() == candidate > + && node->storageAccessData().offset == clonedArgumentsLengthPropertyOffset) { > + ASSERT(node->child1()->child1() == candidate); Might be worth a static_assert that clonedArgumentsLengthPropertyOffset is out of line. Comment on attachment 334302 [details] patch View in context: https://bugs.webkit.org/attachment.cgi?id=334302&action=review >> Source/JavaScriptCore/dfg/DFGVarargsForwardingPhase.cpp:202 >> + ASSERT(node->child1()->child1() == candidate); > > Might be worth a static_assert that clonedArgumentsLengthPropertyOffset is out of line. I'll add a debug assert. Unfortunately, isOutOfLineOffset isn't constexpr. Created attachment 334338 [details]
patch for landing
Comment on attachment 334338 [details] patch for landing Clearing flags on attachment: 334338 Committed r228860: <https://trac.webkit.org/changeset/228860> All reviewed patches have been landed. Closing bug. |