<?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>181999</bug_id>
          
          <creation_ts>2018-01-23 11:54:32 -0800</creation_ts>
          <short_desc>DFG should always flush `this`</short_desc>
          <delta_ts>2018-01-23 12:17:18 -0800</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>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1392165</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2018-01-23 11:54:32 -0800</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392174</commentid>
    <comment_count>1</comment_count>
      <attachid>332053</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2018-01-23 11:58:38 -0800</bug_when>
    <thetext>Created attachment 332053
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392182</commentid>
    <comment_count>2</comment_count>
      <attachid>332053</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-01-23 12:06:44 -0800</bug_when>
    <thetext>Comment on attachment 332053
the patch

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

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:539
&gt; +        addFlushDirect(remapOperand(inlineCallFrame, virtualRegisterForArgument(0)));

This should just go in the above loop and make it loop over the zero index</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392185</commentid>
    <comment_count>3</comment_count>
      <attachid>332053</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2018-01-23 12:09:46 -0800</bug_when>
    <thetext>Comment on attachment 332053
the patch

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

r=me with suggested simplification.

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:539
&gt; +        for (unsigned argument = numArguments; argument-- &gt; 1;)
&gt; +            addFlushDirect(remapOperand(inlineCallFrame, virtualRegisterForArgument(argument)));
&gt; +
&gt; +        addFlushDirect(remapOperand(inlineCallFrame, virtualRegisterForArgument(0)));

