<?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>194446</bug_id>
          
          <creation_ts>2019-02-08 13:02:55 -0800</creation_ts>
          <short_desc>Fix DFG&apos;s doesGC() for CheckTierUp*, GetByVal, PutByVal*, and StringCharAt nodes.</short_desc>
          <delta_ts>2019-02-08 14:32:37 -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>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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Mark Lam">mark.lam</reporter>
          <assigned_to name="Mark Lam">mark.lam</assigned_to>
          <cc>fpizlo</cc>
    
    <cc>keith_miller</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>saam</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1504260</commentid>
    <comment_count>0</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-02-08 13:02:55 -0800</bug_when>
    <thetext>Patch coming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504262</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-02-08 13:03:38 -0800</bug_when>
    <thetext>&lt;rdar://problem/47926792&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504267</commentid>
    <comment_count>2</comment_count>
      <attachid>361529</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-02-08 13:19:21 -0800</bug_when>
    <thetext>Created attachment 361529
proposed patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504273</commentid>
    <comment_count>3</comment_count>
      <attachid>361529</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-02-08 13:39:03 -0800</bug_when>
    <thetext>Comment on attachment 361529
proposed patch.

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

r=me

&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:2197
&gt;      JITCompiler::Jump bigCharacter =
&gt; -        m_jit.branch32(MacroAssembler::AboveOrEqual, scratchReg, TrustedImm32(0x100));
&gt; +        m_jit.branch32(MacroAssembler::Above, scratchReg, TrustedImm32(maxSingleCharacterString));

This really doesn&apos;t belong in this patch.

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:6615
&gt; +            m_out.above(char16BitValue, m_out.constInt32(maxSingleCharacterString)),

ditto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504277</commentid>
    <comment_count>4</comment_count>
      <attachid>361529</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-02-08 13:42:20 -0800</bug_when>
    <thetext>Comment on attachment 361529
proposed patch.

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

Thanks for the review.

&gt;&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:2197
&gt;&gt; +        m_jit.branch32(MacroAssembler::Above, scratchReg, TrustedImm32(maxSingleCharacterString));
&gt; 
&gt; This really doesn&apos;t belong in this patch.

I&apos;ll revert and apply this in a separate patch.

&gt;&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToB3.cpp:6615
&gt;&gt; +            m_out.above(char16BitValue, m_out.constInt32(maxSingleCharacterString)),
&gt; 
&gt; ditto

Same.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1504301</commentid>
    <comment_count>5</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2019-02-08 14:32:37 -0800</bug_when>
    <thetext>Landed in r241210: &lt;http://trac.webkit.org/r241210&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>361529</attachid>
            <date>2019-02-08 13:19:21 -0800</date>
            <delta_ts>2019-02-08 13:39:03 -0800</delta_ts>
            <desc>proposed patch.</desc>
            <filename>bug-194446.patch</filename>
            <type>text/plain</type>
            <size>12577</size>
            <attacher name="Mark Lam">mark.lam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQxMjA0KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDU2IEBA
