<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>160357</bug_id>
          
          <creation_ts>2016-07-29 14:24:44 -0700</creation_ts>
          <short_desc>Refactor DFG::Node::hasLocal() to accessesStack()</short_desc>
          <delta_ts>2016-07-29 15:05:17 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>Other</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>160355</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1215706</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-07-29 14:24:44 -0700</bug_when>
    <thetext>The Node class currently has two accessors, hasVariableAccessData() and hasLocal() that provide the same answer.  As part of the work for &lt;https://bugs.webkit.org/show_bug.cgi?id=160355&gt; - &quot;JSVALUE64: Pass arguments in platform argument registers when making JavaScript calls&quot;, there is need for distinct accessors.  One of those accessors is needed to answer the question: &quot;Does this node have a reference to a VariableAccessData object?&quot;.  A second accessor is needed to answer the question: &quot;Does this node read/write the stack?&quot;.  That second question implies the need for such a node to have a reference to the appropriate VariableAccessData object, but within the DFG and FTL tier asserts a much stronger fact about the node.

This patch is for the work to refactor hasLocal() to accessesStack().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215709</commentid>
    <comment_count>1</comment_count>
      <attachid>284903</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-07-29 14:41:43 -0700</bug_when>
    <thetext>Created attachment 284903
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215711</commentid>
    <comment_count>2</comment_count>
      <attachid>284903</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2016-07-29 14:46:48 -0700</bug_when>
    <thetext>Comment on attachment 284903
Patch

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

&gt; Source/JavaScriptCore/ChangeLog:14
&gt; +        The hasVariableAccessData() check now iplies no more than the node has a

*implies</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1215719</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-07-29 15:05:17 -0700</bug_when>
    <thetext>Committed r203923: &lt;http://trac.webkit.org/changeset/203923&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>284903</attachid>
            <date>2016-07-29 14:41:43 -0700</date>
            <delta_ts>2016-07-29 14:46:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>160357.patch</filename>
            <type>text/plain</type>
            <size>8587</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjAzOTIxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBA
CisyMDE2LTA3LTI5ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIFJlZmFjdG9yIERGRzo6Tm9kZTo6aGFzTG9jYWwoKSB0byBhY2Nlc3Nlc1N0YWNrKCkKKyAg
ICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE2MDM1NworCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFJlZmFjdG9yaW5n
IGluIHByZXBhcmF0aW9uIGZvciB1c2luZyByZWdpc3RlciBhcmd1bWVudHMgZm9yIEphdmFTY3Jp
cHQgY2FsbHMuCisKKyAgICAgICAgUmVuYW1lZCBOb2RlOjpoYXNMb2NhbCgpIHRvIE5vZGU6OmFj
Y2Vzc2VzU3RhY2soKSBhbmQgY2hhbmdlZCBhbGwgdXNlcyBhY2NvcmRpbmdseS4KKyAgICAgICAg
QWxzbyBjaGFuZ2VkIHVzZXMgb2YgTm9kZTo6aGFzVmFyaWFibGVBY2Nlc3NEYXRhKCkgdG8gYWNj
ZXNzZXNTdGFjaygpIHdoZXJlIHRoYXQKKyAgICAgICAgdXNlIGd1YXJkcyBzdGFjayBvcGVyYXRp
b24gbG9naWMgYXNzb2NpYXRlZCB3aXRoIHRoZSBOb2RlJ3MgVmFyaWFibGVBY2Nlc3NEYXRhLgor
CisgICAgICAgIFRoZSBoYXNWYXJpYWJsZUFjY2Vzc0RhdGEoKSBjaGVjayBub3cgaXBsaWVzIG5v
IG1vcmUgdGhhbiB0aGUgbm9kZSBoYXMgYQorICAgICAgICBWYXJpYWJsZUFjY2Vzc0RhdGEgYW5k
IG5vdGhpbmcgYWJvdXQgaXRzIHVzZSBvZiB0aGF0IGRhdGEgdG8gY29vcmRpbmF0ZSBzdGFjayAg
IAorICAgICAgICBhY2Nlc3Nlcy4KKworICAgICAgICAqIGRmZy9ERkdHcmFwaC5jcHA6CisgICAg
ICAgIChKU0M6OkRGRzo6R3JhcGg6OmR1bXApOgorICAgICAgICAoSlNDOjpERkc6OkdyYXBoOjpt
ZXRob2RPZkdldHRpbmdBVmFsdWVQcm9maWxlRm9yKToKKyAgICAgICAgKiBkZmcvREZHTGl2ZUNh
dGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6TGl2
ZUNhdGNoVmFyaWFibGVQcmVzZXJ2YXRpb25QaGFzZTo6aGFuZGxlQmxvY2spOgorICAgICAgICAq
IGRmZy9ERkdNYXhpbWFsRmx1c2hJbnNlcnRpb25QaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6TWF4aW1hbEZsdXNoSW5zZXJ0aW9uUGhhc2U6OnRyZWF0UmVndWxhckJsb2NrKToKKyAgICAg
ICAgKEpTQzo6REZHOjpNYXhpbWFsRmx1c2hJbnNlcnRpb25QaGFzZTo6dHJlYXRSb290QmxvY2sp
OgorICAgICAgICAqIGRmZy9ERkdOb2RlLmg6CisgICAgICAgIChKU0M6OkRGRzo6Tm9kZTo6Y29u
dGFpbnNNb3ZIaW50KToKKyAgICAgICAgKEpTQzo6REZHOjpOb2RlOjphY2Nlc3Nlc1N0YWNrKToK
KyAgICAgICAgKEpTQzo6REZHOjpOb2RlOjpoYXNMb2NhbCk6IERlbGV0ZWQuCisgICAgICAgICog
ZGZnL0RGR1ByZWRpY3Rpb25JbmplY3Rpb25QaGFzZS5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6
UHJlZGljdGlvbkluamVjdGlvblBoYXNlOjpydW4pOgorICAgICAgICAqIGRmZy9ERkdWYWxpZGF0
ZS5jcHA6CisKIDIwMTYtMDctMjkgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQu
b3JnPgogCiAgICAgICAgIFtKU0NdIFVzZSB0aGUgc2FtZSBkYXRhIHN0cnVjdHVyZXMgZm9yIERG
RyBhbmQgQWlyIExpdmVuZXNzIEFuYWx5c2lzCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0dyYXBoLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0dyYXBoLmNwcAkocmV2aXNpb24gMjAzOTEzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3Jl
L2RmZy9ERkdHcmFwaC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI3Myw3ICsyNzMsNyBAQCB2b2lk
IEdyYXBoOjpkdW1wKFByaW50U3RyZWFtJiBvdXQsIGNvbnN0CiAgICAgICAgIGZvciAodW5zaWdu
ZWQgaSA9IDA7IGkgPCBkYXRhLnZhcmlhbnRzLnNpemUoKTsgKytpKQogICAgICAgICAgICAgb3V0
LnByaW50KGNvbW1hLCBpbkNvbnRleHQoZGF0YS52YXJpYW50c1tpXSwgY29udGV4dCkpOwogICAg
IH0KLSAgICBBU1NFUlQobm9kZS0+aGFzVmFyaWFibGVBY2Nlc3NEYXRhKCp0aGlzKSA9PSBub2Rl
LT5oYXNMb2NhbCgqdGhpcykpOworICAgIEFTU0VSVChub2RlLT5oYXNWYXJpYWJsZUFjY2Vzc0Rh
dGEoKnRoaXMpID09IG5vZGUtPmFjY2Vzc2VzU3RhY2soKnRoaXMpKTsKICAgICBpZiAobm9kZS0+
aGFzVmFyaWFibGVBY2Nlc3NEYXRhKCp0aGlzKSkgewogICAgICAgICBWYXJpYWJsZUFjY2Vzc0Rh
dGEqIHZhcmlhYmxlQWNjZXNzRGF0YSA9IG5vZGUtPnRyeUdldFZhcmlhYmxlQWNjZXNzRGF0YSgp
OwogICAgICAgICBpZiAodmFyaWFibGVBY2Nlc3NEYXRhKSB7CkBAIC0zNzAsNyArMzcwLDcgQEAg
dm9pZCBHcmFwaDo6ZHVtcChQcmludFN0cmVhbSYgb3V0LCBjb25zdAogICAgICAgICBvdXQucHJp
bnQoY29tbWEsICJXYXNIb2lzdGVkIik7CiAgICAgb3V0LnByaW50KCIpIik7CiAKLSAgICBpZiAo
bm9kZS0+aGFzVmFyaWFibGVBY2Nlc3NEYXRhKCp0aGlzKSAmJiBub2RlLT50cnlHZXRWYXJpYWJs
ZUFjY2Vzc0RhdGEoKSkKKyAgICBpZiAobm9kZS0+YWNjZXNzZXNTdGFjaygqdGhpcykgJiYgbm9k
ZS0+dHJ5R2V0VmFyaWFibGVBY2Nlc3NEYXRhKCkpCiAgICAgICAgIG91dC5wcmludCgiICBwcmVk
aWN0aW5nICIsIFNwZWN1bGF0aW9uRHVtcChub2RlLT50cnlHZXRWYXJpYWJsZUFjY2Vzc0RhdGEo
KS0+cHJlZGljdGlvbigpKSk7CiAgICAgZWxzZSBpZiAobm9kZS0+aGFzSGVhcFByZWRpY3Rpb24o
KSkKICAgICAgICAgb3V0LnByaW50KCIgIHByZWRpY3RpbmcgIiwgU3BlY3VsYXRpb25EdW1wKG5v
ZGUtPmdldEhlYXBQcmVkaWN0aW9uKCkpKTsKQEAgLTE1MzAsNyArMTUzMCw3IEBAIE1ldGhvZE9m
R2V0dGluZ0FWYWx1ZVByb2ZpbGUgR3JhcGg6Om1ldGgKICAgICB3aGlsZSAobm9kZSkgewogICAg
ICAgICBDb2RlQmxvY2sqIHByb2ZpbGVkQmxvY2sgPSBiYXNlbGluZUNvZGVCbG9ja0Zvcihub2Rl
LT5vcmlnaW4uc2VtYW50aWMpOwogICAgICAgICAKLSAgICAgICAgaWYgKG5vZGUtPmhhc0xvY2Fs
KCp0aGlzKSkgeworICAgICAgICBpZiAobm9kZS0+YWNjZXNzZXNTdGFjaygqdGhpcykpIHsKICAg
ICAgICAgICAgIFZhbHVlUHJvZmlsZSogcmVzdWx0ID0gWyZdICgpIC0+IFZhbHVlUHJvZmlsZSog
ewogICAgICAgICAgICAgICAgIGlmICghbm9kZS0+bG9jYWwoKS5pc0FyZ3VtZW50KCkpCiAgICAg
ICAgICAgICAgICAgICAgIHJldHVybiBudWxscHRyOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdMaXZlQ2F0Y2hWYXJpYWJsZVByZXNlcnZhdGlvblBoYXNlLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0xpdmVDYXRjaFZhcmlhYmxlUHJl
c2VydmF0aW9uUGhhc2UuY3BwCShyZXZpc2lvbiAyMDM5MTMpCisrKyBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0xpdmVDYXRjaFZhcmlhYmxlUHJlc2VydmF0aW9uUGhhc2UuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMjIsNyArMTIyLDcgQEAgcHVibGljOgogICAgICAgICAgICAgICAgICAg
ICB9CiAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAgICAgICAgaWYgKG5vZGUtPmhhc1Zh
cmlhYmxlQWNjZXNzRGF0YShtX2dyYXBoKSkKKyAgICAgICAgICAgICAgICBpZiAobm9kZS0+YWNj
ZXNzZXNTdGFjayhtX2dyYXBoKSkKICAgICAgICAgICAgICAgICAgICAgY3VycmVudEJsb2NrQWNj
ZXNzRGF0YS5vcGVyYW5kKG5vZGUtPmxvY2FsKCkpID0gbm9kZS0+dmFyaWFibGVBY2Nlc3NEYXRh
KCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHTWF4aW1hbEZsdXNoSW5zZXJ0aW9uUGhhc2UuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTWF4aW1hbEZsdXNoSW5zZXJ0aW9uUGhhc2UuY3Bw
CShyZXZpc2lvbiAyMDM5MTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR01heGlt
YWxGbHVzaEluc2VydGlvblBoYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzgsNyArNzgsNyBA
QCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgICAgICAgICBGbHVzaCwgbm9kZS0+b3JpZ2luLCBP
cEluZm8oZmx1c2hBY2Nlc3NEYXRhKSk7CiAgICAgICAgICAgICAgICAgfQogCi0gICAgICAgICAg
ICAgICAgaWYgKG5vZGUtPmhhc1ZhcmlhYmxlQWNjZXNzRGF0YShtX2dyYXBoKSkKKyAgICAgICAg
ICAgICAgICBpZiAobm9kZS0+YWNjZXNzZXNTdGFjayhtX2dyYXBoKSkKICAgICAgICAgICAgICAg
ICAgICAgY3VycmVudEJsb2NrQWNjZXNzRGF0YS5vcGVyYW5kKG5vZGUtPmxvY2FsKCkpID0gbm9k
ZS0+dmFyaWFibGVBY2Nlc3NEYXRhKCk7CiAgICAgICAgICAgICB9CiAgICAgICAgIH0KQEAgLTEx
MCw3ICsxMTAsNyBAQCBwdWJsaWM6CiAgICAgICAgIE9wZXJhbmRzPE5vZGUqPiBpbml0aWFsQWNj
ZXNzTm9kZXMoYmxvY2stPnZhcmlhYmxlc0F0VGFpbC5udW1iZXJPZkFyZ3VtZW50cygpLCBibG9j
ay0+dmFyaWFibGVzQXRUYWlsLm51bWJlck9mTG9jYWxzKCksIG51bGxwdHIpOwogICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgYmxvY2stPnNpemUoKTsgaSsrKSB7CiAgICAgICAgICAg
ICBOb2RlKiBub2RlID0gYmxvY2stPmF0KGkpOwotICAgICAgICAgICAgaWYgKCFub2RlLT5oYXNW
YXJpYWJsZUFjY2Vzc0RhdGEobV9ncmFwaCkpCisgICAgICAgICAgICBpZiAoIW5vZGUtPmFjY2Vz
c2VzU3RhY2sobV9ncmFwaCkpCiAgICAgICAgICAgICAgICAgY29udGludWU7CiAKICAgICAgICAg
ICAgIFZpcnR1YWxSZWdpc3RlciBvcGVyYW5kID0gbm9kZS0+bG9jYWwoKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHTm9kZS5oCShyZXZpc2lvbiAyMDM5MTMpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR05vZGUuaAkod29ya2luZyBjb3B5KQpAQCAtODA3LDcgKzgwNyw3
IEBAIHB1YmxpYzoKICAgICB9CiAgICAgCiAgICAgYm9vbCBoYXNWYXJpYWJsZUFjY2Vzc0RhdGEo
R3JhcGgmKTsKLSAgICBib29sIGhhc0xvY2FsKEdyYXBoJiBncmFwaCkKKyAgICBib29sIGFjY2Vz
c2VzU3RhY2soR3JhcGgmIGdyYXBoKQogICAgIHsKICAgICAgICAgcmV0dXJuIGhhc1ZhcmlhYmxl
QWNjZXNzRGF0YShncmFwaCk7CiAgICAgfQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdQcmVkaWN0aW9uSW5qZWN0aW9uUGhhc2UuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvbkluamVjdGlvblBoYXNlLmNwcAkocmV2aXNp
b24gMjAzOTEzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uSW5q
ZWN0aW9uUGhhc2UuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC03NCw3ICs3NCw3IEBAIHB1YmxpYzoK
ICAgICAgICAgICAgICAgICBOb2RlKiBub2RlID0gYmxvY2stPnZhcmlhYmxlc0F0SGVhZC5vcGVy
YW5kKG9wZXJhbmQpOwogICAgICAgICAgICAgICAgIGlmICghbm9kZSkKICAgICAgICAgICAgICAg
ICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAgICAgQVNTRVJUKG5vZGUtPmhhc0xvY2FsKG1f
Z3JhcGgpKTsKKyAgICAgICAgICAgICAgICBBU1NFUlQobm9kZS0+YWNjZXNzZXNTdGFjayhtX2dy
YXBoKSk7CiAgICAgICAgICAgICAgICAgbm9kZS0+dmFyaWFibGVBY2Nlc3NEYXRhKCktPnByZWRp
Y3QoCiAgICAgICAgICAgICAgICAgICAgIHNwZWN1bGF0aW9uRnJvbVZhbHVlKG1fZ3JhcGgubV9w
bGFuLm11c3RIYW5kbGVWYWx1ZXNbaV0pKTsKICAgICAgICAgICAgIH0KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHVmFsaWRhdGUuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHVmFsaWRhdGUuY3BwCShyZXZpc2lvbiAyMDM5MTMpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ZhbGlkYXRlLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtNDgyLDE3ICs0ODIsMTcgQEAgcHJpdmF0ZToKICAgICAgICAgICAgICAgICBibG9jay0+dmFy
aWFibGVzQXRIZWFkLm51bWJlck9mTG9jYWxzKCkpOwogICAgICAgICAgICAgCiAgICAgICAgICAg
ICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IGJsb2NrLT52YXJpYWJsZXNBdEhlYWQubnVtYmVyT2ZB
cmd1bWVudHMoKTsgKytpKSB7Ci0gICAgICAgICAgICAgICAgVkFMSURBVEUoKHZpcnR1YWxSZWdp
c3RlckZvckFyZ3VtZW50KGkpLCBibG9jayksICFibG9jay0+dmFyaWFibGVzQXRIZWFkLmFyZ3Vt
ZW50KGkpIHx8IGJsb2NrLT52YXJpYWJsZXNBdEhlYWQuYXJndW1lbnQoaSktPmhhc1ZhcmlhYmxl
QWNjZXNzRGF0YShtX2dyYXBoKSk7CisgICAgICAgICAgICAgICAgVkFMSURBVEUoKHZpcnR1YWxS
ZWdpc3RlckZvckFyZ3VtZW50KGkpLCBibG9jayksICFibG9jay0+dmFyaWFibGVzQXRIZWFkLmFy
Z3VtZW50KGkpIHx8IGJsb2NrLT52YXJpYWJsZXNBdEhlYWQuYXJndW1lbnQoaSktPmFjY2Vzc2Vz
U3RhY2sobV9ncmFwaCkpOwogICAgICAgICAgICAgICAgIGlmIChtX2dyYXBoLm1fZm9ybSA9PSBU
aHJlYWRlZENQUykKLSAgICAgICAgICAgICAgICAgICAgVkFMSURBVEUoKHZpcnR1YWxSZWdpc3Rl
ckZvckFyZ3VtZW50KGkpLCBibG9jayksICFibG9jay0+dmFyaWFibGVzQXRUYWlsLmFyZ3VtZW50
KGkpIHx8IGJsb2NrLT52YXJpYWJsZXNBdFRhaWwuYXJndW1lbnQoaSktPmhhc1ZhcmlhYmxlQWNj
ZXNzRGF0YShtX2dyYXBoKSk7CisgICAgICAgICAgICAgICAgICAgIFZBTElEQVRFKCh2aXJ0dWFs
UmVnaXN0ZXJGb3JBcmd1bWVudChpKSwgYmxvY2spLCAhYmxvY2stPnZhcmlhYmxlc0F0VGFpbC5h
cmd1bWVudChpKSB8fCBibG9jay0+dmFyaWFibGVzQXRUYWlsLmFyZ3VtZW50KGkpLT5hY2Nlc3Nl
c1N0YWNrKG1fZ3JhcGgpKTsKICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICBnZXRM
b2NhbFBvc2l0aW9ucy5hcmd1bWVudChpKSA9IG5vdFNldDsKICAgICAgICAgICAgICAgICBzZXRM
b2NhbFBvc2l0aW9ucy5hcmd1bWVudChpKSA9IG5vdFNldDsKICAgICAgICAgICAgIH0KICAgICAg
ICAgICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgYmxvY2stPnZhcmlhYmxlc0F0SGVhZC5udW1i
ZXJPZkxvY2FscygpOyArK2kpIHsKLSAgICAgICAgICAgICAgICBWQUxJREFURSgodmlydHVhbFJl
Z2lzdGVyRm9yTG9jYWwoaSksIGJsb2NrKSwgIWJsb2NrLT52YXJpYWJsZXNBdEhlYWQubG9jYWwo
aSkgfHwgYmxvY2stPnZhcmlhYmxlc0F0SGVhZC5sb2NhbChpKS0+aGFzVmFyaWFibGVBY2Nlc3NE
YXRhKG1fZ3JhcGgpKTsKKyAgICAgICAgICAgICAgICBWQUxJREFURSgodmlydHVhbFJlZ2lzdGVy
Rm9yTG9jYWwoaSksIGJsb2NrKSwgIWJsb2NrLT52YXJpYWJsZXNBdEhlYWQubG9jYWwoaSkgfHwg
YmxvY2stPnZhcmlhYmxlc0F0SGVhZC5sb2NhbChpKS0+YWNjZXNzZXNTdGFjayhtX2dyYXBoKSk7
CiAgICAgICAgICAgICAgICAgaWYgKG1fZ3JhcGgubV9mb3JtID09IFRocmVhZGVkQ1BTKQotICAg
ICAgICAgICAgICAgICAgICBWQUxJREFURSgodmlydHVhbFJlZ2lzdGVyRm9yTG9jYWwoaSksIGJs
b2NrKSwgIWJsb2NrLT52YXJpYWJsZXNBdFRhaWwubG9jYWwoaSkgfHwgYmxvY2stPnZhcmlhYmxl
c0F0VGFpbC5sb2NhbChpKS0+aGFzVmFyaWFibGVBY2Nlc3NEYXRhKG1fZ3JhcGgpKTsKKyAgICAg
ICAgICAgICAgICAgICAgVkFMSURBVEUoKHZpcnR1YWxSZWdpc3RlckZvckxvY2FsKGkpLCBibG9j
ayksICFibG9jay0+dmFyaWFibGVzQXRUYWlsLmxvY2FsKGkpIHx8IGJsb2NrLT52YXJpYWJsZXNB
dFRhaWwubG9jYWwoaSktPmFjY2Vzc2VzU3RhY2sobV9ncmFwaCkpOwogCiAgICAgICAgICAgICAg
ICAgZ2V0TG9jYWxQb3NpdGlvbnMubG9jYWwoaSkgPSBub3RTZXQ7CiAgICAgICAgICAgICAgICAg
c2V0TG9jYWxQb3NpdGlvbnMubG9jYWwoaSkgPSBub3RTZXQ7Cg==
</data>
<flag name="review"
          id="308570"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
      

    </bug>

</bugzilla>