Why not just do all the flushing in the for loop?

    for (unsigned argument = numArguments; argument--;)
        addFlushDirect(remapOperand(inlineCallFrame, virtualRegisterForArgument(argument)));</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392188</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2018-01-23 12:14:51 -0800</bug_when>
    <thetext>(In reply to Saam Barati from comment #2)
&gt; Comment on attachment 332053 [details]
&gt; the patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=332053&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:539
&gt; &gt; +        addFlushDirect(remapOperand(inlineCallFrame, virtualRegisterForArgument(0)));
&gt; 
&gt; This should just go in the above loop and make it loop over the zero index

Oh. Right.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392189</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-01-23 12:15:10 -0800</bug_when>
    <thetext>&lt;rdar://problem/36787959&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1392190</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2018-01-23 12:17:18 -0800</bug_when>
    <thetext>Landed in https://trac.webkit.org/changeset/227431/webkit</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>332053</attachid>
            <date>2018-01-23 11:58:38 -0800</date>
            <delta_ts>2018-01-23 12:05:52 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>10947</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjI3NDI3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDE4LTAxLTIzICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
REZHIHNob3VsZCBhbHdheXMgZmx1c2ggYHRoaXNgCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODE5OTkKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFRoaXMgaXMgZ29pbmcgdG8gbWFrZSBpdCBw
b3NzaWJsZSB0byB1c2UgcHJlY2lzZSBpbmRleCBtYXNraW5nIGZvciBhcmd1bWVudHMtb24tdGhl
LXN0YWNrCisgICAgICAgIGFjY2Vzc2VzIHdpdGggYW4gaW5kZXggYWRqdXN0ZWQgc28gdGhhdCAw
IGlzIHRoaXMuIFdpdGhvdXQgdGhpcyBjaGFuZ2UsIHdlIHdvdWxkIGhhdmUgbm8gd2F5CisgICAg
ICAgIG9mIG1hc2tpbmcgd2hlbiB0aGUgYXJndW1lbnQgY291bnQgaXMgMCwgdW5sZXNzIHdlIHBh
ZGRlZCB0aGUgYXJndW1lbnQgYXJlYSBzbyB0aGF0IHRoZXJlIHdhcworICAgICAgICBhbHdheXMg
YW4gYXJndW1lbnQgc2xvdCBhZnRlciBgdGhpc2AgYW5kIGl0IHdhcyBhbHdheXMgaW5pdGlhbGl6
ZWQuCisKKyAgICAgICAgKiBkZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAoSlND
OjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpmbHVzaEltcGwpOgorICAgICAgICAoSlNDOjpERkc6OkJ5
dGVDb2RlUGFyc2VyOjpmbHVzaEZvclRlcm1pbmFsSW1wbCk6CisgICAgICAgIChKU0M6OkRGRzo6
Qnl0ZUNvZGVQYXJzZXI6OmZsdXNoKToKKyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNl
cjo6Zmx1c2hGb3JUZXJtaW5hbCk6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6
OnBhcnNlKToKKyAgICAgICAgKEpTQzo6REZHOjpmbHVzaEltcGwpOiBEZWxldGVkLgorICAgICAg
ICAoSlNDOjpERkc6OmZsdXNoRm9yVGVybWluYWxJbXBsKTogRGVsZXRlZC4KKyAgICAgICAgKiBk
ZmcvREZHUHJlY2lzZUxvY2FsQ2xvYmJlcml6ZS5oOgorICAgICAgICAoSlNDOjpERkc6OlByZWNp
c2VMb2NhbENsb2JiZXJpemVBZGFwdG9yOjpyZWFkVG9wKToKKwogMjAxOC0wMS0yMyAgRmlsaXAg
UGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIEpTQyBzaG91bGQgdXNlIGEgc3Bl
Y3VsYXRpb24gZmVuY2Ugb24gVk0gZW50cnkvZXhpdApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHJldmlzaW9uIDIyNzQyNCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC04Miw1MSArODIsNiBAQCBpZiAoREZHQnl0ZUNvZGVQYXJzZXJJbnRlcm5hbDo6
dmVyYm9zZSAmCiBkYXRhTG9nKF9fVkFfQVJHU19fKTsgXAogfSB3aGlsZSAoZmFsc2UpCiAKLXRl
bXBsYXRlIDx0eXBlbmFtZSBGMSwgdHlwZW5hbWUgRjI+Ci1zdGF0aWMgQUxXQVlTX0lOTElORSB2
b2lkIGZsdXNoSW1wbChHcmFwaCYgZ3JhcGgsIElubGluZUNhbGxGcmFtZSogaW5saW5lQ2FsbEZy
YW1lLCBjb25zdCBGMSYgYWRkRmx1c2hEaXJlY3QsIGNvbnN0IEYyJiBhZGRQaGFudG9tTG9jYWxE
aXJlY3QpCi17Ci0gICAgaW50IG51bUFyZ3VtZW50czsKLSAgICBpZiAoaW5saW5lQ2FsbEZyYW1l
KSB7Ci0gICAgICAgIEFTU0VSVCghZ3JhcGguaGFzRGVidWdnZXJFbmFibGVkKCkpOwotICAgICAg
ICBudW1Bcmd1bWVudHMgPSBpbmxpbmVDYWxsRnJhbWUtPmFyZ3VtZW50c1dpdGhGaXh1cC5zaXpl
KCk7Ci0gICAgICAgIGlmIChpbmxpbmVDYWxsRnJhbWUtPmlzQ2xvc3VyZUNhbGwpCi0gICAgICAg
ICAgICBhZGRGbHVzaERpcmVjdChyZW1hcE9wZXJhbmQoaW5saW5lQ2FsbEZyYW1lLCBWaXJ0dWFs
UmVnaXN0ZXIoQ2FsbEZyYW1lU2xvdDo6Y2FsbGVlKSkpOwotICAgICAgICBpZiAoaW5saW5lQ2Fs
bEZyYW1lLT5pc1ZhcmFyZ3MoKSkKLSAgICAgICAgICAgIGFkZEZsdXNoRGlyZWN0KHJlbWFwT3Bl
cmFuZChpbmxpbmVDYWxsRnJhbWUsIFZpcnR1YWxSZWdpc3RlcihDYWxsRnJhbWVTbG90Ojphcmd1
bWVudENvdW50KSkpOwotICAgIH0gZWxzZQotICAgICAgICBudW1Bcmd1bWVudHMgPSBncmFwaC5i
YXNlbGluZUNvZGVCbG9ja0ZvcihpbmxpbmVDYWxsRnJhbWUpLT5udW1QYXJhbWV0ZXJzKCk7Ci0K
LSAgICBmb3IgKHVuc2lnbmVkIGFyZ3VtZW50ID0gbnVtQXJndW1lbnRzOyBhcmd1bWVudC0tID4g
MTspCi0gICAgICAgIGFkZEZsdXNoRGlyZWN0KHJlbWFwT3BlcmFuZChpbmxpbmVDYWxsRnJhbWUs
IHZpcnR1YWxSZWdpc3RlckZvckFyZ3VtZW50KGFyZ3VtZW50KSkpOwotCi0gICAgaWYgKCFpbmxp
bmVDYWxsRnJhbWUgJiYgZ3JhcGgubmVlZHNGbHVzaGVkVGhpcygpKQotICAgICAgICBhZGRGbHVz
aERpcmVjdChyZW1hcE9wZXJhbmQoaW5saW5lQ2FsbEZyYW1lLCB2aXJ0dWFsUmVnaXN0ZXJGb3JB
cmd1bWVudCgwKSkpOwotICAgIGVsc2UKLSAgICAgICAgYWRkUGhhbnRvbUxvY2FsRGlyZWN0KHJl
bWFwT3BlcmFuZChpbmxpbmVDYWxsRnJhbWUsIHZpcnR1YWxSZWdpc3RlckZvckFyZ3VtZW50KDAp
KSk7Ci0KLSAgICBpZiAoZ3JhcGgubmVlZHNTY29wZVJlZ2lzdGVyKCkpCi0gICAgICAgIGFkZEZs
dXNoRGlyZWN0KGdyYXBoLm1fY29kZUJsb2NrLT5zY29wZVJlZ2lzdGVyKCkpOwotfQotCi10ZW1w
bGF0ZSA8dHlwZW5hbWUgRjEsIHR5cGVuYW1lIEYyPgotc3RhdGljIEFMV0FZU19JTkxJTkUgdm9p
ZCBmbHVzaEZvclRlcm1pbmFsSW1wbChHcmFwaCYgZ3JhcGgsIENvZGVPcmlnaW4gb3JpZ2luLCBj
b25zdCBGMSYgYWRkRmx1c2hEaXJlY3QsIGNvbnN0IEYyJiBhZGRQaGFudG9tTG9jYWxEaXJlY3Qp
Ci17Ci0gICAgb3JpZ2luLndhbGtVcElubGluZVN0YWNrKFsmXSAoQ29kZU9yaWdpbiBvcmlnaW4p
IHsKLSAgICAgICAgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCA9IG9yaWdpbi5ieXRlY29kZUluZGV4
OwotICAgICAgICBJbmxpbmVDYWxsRnJhbWUqIGlubGluZUNhbGxGcmFtZSA9IG9yaWdpbi5pbmxp
bmVDYWxsRnJhbWU7Ci0gICAgICAgIGZsdXNoSW1wbChncmFwaCwgaW5saW5lQ2FsbEZyYW1lLCBh
ZGRGbHVzaERpcmVjdCwgYWRkUGhhbnRvbUxvY2FsRGlyZWN0KTsKLQotICAgICAgICBDb2RlQmxv
Y2sqIGNvZGVCbG9jayA9IGdyYXBoLmJhc2VsaW5lQ29kZUJsb2NrRm9yKGlubGluZUNhbGxGcmFt
ZSk7Ci0gICAgICAgIEZ1bGxCeXRlY29kZUxpdmVuZXNzJiBmdWxsTGl2ZW5lc3MgPSBncmFwaC5s
aXZlbmVzc0Zvcihjb2RlQmxvY2spOwotICAgICAgICBjb25zdCBGYXN0Qml0VmVjdG9yJiBsaXZl
bmVzc0F0Qnl0ZWNvZGUgPSBmdWxsTGl2ZW5lc3MuZ2V0TGl2ZW5lc3MoYnl0ZWNvZGVJbmRleCk7
Ci0KLSAgICAgICAgZm9yICh1bnNpZ25lZCBsb2NhbCA9IGNvZGVCbG9jay0+bV9udW1DYWxsZWVM
b2NhbHM7IGxvY2FsLS07KSB7Ci0gICAgICAgICAgICBpZiAobGl2ZW5lc3NBdEJ5dGVjb2RlW2xv
Y2FsXSkKLSAgICAgICAgICAgICAgICBhZGRQaGFudG9tTG9jYWxEaXJlY3QocmVtYXBPcGVyYW5k
KGlubGluZUNhbGxGcmFtZSwgdmlydHVhbFJlZ2lzdGVyRm9yTG9jYWwobG9jYWwpKSk7Ci0gICAg
ICAgIH0KLSAgICB9KTsKLX0KLQogLy8gPT09IEJ5dGVDb2RlUGFyc2VyID09PQogLy8KIC8vIFRo
aXMgY2xhc3MgaXMgdXNlZCB0byBjb21waWxlIHRoZSBkYXRhZmxvdyBncmFwaCBmcm9tIGEgQ29k
ZUJsb2NrLgpAQCAtNTY0LDYgKzUxOSw0OSBAQCBwcml2YXRlOgogICAgICAgICByZXR1cm4gZmlu
ZEFyZ3VtZW50UG9zaXRpb25Gb3JMb2NhbChvcGVyYW5kKTsKICAgICB9CiAKKyAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBBZGRGbHVzaERpcmVjdEZ1bmM+CisgICAgdm9pZCBmbHVzaEltcGwoSW5saW5l
Q2FsbEZyYW1lKiBpbmxpbmVDYWxsRnJhbWUsIGNvbnN0IEFkZEZsdXNoRGlyZWN0RnVuYyYgYWRk
Rmx1c2hEaXJlY3QpCisgICAgeworICAgICAgICBpbnQgbnVtQXJndW1lbnRzOworICAgICAgICBp
ZiAoaW5saW5lQ2FsbEZyYW1lKSB7CisgICAgICAgICAgICBBU1NFUlQoIW1fZ3JhcGguaGFzRGVi
dWdnZXJFbmFibGVkKCkpOworICAgICAgICAgICAgbnVtQXJndW1lbnRzID0gaW5saW5lQ2FsbEZy
YW1lLT5hcmd1bWVudHNXaXRoRml4dXAuc2l6ZSgpOworICAgICAgICAgICAgaWYgKGlubGluZUNh
bGxGcmFtZS0+aXNDbG9zdXJlQ2FsbCkKKyAgICAgICAgICAgICAgICBhZGRGbHVzaERpcmVjdChy
ZW1hcE9wZXJhbmQoaW5saW5lQ2FsbEZyYW1lLCBWaXJ0dWFsUmVnaXN0ZXIoQ2FsbEZyYW1lU2xv
dDo6Y2FsbGVlKSkpOworICAgICAgICAgICAgaWYgKGlubGluZUNhbGxGcmFtZS0+aXNWYXJhcmdz
KCkpCisgICAgICAgICAgICAgICAgYWRkRmx1c2hEaXJlY3QocmVtYXBPcGVyYW5kKGlubGluZUNh
bGxGcmFtZSwgVmlydHVhbFJlZ2lzdGVyKENhbGxGcmFtZVNsb3Q6OmFyZ3VtZW50Q291bnQpKSk7
CisgICAgICAgIH0gZWxzZQorICAgICAgICAgICAgbnVtQXJndW1lbnRzID0gbV9ncmFwaC5iYXNl
bGluZUNvZGVCbG9ja0ZvcihpbmxpbmVDYWxsRnJhbWUpLT5udW1QYXJhbWV0ZXJzKCk7CisKKyAg
ICAgICAgZm9yICh1bnNpZ25lZCBhcmd1bWVudCA9IG51bUFyZ3VtZW50czsgYXJndW1lbnQtLSA+
IDE7KQorICAgICAgICAgICAgYWRkRmx1c2hEaXJlY3QocmVtYXBPcGVyYW5kKGlubGluZUNhbGxG
cmFtZSwgdmlydHVhbFJlZ2lzdGVyRm9yQXJndW1lbnQoYXJndW1lbnQpKSk7CisKKyAgICAgICAg
YWRkRmx1c2hEaXJlY3QocmVtYXBPcGVyYW5kKGlubGluZUNhbGxGcmFtZSwgdmlydHVhbFJlZ2lz
dGVyRm9yQXJndW1lbnQoMCkpKTsKKworICAgICAgICBpZiAobV9ncmFwaC5uZWVkc1Njb3BlUmVn
aXN0ZXIoKSkKKyAgICAgICAgICAgIGFkZEZsdXNoRGlyZWN0KG1fZ3JhcGgubV9jb2RlQmxvY2st
PnNjb3BlUmVnaXN0ZXIoKSk7CisgICAgfQorCisgICAgdGVtcGxhdGU8dHlwZW5hbWUgQWRkRmx1
c2hEaXJlY3RGdW5jLCB0eXBlbmFtZSBBZGRQaGFudG9tTG9jYWxEaXJlY3RGdW5jPgorICAgIHZv
aWQgZmx1c2hGb3JUZXJtaW5hbEltcGwoQ29kZU9yaWdpbiBvcmlnaW4sIGNvbnN0IEFkZEZsdXNo
RGlyZWN0RnVuYyYgYWRkRmx1c2hEaXJlY3QsIGNvbnN0IEFkZFBoYW50b21Mb2NhbERpcmVjdEZ1
bmMmIGFkZFBoYW50b21Mb2NhbERpcmVjdCkKKyAgICB7CisgICAgICAgIG9yaWdpbi53YWxrVXBJ
bmxpbmVTdGFjaygKKyAgICAgICAgICAgIFsmXSAoQ29kZU9yaWdpbiBvcmlnaW4pIHsKKyAgICAg
ICAgICAgICAgICB1bnNpZ25lZCBieXRlY29kZUluZGV4ID0gb3JpZ2luLmJ5dGVjb2RlSW5kZXg7
CisgICAgICAgICAgICAgICAgSW5saW5lQ2FsbEZyYW1lKiBpbmxpbmVDYWxsRnJhbWUgPSBvcmln
aW4uaW5saW5lQ2FsbEZyYW1lOworICAgICAgICAgICAgICAgIGZsdXNoSW1wbChpbmxpbmVDYWxs
RnJhbWUsIGFkZEZsdXNoRGlyZWN0KTsKKworICAgICAgICAgICAgICAgIENvZGVCbG9jayogY29k
ZUJsb2NrID0gbV9ncmFwaC5iYXNlbGluZUNvZGVCbG9ja0ZvcihpbmxpbmVDYWxsRnJhbWUpOwor
ICAgICAgICAgICAgICAgIEZ1bGxCeXRlY29kZUxpdmVuZXNzJiBmdWxsTGl2ZW5lc3MgPSBtX2dy
YXBoLmxpdmVuZXNzRm9yKGNvZGVCbG9jayk7CisgICAgICAgICAgICAgICAgY29uc3QgRmFzdEJp
dFZlY3RvciYgbGl2ZW5lc3NBdEJ5dGVjb2RlID0gZnVsbExpdmVuZXNzLmdldExpdmVuZXNzKGJ5
dGVjb2RlSW5kZXgpOworCisgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBsb2NhbCA9IGNv
ZGVCbG9jay0+bV9udW1DYWxsZWVMb2NhbHM7IGxvY2FsLS07KSB7CisgICAgICAgICAgICAgICAg
ICAgIGlmIChsaXZlbmVzc0F0Qnl0ZWNvZGVbbG9jYWxdKQorICAgICAgICAgICAgICAgICAgICAg
ICAgYWRkUGhhbnRvbUxvY2FsRGlyZWN0KHJlbWFwT3BlcmFuZChpbmxpbmVDYWxsRnJhbWUsIHZp
cnR1YWxSZWdpc3RlckZvckxvY2FsKGxvY2FsKSkpOworICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0pOworICAgIH0KKwogICAgIHZvaWQgZmx1c2goVmlydHVhbFJlZ2lzdGVyIG9wZXJh
bmQpCiAgICAgewogICAgICAgICBmbHVzaERpcmVjdChtX2lubGluZVN0YWNrVG9wLT5yZW1hcE9w
ZXJhbmQob3BlcmFuZCkpOwpAQCAtNjA3LDE1ICs2MDUsMTQgQEAgcHJpdmF0ZToKICAgICB2b2lk
IGZsdXNoKElubGluZVN0YWNrRW50cnkqIGlubGluZVN0YWNrRW50cnkpCiAgICAgewogICAgICAg
ICBhdXRvIGFkZEZsdXNoRGlyZWN0ID0gWyZdIChWaXJ0dWFsUmVnaXN0ZXIgcmVnKSB7IGZsdXNo
RGlyZWN0KHJlZyk7IH07Ci0gICAgICAgIGF1dG8gYWRkUGhhbnRvbUxvY2FsRGlyZWN0ID0gWyZd
IChWaXJ0dWFsUmVnaXN0ZXIgcmVnKSB7IHBoYW50b21Mb2NhbERpcmVjdChyZWcpOyB9OwotICAg
ICAgICBmbHVzaEltcGwobV9ncmFwaCwgaW5saW5lU3RhY2tFbnRyeS0+bV9pbmxpbmVDYWxsRnJh
bWUsIGFkZEZsdXNoRGlyZWN0LCBhZGRQaGFudG9tTG9jYWxEaXJlY3QpOworICAgICAgICBmbHVz
aEltcGwoaW5saW5lU3RhY2tFbnRyeS0+bV9pbmxpbmVDYWxsRnJhbWUsIGFkZEZsdXNoRGlyZWN0
KTsKICAgICB9CiAKICAgICB2b2lkIGZsdXNoRm9yVGVybWluYWwoKQogICAgIHsKICAgICAgICAg
YXV0byBhZGRGbHVzaERpcmVjdCA9IFsmXSAoVmlydHVhbFJlZ2lzdGVyIHJlZykgeyBmbHVzaERp
cmVjdChyZWcpOyB9OwogICAgICAgICBhdXRvIGFkZFBoYW50b21Mb2NhbERpcmVjdCA9IFsmXSAo
VmlydHVhbFJlZ2lzdGVyIHJlZykgeyBwaGFudG9tTG9jYWxEaXJlY3QocmVnKTsgfTsKLSAgICAg
ICAgZmx1c2hGb3JUZXJtaW5hbEltcGwobV9ncmFwaCwgY3VycmVudENvZGVPcmlnaW4oKSwgYWRk
Rmx1c2hEaXJlY3QsIGFkZFBoYW50b21Mb2NhbERpcmVjdCk7CisgICAgICAgIGZsdXNoRm9yVGVy
bWluYWxJbXBsKGN1cnJlbnRDb2RlT3JpZ2luKCksIGFkZEZsdXNoRGlyZWN0LCBhZGRQaGFudG9t
TG9jYWxEaXJlY3QpOwogICAgIH0KIAogICAgIHZvaWQgZmx1c2hGb3JSZXR1cm4oKQpAQCAtNjYz
Miw3ICs2NjI5LDcgQEAgdm9pZCBCeXRlQ29kZVBhcnNlcjo6cGFyc2UoKQogICAgICAgICAgICAg
ICAgICAgICBhdXRvIGFkZEZsdXNoRGlyZWN0ID0gWyZdIChWaXJ0dWFsUmVnaXN0ZXIgb3BlcmFu
ZCkgeyBpbnNlcnRMaXZlbmVzc1ByZXNlcnZpbmdPcChGbHVzaCwgb3BlcmFuZCk7IH07CiAgICAg
ICAgICAgICAgICAgICAgIGF1dG8gYWRkUGhhbnRvbUxvY2FsRGlyZWN0ID0gWyZdIChWaXJ0dWFs
UmVnaXN0ZXIgb3BlcmFuZCkgeyBpbnNlcnRMaXZlbmVzc1ByZXNlcnZpbmdPcChQaGFudG9tTG9j
YWwsIG9wZXJhbmQpOyB9OwogCi0gICAgICAgICAgICAgICAgICAgIGZsdXNoRm9yVGVybWluYWxJ
bXBsKG1fZ3JhcGgsIGVuZE9yaWdpbi5zZW1hbnRpYywgYWRkRmx1c2hEaXJlY3QsIGFkZFBoYW50
b21Mb2NhbERpcmVjdCk7CisgICAgICAgICAgICAgICAgICAgIGZsdXNoRm9yVGVybWluYWxJbXBs
KGVuZE9yaWdpbi5zZW1hbnRpYywgYWRkRmx1c2hEaXJlY3QsIGFkZFBoYW50b21Mb2NhbERpcmVj
dCk7CiAKICAgICAgICAgICAgICAgICAgICAgaW5zZXJ0aW9uU2V0Lmluc2VydE5vZGUoYmxvY2st
PnNpemUoKSwgU3BlY05vbmUsIFVucmVhY2hhYmxlLCBlbmRPcmlnaW4pOwogICAgICAgICAgICAg
ICAgICAgICBpbnNlcnRpb25TZXQuZXhlY3V0ZShibG9jayk7CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1ByZWNpc2VMb2NhbENsb2JiZXJpemUuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1ByZWNpc2VMb2NhbENsb2JiZXJpemUuaAkocmV2
aXNpb24gMjI3NDI0KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVjaXNlTG9j
YWxDbG9iYmVyaXplLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDE0LTIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
Q29weXJpZ2h0IChDKSAyMDE0LTIwMTggQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0xMDgsMTMgKzEwOCwxMyBAQCBwcml2
YXRlOgogICAgICAgICBhdXRvIHJlYWRGcmFtZSA9IFsmXSAoSW5saW5lQ2FsbEZyYW1lKiBpbmxp
bmVDYWxsRnJhbWUsIHVuc2lnbmVkIG51bWJlck9mQXJndW1lbnRzVG9Ta2lwKSB7CiAgICAgICAg
ICAgICBpZiAoIWlubGluZUNhbGxGcmFtZSkgewogICAgICAgICAgICAgICAgIC8vIFJlYWQgdGhl
IG91dGVybW9zdCBhcmd1bWVudHMgYW5kIGFyZ3VtZW50IGNvdW50LgotICAgICAgICAgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IDEgKyBudW1iZXJPZkFyZ3VtZW50c1RvU2tpcDsgaSA8IHN0YXRp
Y19jYXN0PHVuc2lnbmVkPihtX2dyYXBoLm1fY29kZUJsb2NrLT5udW1QYXJhbWV0ZXJzKCkpOyBp
KyspCisgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbnVtYmVyT2ZBcmd1bWVudHNU
b1NraXA7IGkgPCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4obV9ncmFwaC5tX2NvZGVCbG9jay0+bnVt
UGFyYW1ldGVycygpKTsgaSsrKQogICAgICAgICAgICAgICAgICAgICBtX3JlYWQodmlydHVhbFJl
Z2lzdGVyRm9yQXJndW1lbnQoaSkpOwogICAgICAgICAgICAgICAgIG1fcmVhZChWaXJ0dWFsUmVn
aXN0ZXIoQ2FsbEZyYW1lU2xvdDo6YXJndW1lbnRDb3VudCkpOwogICAgICAgICAgICAgICAgIHJl
dHVybjsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIAotICAgICAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gMSArIG51bWJlck9mQXJndW1lbnRzVG9Ta2lwOyBpIDwgaW5saW5lQ2FsbEZyYW1l
LT5hcmd1bWVudHNXaXRoRml4dXAuc2l6ZSgpOyBpKyspCisgICAgICAgICAgICBmb3IgKHVuc2ln
bmVkIGkgPSBudW1iZXJPZkFyZ3VtZW50c1RvU2tpcDsgaSA8IGlubGluZUNhbGxGcmFtZS0+YXJn
dW1lbnRzV2l0aEZpeHVwLnNpemUoKTsgaSsrKQogICAgICAgICAgICAgICAgIG1fcmVhZChWaXJ0
dWFsUmVnaXN0ZXIoaW5saW5lQ2FsbEZyYW1lLT5zdGFja09mZnNldCArIHZpcnR1YWxSZWdpc3Rl
ckZvckFyZ3VtZW50KGkpLm9mZnNldCgpKSk7CiAgICAgICAgICAgICBpZiAoaW5saW5lQ2FsbEZy
YW1lLT5pc1ZhcmFyZ3MoKSkKICAgICAgICAgICAgICAgICBtX3JlYWQoVmlydHVhbFJlZ2lzdGVy
KGlubGluZUNhbGxGcmFtZS0+c3RhY2tPZmZzZXQgKyBDYWxsRnJhbWVTbG90Ojphcmd1bWVudENv
dW50KSk7CkBAIC0yMzksNyArMjM5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgZGVmYXVsdDogewog
ICAgICAgICAgICAgLy8gQWxsIG9mIHRoZSBvdXRlcm1vc3QgYXJndW1lbnRzLCBleGNlcHQgdGhp
cywgYXJlIHJlYWQgaW4gc2xvcHB5IG1vZGUuCiAgICAgICAgICAgICBpZiAoIW1fZ3JhcGgubV9j
b2RlQmxvY2stPmlzU3RyaWN0TW9kZSgpKSB7Ci0gICAgICAgICAgICAgICAgZm9yICh1bnNpZ25l
ZCBpID0gbV9ncmFwaC5tX2NvZGVCbG9jay0+bnVtUGFyYW1ldGVycygpOyBpLS0gPiAxOykKKyAg
ICAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSBtX2dyYXBoLm1fY29kZUJsb2NrLT5udW1Q
YXJhbWV0ZXJzKCk7IGktLTspCiAgICAgICAgICAgICAgICAgICAgIG1fcmVhZCh2aXJ0dWFsUmVn
aXN0ZXJGb3JBcmd1bWVudChpKSk7CiAgICAgICAgICAgICB9CiAgICAgICAgIApAQCAtMjUwLDcg
KzI1MCw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAvLyBSZWFkIGFsbCBvZiB0aGUgaW5saW5l
IGFyZ3VtZW50cyBhbmQgY2FsbCBmcmFtZSBoZWFkZXJzIHRoYXQgd2UgZGlkbid0IGFscmVhZHkg
Y2FwdHVyZS4KICAgICAgICAgICAgIGZvciAoSW5saW5lQ2FsbEZyYW1lKiBpbmxpbmVDYWxsRnJh
bWUgPSBtX25vZGUtPm9yaWdpbi5zZW1hbnRpYy5pbmxpbmVDYWxsRnJhbWU7IGlubGluZUNhbGxG
cmFtZTsgaW5saW5lQ2FsbEZyYW1lID0gaW5saW5lQ2FsbEZyYW1lLT5nZXRDYWxsZXJJbmxpbmVG
cmFtZVNraXBwaW5nVGFpbENhbGxzKCkpIHsKICAgICAgICAgICAgICAgICBpZiAoIWlubGluZUNh
bGxGcmFtZS0+aXNTdHJpY3RNb2RlKCkpIHsKLSAgICAgICAgICAgICAgICAgICAgZm9yICh1bnNp
Z25lZCBpID0gaW5saW5lQ2FsbEZyYW1lLT5hcmd1bWVudHNXaXRoRml4dXAuc2l6ZSgpOyBpLS0g
PiAxOykKKyAgICAgICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gaW5saW5lQ2FsbEZy
YW1lLT5hcmd1bWVudHNXaXRoRml4dXAuc2l6ZSgpOyBpLS07KQogICAgICAgICAgICAgICAgICAg
ICAgICAgbV9yZWFkKFZpcnR1YWxSZWdpc3RlcihpbmxpbmVDYWxsRnJhbWUtPnN0YWNrT2Zmc2V0
ICsgdmlydHVhbFJlZ2lzdGVyRm9yQXJndW1lbnQoaSkub2Zmc2V0KCkpKTsKICAgICAgICAgICAg
ICAgICB9CiAgICAgICAgICAgICAgICAgaWYgKGlubGluZUNhbGxGcmFtZS0+aXNDbG9zdXJlQ2Fs
bCkK
</data>
<flag name="review"
          id="351031"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>