CisyMDE5LTAyLTA4ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4KKworICAgICAgICBG
aXggREZHJ3MgZG9lc0dDKCkgZm9yIENoZWNrVGllclVwKiwgR2V0QnlWYWwsIFB1dEJ5VmFsKiwg
YW5kIFN0cmluZ0NoYXJBdCBub2Rlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE5NDQ0NgorICAgICAgICA8cmRhcjovL3Byb2JsZW0vNDc5MjY3OTI+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGRv
ZXNHQygpIGZvciB0aGUgZm9sbG93aW5nIG5vZGVzOgorCisgICAgICAgICAgICBDaGVja1RpZXJV
cEF0UmV0dXJuOgorICAgICAgICAgICAgICAgIENhbGxzIHRyaWdnZXJUaWVyVXBOb3coKSwgd2hp
Y2ggY2FsbHMgdHJpZ2dlckZUTFJlcGxhY2VtZW50Q29tcGlsZSgpLAorICAgICAgICAgICAgICAg
IHdoaWNoIGNhbGxzIFdvcmtsaXN0Ojpjb21wbGV0ZUFsbFJlYWR5UGxhbnNGb3JWTSgpLCB3aGlj
aCB1c2VzIERlZmVyR0MuCisKKyAgICAgICAgICAgIENoZWNrVGllclVwSW5Mb29wOgorICAgICAg
ICAgICAgICAgIENhbGxzIHRyaWdnZXJUaWVyVXBOb3dJbkxvb3AoKSwgd2hpY2ggY2FsbHMgdGll
clVwQ29tbW9uKCksIHdoaWNoIGNhbGxzCisgICAgICAgICAgICAgICAgV29ya2xpc3Q6OmNvbXBs
ZXRlQWxsUmVhZHlQbGFuc0ZvclZNKCksIHdoaWNoIHVzZXMgRGVmZXJHQy4KKworICAgICAgICAg
ICAgQ2hlY2tUaWVyVXBBbmRPU1JFbnRlcjoKKyAgICAgICAgICAgICAgICBDYWxscyB0cmlnZ2Vy
T1NSRW50cnlOb3coKSwgd2hpY2ggY2FsbHMgdGllclVwQ29tbW9uKCksIHdoaWNoIGNhbGxzCisg
ICAgICAgICAgICAgICAgV29ya2xpc3Q6OmNvbXBsZXRlQWxsUmVhZHlQbGFuc0ZvclZNKCksIHdo
aWNoIHVzZXMgRGVmZXJHQy4KKworICAgICAgICAgICAgR2V0QnlWYWw6CisgICAgICAgICAgICAg
ICAgY2FzZSBBcnJheTo6U3RyaW5nIGNhbGxzIG9wZXJhdGlvblNpbmdsZUNoYXJhY3RlclN0cmlu
ZygpLCB3aGljaCBjYWxscworICAgICAgICAgICAgICAgIGpzU2luZ2xlQ2hhcmFjdGVyU3RyaW5n
KCksIHdoaWNoIGNhbiBhbGxvY2F0ZSBhIHN0cmluZy4KKworICAgICAgICAgICAgUHV0QnlWYWxE
aXJlY3Q6CisgICAgICAgICAgICBQdXRCeVZhbDoKKyAgICAgICAgICAgIFB1dEJ5VmFsQWxpYXM6
CisgICAgICAgICAgICAgICAgRm9yIHRoZSBERkcgb25seSwgdGhlIGludGVnZXIgVHlwZUFycmF5
cyBjYWxscyBjb21waWxlUHV0QnlWYWxGb3JJbnRUeXBlZEFycmF5KCksCisgICAgICAgICAgICAg
ICAgd2hpY2ggbWF5IGNhbGwgc2xvdyBwYXRocyBvcGVyYXRpb25QdXRCeVZhbERpcmVjdFN0cmlj
dCgpLCBvcGVyYXRpb25QdXRCeVZhbERpcmVjdE5vblN0cmljdCgpLAorICAgICAgICAgICAgICAg
IG9wZXJhdGlvblB1dEJ5VmFsU3RyaWN0KCksIG9yIG9wZXJhdGlvblB1dEJ5VmFsTm9uU3RyaWN0
KCkuICBBbGwgb2YgdGhlc2UKKyAgICAgICAgICAgICAgICBzbG93IHBhdGhzIGNhbGwgcHV0QnlW
YWxJbnRlcm5hbCgpLCB3aGljaCBtYXkgY3JlYXRlIGV4Y2VwdGlvbiBvYmplY3RzLCBvcgorICAg
ICAgICAgICAgICAgIGNhbGwgdGhlIGdlbmVyaWMgSlNWYWx1ZTo6cHV0KCkgd2hpY2ggbWF5IGV4
ZWN1dGUgYXJiaXRyYXJ5IGNvZGUuCisKKyAgICAgICAgICAgIFN0cmluZ0NoYXJBdDoKKyAgICAg
ICAgICAgICAgICBDYW4gY2FsbCBvcGVyYXRpb25TaW5nbGVDaGFyYWN0ZXJTdHJpbmcoKSwgd2hp
Y2ggY2FsbHMganNTaW5nbGVDaGFyYWN0ZXJTdHJpbmcoKSwKKyAgICAgICAgICAgICAgICB3aGlj
aCBjYW4gYWxsb2NhdGUgYSBzdHJpbmcuCisKKyAgICAgICAgQWxzbyBmaXggREZHOjpTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZUdldEJ5VmFsT25TdHJpbmcoKSBhbmQgRlRMJ3MgY29tcGlsZVN0cmlu
Z0NoYXJBdCgpCisgICAgICAgIHRvIHVzZSB0aGUgbWF4U2luZ2xlQ2hhcmFjdGVyU3RyaW5nIGNv
bnN0YW50IGluc3RlYWQgb2YgYSBsaXRlcmFsIGNvbnN0YW50LgorCisgICAgICAgICogZGZnL0RG
R0RvZXNHQy5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6ZG9lc0dDKToKKyAgICAgICAgKiBkZmcv
REZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklU
Ojpjb21waWxlR2V0QnlWYWxPblN0cmluZyk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZl
SklUNjQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToK
KyAgICAgICAgKiBmdGwvRlRMTG93ZXJERkdUb0IzLmNwcDoKKyAgICAgICAgKEpTQzo6RlRMOjpE
Rkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZUdldEJ5VmFsKToKKyAgICAgICAgKEpTQzo6RlRMOjpE
Rkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZVB1dEJ5VmFsKToKKyAgICAgICAgKEpTQzo6RlRMOjpE
Rkc6Okxvd2VyREZHVG9CMzo6Y29tcGlsZVN0cmluZ0NoYXJBdCk6CisKIDIwMTktMDItMDggIFl1
c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxlLmNvbT4KIAogICAgICAgICBbSlNDXSBTb3VyY2VQ
cm92aWRlckNhY2hlSXRlbSBzaG91bGQgYmUgc21hbGwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRG9lc0dDLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0RvZXNHQy5jcHAJKHJldmlzaW9uIDI0MTIwNCkKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHRG9lc0dDLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsNiArNTMsNyBA
QCBib29sIGRvZXNHQyhHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgLy8gICAgICAgIHVu
bGVzcyBpdCBpcyBhIGtub3duIHRyYW5zaXRpb24gYmV0d2VlbiBwcmV2aW91c2x5IGFsbG9jYXRl
ZCBzdHJ1Y3R1cmVzCiAgICAgLy8gICAgICAgIHN1Y2ggYXMgYmV0d2VlbiBBcnJheSB0eXBlcy4K
ICAgICAvLyAgICAgNS4gQ2FsbHMgdG8gYSBKUyBmdW5jdGlvbiwgd2hpY2ggY2FuIGV4ZWN1dGUg
YXJiaXRyYXJ5IGNvZGUgaW5jbHVkaW5nIGFsbG9jYXRpbmcgb2JqZWN0cy4KKyAgICAvLyAgICAg
Ni4gQ2FsbHMgb3BlcmF0aW9ucyB0aGF0IHVzZXMgRGVmZXJHQywgYmVjYXVzZSBpdCBtYXkgR0Mg
aW4gaXRzIGRlc3RydWN0b3IuCiAKICAgICBzd2l0Y2ggKG5vZGUtPm9wKCkpIHsKICAgICBjYXNl
IEpTQ29uc3RhbnQ6CkBAIC0xNzcsOSArMTc4LDYgQEAgYm9vbCBkb2VzR0MoR3JhcGgmIGdyYXBo
LCBOb2RlKiBub2RlKQogICAgIGNhc2UgRXh0cmFjdE9TUkVudHJ5TG9jYWw6CiAgICAgY2FzZSBF
eHRyYWN0Q2F0Y2hMb2NhbDoKICAgICBjYXNlIENsZWFyQ2F0Y2hMb2NhbHM6Ci0gICAgY2FzZSBD
aGVja1RpZXJVcEluTG9vcDoKLSAgICBjYXNlIENoZWNrVGllclVwQXRSZXR1cm46Ci0gICAgY2Fz
ZSBDaGVja1RpZXJVcEFuZE9TUkVudGVyOgogICAgIGNhc2UgTG9vcEhpbnQ6CiAgICAgY2FzZSBT
dG9yZUJhcnJpZXI6CiAgICAgY2FzZSBGZW5jZWRTdG9yZUJhcnJpZXI6CkBAIC0xOTYsMTYgKzE5
NCwxMSBAQCBib29sIGRvZXNHQyhHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2FzZSBJ
bnQ1MlJlcDoKICAgICBjYXNlIEdldEdldHRlcjoKICAgICBjYXNlIEdldFNldHRlcjoKLSAgICBj
YXNlIEdldEJ5VmFsOgogICAgIGNhc2UgR2V0QXJyYXlMZW5ndGg6CiAgICAgY2FzZSBHZXRWZWN0
b3JMZW5ndGg6Ci0gICAgY2FzZSBTdHJpbmdDaGFyQXQ6CiAgICAgY2FzZSBTdHJpbmdDaGFyQ29k
ZUF0OgogICAgIGNhc2UgR2V0VHlwZWRBcnJheUJ5dGVPZmZzZXQ6CiAgICAgY2FzZSBHZXRQcm90
b3R5cGVPZjoKLSAgICBjYXNlIFB1dEJ5VmFsRGlyZWN0OgotICAgIGNhc2UgUHV0QnlWYWw6Ci0g
ICAgY2FzZSBQdXRCeVZhbEFsaWFzOgogICAgIGNhc2UgUHV0U3RydWN0dXJlOgogICAgIGNhc2Ug
R2V0QnlPZmZzZXQ6CiAgICAgY2FzZSBHZXRHZXR0ZXJTZXR0ZXJCeU9mZnNldDoKQEAgLTI3Miw2
ICsyNjUsOSBAQCBib29sIGRvZXNHQyhHcmFwaCYgZ3JhcGgsIE5vZGUqIG5vZGUpCiAgICAgY2Fz
ZSBDYWxsRm9yd2FyZFZhcmFyZ3M6CiAgICAgY2FzZSBDYWxsT2JqZWN0Q29uc3RydWN0b3I6CiAg
ICAgY2FzZSBDYWxsVmFyYXJnczoKKyAgICBjYXNlIENoZWNrVGllclVwQW5kT1NSRW50ZXI6Cisg
ICAgY2FzZSBDaGVja1RpZXJVcEF0UmV0dXJuOgorICAgIGNhc2UgQ2hlY2tUaWVyVXBJbkxvb3A6
CiAgICAgY2FzZSBDb25zdHJ1Y3Q6CiAgICAgY2FzZSBDb25zdHJ1Y3RGb3J3YXJkVmFyYXJnczoK
ICAgICBjYXNlIENvbnN0cnVjdFZhcmFyZ3M6CkBAIC0zMjUsNiArMzIxLDcgQEAgYm9vbCBkb2Vz
R0MoR3JhcGgmIGdyYXBoLCBOb2RlKiBub2RlKQogICAgIGNhc2UgUmVzb2x2ZVNjb3BlOgogICAg
IGNhc2UgUmVzb2x2ZVNjb3BlRm9ySG9pc3RpbmdGdW5jRGVjbEluRXZhbDoKICAgICBjYXNlIFJl
dHVybjoKKyAgICBjYXNlIFN0cmluZ0NoYXJBdDoKICAgICBjYXNlIFRhaWxDYWxsOgogICAgIGNh
c2UgVGFpbENhbGxGb3J3YXJkVmFyYXJnczoKICAgICBjYXNlIFRhaWxDYWxsRm9yd2FyZFZhcmFy
Z3NJbmxpbmVkQ2FsbGVyOgpAQCAtNDEyLDEwICs0MDksMzAgQEAgYm9vbCBkb2VzR0MoR3JhcGgm
IGdyYXBoLCBOb2RlKiBub2RlKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIGNhc2UgR2V0
SW5kZXhlZFByb3BlcnR5U3RvcmFnZToKKyAgICBjYXNlIEdldEJ5VmFsOgogICAgICAgICBpZiAo
bm9kZS0+YXJyYXlNb2RlKCkudHlwZSgpID09IEFycmF5OjpTdHJpbmcpCiAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCisgICAgY2FzZSBQdXRCeVZhbERp
cmVjdDoKKyAgICBjYXNlIFB1dEJ5VmFsOgorICAgIGNhc2UgUHV0QnlWYWxBbGlhczoKKyAgICAg
ICAgaWYgKCFncmFwaC5tX3BsYW4uaXNGVEwoKSkgeworICAgICAgICAgICAgc3dpdGNoIChub2Rl
LT5hcnJheU1vZGUoKS5tb2RlRm9yUHV0KCkudHlwZSgpKSB7CisgICAgICAgICAgICBjYXNlIEFy
cmF5OjpJbnQ4QXJyYXk6CisgICAgICAgICAgICBjYXNlIEFycmF5OjpJbnQxNkFycmF5OgorICAg
ICAgICAgICAgY2FzZSBBcnJheTo6SW50MzJBcnJheToKKyAgICAgICAgICAgIGNhc2UgQXJyYXk6
OlVpbnQ4QXJyYXk6CisgICAgICAgICAgICBjYXNlIEFycmF5OjpVaW50OENsYW1wZWRBcnJheToK
KyAgICAgICAgICAgIGNhc2UgQXJyYXk6OlVpbnQxNkFycmF5OgorICAgICAgICAgICAgY2FzZSBB
cnJheTo6VWludDMyQXJyYXk6CisgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAg
ICAgICBkZWZhdWx0OgorICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgICAgIHJldHVybiBmYWxzZTsKKwogICAgIGNhc2UgTWFwSGFzaDoKICAgICAg
ICAgc3dpdGNoIChub2RlLT5jaGlsZDEoKS51c2VLaW5kKCkpIHsKICAgICAgICAgY2FzZSBCb29s
ZWFuVXNlOgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJ
VDY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1
bGF0aXZlSklUNjQuY3BwCShyZXZpc2lvbiAyNDEyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yMzQ0LDgg
KzIzNDQsMTEgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogCiAg
ICAgY2FzZSBHZXRCeVZhbDogewogICAgICAgICBzd2l0Y2ggKG5vZGUtPmFycmF5TW9kZSgpLnR5
cGUoKSkgewotICAgICAgICBjYXNlIEFycmF5OjpTZWxlY3RVc2luZ1ByZWRpY3Rpb25zOgorICAg
ICAgICBjYXNlIEFycmF5OjpBbnlUeXBlZEFycmF5OgogICAgICAgICBjYXNlIEFycmF5OjpGb3Jj
ZUV4aXQ6CisgICAgICAgIGNhc2UgQXJyYXk6OlNlbGVjdFVzaW5nQXJndW1lbnRzOgorICAgICAg
ICBjYXNlIEFycmF5OjpTZWxlY3RVc2luZ1ByZWRpY3Rpb25zOgorICAgICAgICBjYXNlIEFycmF5
OjpVbnByb2ZpbGVkOgogICAgICAgICAgICAgREZHX0NSQVNIKG1faml0LmdyYXBoKCksIG5vZGUs
ICJCYWQgYXJyYXkgbW9kZSB0eXBlIik7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgY2Fz
ZSBBcnJheTo6VW5kZWNpZGVkOiB7CkBAIC0yNTY2LDcgKzI1NjksMTUgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZShOb2RlKiBub2RlKQogICAgICAgICBjYXNlIEFycmF5OjpTY29wZWRB
cmd1bWVudHM6CiAgICAgICAgICAgICBjb21waWxlR2V0QnlWYWxPblNjb3BlZEFyZ3VtZW50cyhu
b2RlKTsKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICBkZWZhdWx0OiB7CisgICAgICAgIGNh
c2UgQXJyYXk6OkludDhBcnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6SW50MTZBcnJheToKKyAg
ICAgICAgY2FzZSBBcnJheTo6SW50MzJBcnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6VWludDhB
cnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6VWludDhDbGFtcGVkQXJyYXk6CisgICAgICAgIGNh
c2UgQXJyYXk6OlVpbnQxNkFycmF5OgorICAgICAgICBjYXNlIEFycmF5OjpVaW50MzJBcnJheToK
KyAgICAgICAgY2FzZSBBcnJheTo6RmxvYXQzMkFycmF5OgorICAgICAgICBjYXNlIEFycmF5OjpG
bG9hdDY0QXJyYXk6IHsKICAgICAgICAgICAgIFR5cGVkQXJyYXlUeXBlIHR5cGUgPSBub2RlLT5h
cnJheU1vZGUoKS50eXBlZEFycmF5VHlwZSgpOwogICAgICAgICAgICAgaWYgKGlzSW50KHR5cGUp
KQogICAgICAgICAgICAgICAgIGNvbXBpbGVHZXRCeVZhbE9uSW50VHlwZWRBcnJheShub2RlLCB0
eXBlKTsKQEAgLTI4MDAsMTQgKzI4MTEsMzUgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZShOb2RlKiBub2RlKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgICAg
IAotICAgICAgICBkZWZhdWx0OiB7CisgICAgICAgIGNhc2UgQXJyYXk6OkludDhBcnJheToKKyAg
ICAgICAgY2FzZSBBcnJheTo6SW50MTZBcnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6SW50MzJB
cnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6VWludDhBcnJheToKKyAgICAgICAgY2FzZSBBcnJh
eTo6VWludDhDbGFtcGVkQXJyYXk6CisgICAgICAgIGNhc2UgQXJyYXk6OlVpbnQxNkFycmF5Ogor
ICAgICAgICBjYXNlIEFycmF5OjpVaW50MzJBcnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6Rmxv
YXQzMkFycmF5OgorICAgICAgICBjYXNlIEFycmF5OjpGbG9hdDY0QXJyYXk6IHsKICAgICAgICAg
ICAgIFR5cGVkQXJyYXlUeXBlIHR5cGUgPSBhcnJheU1vZGUudHlwZWRBcnJheVR5cGUoKTsKICAg
ICAgICAgICAgIGlmIChpc0ludCh0eXBlKSkKICAgICAgICAgICAgICAgICBjb21waWxlUHV0QnlW
YWxGb3JJbnRUeXBlZEFycmF5KGJhc2UuZ3ByKCksIHByb3BlcnR5LmdwcigpLCBub2RlLCB0eXBl
KTsKICAgICAgICAgICAgIGVsc2UKICAgICAgICAgICAgICAgICBjb21waWxlUHV0QnlWYWxGb3JG
bG9hdFR5cGVkQXJyYXkoYmFzZS5ncHIoKSwgcHJvcGVydHkuZ3ByKCksIG5vZGUsIHR5cGUpOwot
ICAgICAgICB9IH0KKyAgICAgICAgICAgIGJyZWFrOworICAgICAgICB9CiAKKyAgICAgICAgY2Fz
ZSBBcnJheTo6QW55VHlwZWRBcnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6U3RyaW5nOgorICAg
ICAgICBjYXNlIEFycmF5OjpEaXJlY3RBcmd1bWVudHM6CisgICAgICAgIGNhc2UgQXJyYXk6OkZv
cmNlRXhpdDoKKyAgICAgICAgY2FzZSBBcnJheTo6R2VuZXJpYzoKKyAgICAgICAgY2FzZSBBcnJh
eTo6U2NvcGVkQXJndW1lbnRzOgorICAgICAgICBjYXNlIEFycmF5OjpTZWxlY3RVc2luZ0FyZ3Vt
ZW50czoKKyAgICAgICAgY2FzZSBBcnJheTo6U2VsZWN0VXNpbmdQcmVkaWN0aW9uczoKKyAgICAg
ICAgY2FzZSBBcnJheTo6VW5kZWNpZGVkOgorICAgICAgICBjYXNlIEFycmF5OjpVbnByb2ZpbGVk
OgorICAgICAgICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgfQog
ICAgICAgICBicmVhazsKICAgICB9CiAgICAgICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJldmlzaW9uIDI0MTIwNCkKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0yMTk0LDcgKzIxOTQsNyBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxl
R2V0QnlWYWxPblN0CiAgICAgbV9qaXQubG9hZDE2KE1hY3JvQXNzZW1ibGVyOjpCYXNlSW5kZXgo
c3RvcmFnZVJlZywgcHJvcGVydHlSZWcsIE1hY3JvQXNzZW1ibGVyOjpUaW1lc1R3bywgMCksIHNj
cmF0Y2hSZWcpOwogCiAgICAgSklUQ29tcGlsZXI6Okp1bXAgYmlnQ2hhcmFjdGVyID0KLSAgICAg
ICAgbV9qaXQuYnJhbmNoMzIoTWFjcm9Bc3NlbWJsZXI6OkFib3ZlT3JFcXVhbCwgc2NyYXRjaFJl
ZywgVHJ1c3RlZEltbTMyKDB4MTAwKSk7CisgICAgICAgIG1faml0LmJyYW5jaDMyKE1hY3JvQXNz
ZW1ibGVyOjpBYm92ZSwgc2NyYXRjaFJlZywgVHJ1c3RlZEltbTMyKG1heFNpbmdsZUNoYXJhY3Rl
clN0cmluZykpOwogCiAgICAgLy8gOCBiaXQgc3RyaW5nIHZhbHVlcyBkb24ndCBuZWVkIHRoZSBp
c0FTQ0lJIGNoZWNrLgogICAgIGNvbnQ4Qml0LmxpbmsoJm1faml0KTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9CMy5jcHAJKHJldmlzaW9uIDI0MTIw
NCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0IzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNDE2MywxMyArNDE2MywyMSBAQCBwcml2YXRlOgogICAgICAgICAgICAg
cmV0dXJuOwogICAgICAgICB9CiAgICAgICAgICAgICAKLSAgICAgICAgZGVmYXVsdDogeworICAg
ICAgICBjYXNlIEFycmF5OjpJbnQ4QXJyYXk6CisgICAgICAgIGNhc2UgQXJyYXk6OkludDE2QXJy
YXk6CisgICAgICAgIGNhc2UgQXJyYXk6OkludDMyQXJyYXk6CisgICAgICAgIGNhc2UgQXJyYXk6
OlVpbnQ4QXJyYXk6CisgICAgICAgIGNhc2UgQXJyYXk6OlVpbnQ4Q2xhbXBlZEFycmF5OgorICAg
ICAgICBjYXNlIEFycmF5OjpVaW50MTZBcnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6VWludDMy
QXJyYXk6CisgICAgICAgIGNhc2UgQXJyYXk6OkZsb2F0MzJBcnJheToKKyAgICAgICAgY2FzZSBB
cnJheTo6RmxvYXQ2NEFycmF5OiB7CiAgICAgICAgICAgICBMVmFsdWUgaW5kZXggPSBsb3dJbnQz
MihtX2dyYXBoLnZhckFyZ0NoaWxkKG1fbm9kZSwgMSkpOwogICAgICAgICAgICAgTFZhbHVlIHN0
b3JhZ2UgPSBsb3dTdG9yYWdlKG1fZ3JhcGgudmFyQXJnQ2hpbGQobV9ub2RlLCAyKSk7CiAgICAg
ICAgICAgICAKICAgICAgICAgICAgIFR5cGVkQXJyYXlUeXBlIHR5cGUgPSBtX25vZGUtPmFycmF5
TW9kZSgpLnR5cGVkQXJyYXlUeXBlKCk7Ci0gICAgICAgICAgICAKLSAgICAgICAgICAgIGlmIChp
c1R5cGVkVmlldyh0eXBlKSkgeworICAgICAgICAgICAgQVNTRVJUKGlzVHlwZWRWaWV3KHR5cGUp
KTsKKyAgICAgICAgICAgIHsKICAgICAgICAgICAgICAgICBUeXBlZFBvaW50ZXIgcG9pbnRlciA9
IHBvaW50ZXJJbnRvVHlwZWRBcnJheShzdG9yYWdlLCBpbmRleCwgdHlwZSk7CiAgICAgICAgICAg
ICAgICAgCiAgICAgICAgICAgICAgICAgaWYgKGlzSW50KHR5cGUpKSB7CkBAIC00MTk2LDEwICs0
MjA0LDE2IEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgc2V0RG91YmxlKHJlc3VsdCk7CiAg
ICAgICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgfQotICAgICAgICAgICAgCisgICAg
ICAgIH0KKworICAgICAgICBjYXNlIEFycmF5OjpBbnlUeXBlZEFycmF5OgorICAgICAgICBjYXNl
IEFycmF5OjpGb3JjZUV4aXQ6CisgICAgICAgIGNhc2UgQXJyYXk6OlNlbGVjdFVzaW5nQXJndW1l
bnRzOgorICAgICAgICBjYXNlIEFycmF5OjpTZWxlY3RVc2luZ1ByZWRpY3Rpb25zOgorICAgICAg
ICBjYXNlIEFycmF5OjpVbnByb2ZpbGVkOgogICAgICAgICAgICAgREZHX0NSQVNIKG1fZ3JhcGgs
IG1fbm9kZSwgIkJhZCBhcnJheSB0eXBlIik7CiAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAg
IH0gfQorICAgICAgICB9CiAgICAgfQogICAgIAogICAgIHZvaWQgY29tcGlsZUdldE15QXJndW1l
bnRCeVZhbCgpCkBAIC00NDg4LDEwICs0NTAyLDE5IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBy
ZXR1cm47CiAgICAgICAgIH0KICAgICAgICAgICAgIAotICAgICAgICBkZWZhdWx0OiB7CisgICAg
ICAgIGNhc2UgQXJyYXk6OkludDhBcnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6SW50MTZBcnJh
eToKKyAgICAgICAgY2FzZSBBcnJheTo6SW50MzJBcnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6
VWludDhBcnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6VWludDhDbGFtcGVkQXJyYXk6CisgICAg
ICAgIGNhc2UgQXJyYXk6OlVpbnQxNkFycmF5OgorICAgICAgICBjYXNlIEFycmF5OjpVaW50MzJB
cnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6RmxvYXQzMkFycmF5OgorICAgICAgICBjYXNlIEFy
cmF5OjpGbG9hdDY0QXJyYXk6IHsKICAgICAgICAgICAgIFR5cGVkQXJyYXlUeXBlIHR5cGUgPSBh
cnJheU1vZGUudHlwZWRBcnJheVR5cGUoKTsKICAgICAgICAgICAgIAotICAgICAgICAgICAgaWYg
KGlzVHlwZWRWaWV3KHR5cGUpKSB7CisgICAgICAgICAgICBBU1NFUlQoaXNUeXBlZFZpZXcodHlw
ZSkpOworICAgICAgICAgICAgewogICAgICAgICAgICAgICAgIFR5cGVkUG9pbnRlciBwb2ludGVy
ID0gVHlwZWRQb2ludGVyKAogICAgICAgICAgICAgICAgICAgICBtX2hlYXBzLnR5cGVkQXJyYXlQ
cm9wZXJ0aWVzLAogICAgICAgICAgICAgICAgICAgICBtX291dC5hZGQoCkBAIC00NTQ0LDExICs0
NTY3LDIxIEBAIHByaXZhdGU6CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgcmV0
dXJuOwogICAgICAgICAgICAgfQorICAgICAgICB9CiAKKyAgICAgICAgY2FzZSBBcnJheTo6QW55
VHlwZWRBcnJheToKKyAgICAgICAgY2FzZSBBcnJheTo6U3RyaW5nOgorICAgICAgICBjYXNlIEFy
cmF5OjpEaXJlY3RBcmd1bWVudHM6CisgICAgICAgIGNhc2UgQXJyYXk6OkZvcmNlRXhpdDoKKyAg
ICAgICAgY2FzZSBBcnJheTo6R2VuZXJpYzoKKyAgICAgICAgY2FzZSBBcnJheTo6U2NvcGVkQXJn
dW1lbnRzOgorICAgICAgICBjYXNlIEFycmF5OjpTZWxlY3RVc2luZ0FyZ3VtZW50czoKKyAgICAg
ICAgY2FzZSBBcnJheTo6U2VsZWN0VXNpbmdQcmVkaWN0aW9uczoKKyAgICAgICAgY2FzZSBBcnJh
eTo6VW5kZWNpZGVkOgorICAgICAgICBjYXNlIEFycmF5OjpVbnByb2ZpbGVkOgogICAgICAgICAg
ICAgREZHX0NSQVNIKG1fZ3JhcGgsIG1fbm9kZSwgIkJhZCBhcnJheSB0eXBlIik7CiAgICAgICAg
ICAgICBicmVhazsKICAgICAgICAgfQotICAgICAgICB9CiAgICAgfQogCiAgICAgdm9pZCBjb21w
aWxlUHV0QWNjZXNzb3JCeUlkKCkKQEAgLTY1NzksNyArNjYxMiw3IEBAIHByaXZhdGU6CiAgICAg
ICAgICAgICAgICAgcHJvdmVuVmFsdWUobV9ncmFwaC5jaGlsZChtX25vZGUsIDEpKSkpOwogICAg
ICAgICBWYWx1ZUZyb21CbG9jayBjaGFyMTZCaXQgPSBtX291dC5hbmNob3IoY2hhcjE2Qml0VmFs
dWUpOwogICAgICAgICBtX291dC5icmFuY2goCi0gICAgICAgICAgICBtX291dC5hYm92ZU9yRXF1
YWwoY2hhcjE2Qml0VmFsdWUsIG1fb3V0LmNvbnN0SW50MzIoMHgxMDApKSwKKyAgICAgICAgICAg
IG1fb3V0LmFib3ZlKGNoYXIxNkJpdFZhbHVlLCBtX291dC5jb25zdEludDMyKG1heFNpbmdsZUNo
YXJhY3RlclN0cmluZykpLAogICAgICAgICAgICAgcmFyZWx5KGJpZ0NoYXJhY3RlciksIHVzdWFs
bHkoYml0c0NvbnRpbnVhdGlvbikpOwogICAgICAgICAgICAgCiAgICAgICAgIG1fb3V0LmFwcGVu
ZFRvKGJpZ0NoYXJhY3RlciwgYml0c0NvbnRpbnVhdGlvbik7Cg==
</data>
<flag name="review"
          id="378212"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>