<?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>194656</bug_id>
          
          <creation_ts>2019-02-14 09:51:25 -0800</creation_ts>
          <short_desc>lowerStackArgs should lower Lea32/64 on ARM64 to Add</short_desc>
          <delta_ts>2019-02-14 22:41:36 -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>
          
          <blocked>194036</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>guijemont</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>rmorisset</cc>
    
    <cc>ticaiolima</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>1506205</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-02-14 09:51:25 -0800</bug_when>
    <thetext>Because it&apos;s not really an address. It&apos;s just an add on arm. So we end up using the wrong computation since we think we have a scaled address.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506206</commentid>
    <comment_count>1</comment_count>
      <attachid>362031</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-02-14 09:53:07 -0800</bug_when>
    <thetext>Created attachment 362031
WIP

I want to add some more tests. But the lowering itself is done</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506402</commentid>
    <comment_count>2</comment_count>
      <attachid>362070</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-02-14 15:31:07 -0800</bug_when>
    <thetext>Created attachment 362070
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506447</commentid>
    <comment_count>3</comment_count>
      <attachid>362086</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-02-14 17:41:53 -0800</bug_when>
    <thetext>Created attachment 362086
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506471</commentid>
    <comment_count>4</comment_count>
      <attachid>362086</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2019-02-14 20:16:05 -0800</bug_when>
    <thetext>Comment on attachment 362086
patch

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

r=me, I understand the issue, interesting.

&gt; Source/JavaScriptCore/b3/air/AirLowerStackArgs.cpp:77
&gt; +            if (isARM64() &amp;&amp; (inst.kind.opcode == Lea32 || inst.kind.opcode == Lea64)) {
&gt; +                // On ARM64, Lea is just an add. We can&apos;t handle this below because
&gt; +                // taking into account the Width to see if we can compute the immediate
&gt; +                // is wrong.

Should we add some notes in AirOpcode.opcodes? Basically, UA (UseAddr) typed address would cause a similar problem. (Currently, only LEA uses this type).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506472</commentid>
    <comment_count>5</comment_count>
      <attachid>362086</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-02-14 20:22:41 -0800</bug_when>
    <thetext>Comment on attachment 362086
patch

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

&gt;&gt; Source/JavaScriptCore/b3/air/AirLowerStackArgs.cpp:77
&gt;&gt; +                // is wrong.
&gt; 
&gt; Should we add some notes in AirOpcode.opcodes? Basically, UA (UseAddr) typed address would cause a similar problem. (Currently, only LEA uses this type).

I don’t fully follow this comment. Can you expand on it. I feel like I’m missing something. What do you mean by UseAdder? What do you mean by “typed adresses”?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506475</commentid>
    <comment_count>6</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-02-14 20:39:54 -0800</bug_when>
    <thetext>Oh I see what you mean. I’ll add a comment</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506479</commentid>
    <comment_count>7</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2019-02-14 22:38:13 -0800</bug_when>
    <thetext>landed in:
https://trac.webkit.org/changeset/241577/webkit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1506481</commentid>
    <comment_count>8</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-02-14 22:41:36 -0800</bug_when>
    <thetext>&lt;rdar://problem/48101457&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362031</attachid>
            <date>2019-02-14 09:53:07 -0800</date>
            <delta_ts>2019-02-14 15:31:07 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>3860</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyTG93ZXJTdGFja0FyZ3MuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyTG93ZXJTdGFj
a0FyZ3MuY3BwCShyZXZpc2lvbiAyNDE1NDgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
YWlyL0Fpckxvd2VyU3RhY2tBcmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsNiArNzEsNDEg
QEAgdm9pZCBsb3dlclN0YWNrQXJncyhDb2RlJiBjb2RlKQogICAgICAgICBmb3IgKHVuc2lnbmVk
IGluc3RJbmRleCA9IDA7IGluc3RJbmRleCA8IGJsb2NrLT5zaXplKCk7ICsraW5zdEluZGV4KSB7
CiAgICAgICAgICAgICBJbnN0JiBpbnN0ID0gYmxvY2stPmF0KGluc3RJbmRleCk7CiAKKyAgICAg
ICAgICAgIGlmIChpc0FSTTY0KCkgJiYgKGluc3Qua2luZC5vcGNvZGUgPT0gTGVhMzIgfHwgaW5z
dC5raW5kLm9wY29kZSA9PSBMZWE2NCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvIGxvd2VyID0g
WyZdIChWYWx1ZTo6T2Zmc2V0VHlwZSBvZmZzZXQsIFRtcCBiYXNlKSB7CisgICAgICAgICAgICAg
ICAgICAgIEFTU0VSVChpbnN0LmFyZ3NbMV0uaXNUbXAoKSk7CisKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKEFyZzo6aXNWYWxpZEltbUZvcm0ob2Zmc2V0KSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGluc3QgPSBJbnN0KGluc3Qua2luZC5vcGNvZGUgPT0gTGVhMzIgPyBBZGQzMiA6IEFkZDY0
LCBpbnN0Lm9yaWdpbiwgQXJnOjppbW0ob2Zmc2V0KSwgYmFzZSwgaW5zdC5hcmdzWzFdKTsKKyAg
ICAgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQo
cGlubmVkRXh0ZW5kZWRPZmZzZXRBZGRyUmVnaXN0ZXIoKSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICBBaXI6OlRtcCB0bXAgPSBBaXI6OlRtcCgqcGlubmVkRXh0ZW5kZWRPZmZzZXRBZGRyUmVn
aXN0ZXIoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBBcmcgb2Zmc2V0QXJnID0gQXJnOjpi
aWdJbW0ob2Zmc2V0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGluc2VydGlvblNldC5pbnNl
cnQoaW5zdEluZGV4LCBNb3ZlLCBpbnN0Lm9yaWdpbiwgb2Zmc2V0QXJnLCB0bXApOworICAgICAg
ICAgICAgICAgICAgICAgICAgaW5zdCA9IEluc3QoaW5zdC5raW5kLm9wY29kZSA9PSBMZWEzMiA/
IEFkZDMyIDogQWRkNjQsIGluc3Qub3JpZ2luLCB0bXAsIGluc3QuYXJnc1sxXSk7CisgICAgICAg
ICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9OworCisgICAgICAgICAgICAgICAgc3dp
dGNoIChpbnN0LmFyZ3NbMF0ua2luZCgpKSB7CisgICAgICAgICAgICAgICAgY2FzZSBBcmc6OlN0
YWNrOiB7CisgICAgICAgICAgICAgICAgICAgIFN0YWNrU2xvdCogc2xvdCA9IGluc3QuYXJnc1sw
XS5zdGFja1Nsb3QoKTsKKyAgICAgICAgICAgICAgICAgICAgbG93ZXIoaW5zdC5hcmdzWzBdLm9m
ZnNldCgpICsgc2xvdC0+b2Zmc2V0RnJvbUZQKCksIFRtcChHUFJJbmZvOjpjYWxsRnJhbWVSZWdp
c3RlcikpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9Cisg
ICAgICAgICAgICAgICAgY2FzZSBBcmc6OkNhbGxBcmc6CisgICAgICAgICAgICAgICAgICAgIGxv
d2VyKGluc3QuYXJnc1swXS5vZmZzZXQoKSAtIGNvZGUuZnJhbWVTaXplKCksIFRtcChHUFJJbmZv
OjpjYWxsRnJhbWVSZWdpc3RlcikpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAg
ICAgICAgICAgICBjYXNlIEFyZzo6QWRkcjoKKyAgICAgICAgICAgICAgICAgICAgbG93ZXIoaW5z
dC5hcmdzWzBdLm9mZnNldCgpLCBpbnN0LmFyZ3NbMF0uYmFzZSgpKTsKKyAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAgICAgICAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAg
ICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAgICAgICAg
fQorCiAgICAgICAgICAgICBpbnN0LmZvckVhY2hBcmcoCiAgICAgICAgICAgICAgICAgWyZdIChB
cmcmIGFyZywgQXJnOjpSb2xlIHJvbGUsIEJhbmssIFdpZHRoIHdpZHRoKSB7CiAgICAgICAgICAg
ICAgICAgICAgIGF1dG8gc3RhY2tBZGRyID0gWyZdIChWYWx1ZTo6T2Zmc2V0VHlwZSBvZmZzZXRG
cm9tRlApIC0+IEFyZyB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL3Rlc3Rh
aXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvdGVzdGFp
ci5jcHAJKHJldmlzaW9uIDI0MTU0OCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIv
dGVzdGFpci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMjgsNiArMjAyOCw0MCBAQCB2b2lkIHRl
c3RBcmd1bWVudFJlZ1Bpbm5lZDMoKQogICAgIENIRUNLKHIgPT0gMTAgKyA0MiArIDQyKTsKIH0K
IAordm9pZCB0ZXN0TGVhNjQoKQoreworICAgIEIzOjpQcm9jZWR1cmUgcHJvYzsKKyAgICBDb2Rl
JiBjb2RlID0gcHJvYy5jb2RlKCk7CisKKyAgICBCYXNpY0Jsb2NrKiByb290ID0gY29kZS5hZGRC
bG9jaygpOworCisgICAgaW50NjRfdCBhID0gMHgxMTIyMzM0NDsKKyAgICBpbnQ2NF90IGIgPSAx
IDw8IDEzOworCisgICAgcm9vdC0+YXBwZW5kKExlYTY0LCBudWxscHRyLCBBcmc6OmFkZHIoVG1w
KEdQUkluZm86OmFyZ3VtZW50R1BSMCksIGIpLCBUbXAoR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIp
KTsKKyAgICByb290LT5hcHBlbmQoUmV0NjQsIG51bGxwdHIsIFRtcChHUFJJbmZvOjpyZXR1cm5W
YWx1ZUdQUikpOworCisgICAgaW50NjRfdCByID0gY29tcGlsZUFuZFJ1bjxpbnQ2NF90Pihwcm9j
LCBhKTsKKyAgICBDSEVDSyhyID09IGEgKyBiKTsKK30KKwordm9pZCB0ZXN0TGVhMzIoKQorewor
ICAgIEIzOjpQcm9jZWR1cmUgcHJvYzsKKyAgICBDb2RlJiBjb2RlID0gcHJvYy5jb2RlKCk7CisK
KyAgICBCYXNpY0Jsb2NrKiByb290ID0gY29kZS5hZGRCbG9jaygpOworCisgICAgaW50MzJfdCBh
ID0gMHgxMTIyMzM0NDsKKyAgICBpbnQzMl90IGIgPSAxIDw8IDEzOworCisgICAgcm9vdC0+YXBw
ZW5kKExlYTMyLCBudWxscHRyLCBBcmc6OmFkZHIoVG1wKEdQUkluZm86OmFyZ3VtZW50R1BSMCks
IGIpLCBUbXAoR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIpKTsKKyAgICByb290LT5hcHBlbmQoUmV0
MzIsIG51bGxwdHIsIFRtcChHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUikpOworCisgICAgaW50MzJf
dCByID0gY29tcGlsZUFuZFJ1bjxpbnQzMl90Pihwcm9jLCBhKTsKKyAgICBDSEVDSyhyID09IGEg
KyBiKTsKK30KKwogI2RlZmluZSBSVU4odGVzdCkgZG8geyAgICAgICAgICAgICAgICAgICAgICAg
ICAgXAogICAgICAgICBpZiAoIXNob3VsZFJ1bigjdGVzdCkpICAgICAgICAgICAgICAgICAgXAog
ICAgICAgICAgICAgYnJlYWs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApAQCAtMjEx
Myw2ICsyMTQ3LDkgQEAgdm9pZCBydW4oY29uc3QgY2hhciogZmlsdGVyKQogICAgIFJVTih0ZXN0
QXJndW1lbnRSZWdQaW5uZWQyKCkpOwogICAgIFJVTih0ZXN0QXJndW1lbnRSZWdQaW5uZWQzKCkp
OwogCisgICAgUlVOKHRlc3RMZWEzMigpKTsKKyAgICBSVU4odGVzdExlYTY0KCkpOworCiAgICAg
aWYgKHRhc2tzLmlzRW1wdHkoKSkKICAgICAgICAgdXNhZ2UoKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362070</attachid>
            <date>2019-02-14 15:31:07 -0800</date>
            <delta_ts>2019-02-14 17:41:53 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>patch.diff</filename>
            <type>text/plain</type>
            <size>3866</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyTG93ZXJTdGFja0FyZ3MuY3Bw
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIvQWlyTG93ZXJTdGFj
a0FyZ3MuY3BwCShyZXZpc2lvbiAyNDE0ODIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMv
YWlyL0Fpckxvd2VyU3RhY2tBcmdzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzEsNiArNzEsNDEg
QEAgdm9pZCBsb3dlclN0YWNrQXJncyhDb2RlJiBjb2RlKQogICAgICAgICBmb3IgKHVuc2lnbmVk
IGluc3RJbmRleCA9IDA7IGluc3RJbmRleCA8IGJsb2NrLT5zaXplKCk7ICsraW5zdEluZGV4KSB7
CiAgICAgICAgICAgICBJbnN0JiBpbnN0ID0gYmxvY2stPmF0KGluc3RJbmRleCk7CiAKKyAgICAg
ICAgICAgIGlmIChpc0FSTTY0KCkgJiYgKGluc3Qua2luZC5vcGNvZGUgPT0gTGVhMzIgfHwgaW5z
dC5raW5kLm9wY29kZSA9PSBMZWE2NCkpIHsKKyAgICAgICAgICAgICAgICBhdXRvIGxvd2VyID0g
WyZdIChWYWx1ZTo6T2Zmc2V0VHlwZSBvZmZzZXQsIFRtcCBiYXNlKSB7CisgICAgICAgICAgICAg
ICAgICAgIEFTU0VSVChpbnN0LmFyZ3NbMV0uaXNUbXAoKSk7CisKKyAgICAgICAgICAgICAgICAg
ICAgaWYgKEFyZzo6aXNWYWxpZEltbUZvcm0ob2Zmc2V0KSkKKyAgICAgICAgICAgICAgICAgICAg
ICAgIGluc3QgPSBJbnN0KGluc3Qua2luZC5vcGNvZGUgPT0gTGVhMzIgPyBBZGQzMiA6IEFkZDY0
LCBpbnN0Lm9yaWdpbiwgQXJnOjppbW0ob2Zmc2V0KSwgYmFzZSwgaW5zdC5hcmdzWzFdKTsKKyAg
ICAgICAgICAgICAgICAgICAgZWxzZSB7CisgICAgICAgICAgICAgICAgICAgICAgICBBU1NFUlQo
cGlubmVkRXh0ZW5kZWRPZmZzZXRBZGRyUmVnaXN0ZXIoKSk7CisgICAgICAgICAgICAgICAgICAg
ICAgICBBaXI6OlRtcCB0bXAgPSBBaXI6OlRtcCgqcGlubmVkRXh0ZW5kZWRPZmZzZXRBZGRyUmVn
aXN0ZXIoKSk7CisgICAgICAgICAgICAgICAgICAgICAgICBBcmcgb2Zmc2V0QXJnID0gQXJnOjpi
aWdJbW0ob2Zmc2V0KTsKKyAgICAgICAgICAgICAgICAgICAgICAgIGluc2VydGlvblNldC5pbnNl
cnQoaW5zdEluZGV4LCBNb3ZlLCBpbnN0Lm9yaWdpbiwgb2Zmc2V0QXJnLCB0bXApOworICAgICAg
ICAgICAgICAgICAgICAgICAgaW5zdCA9IEluc3QoaW5zdC5raW5kLm9wY29kZSA9PSBMZWEzMiA/
IEFkZDMyIDogQWRkNjQsIGluc3Qub3JpZ2luLCB0bXAsIGJhc2UsIGluc3QuYXJnc1sxXSk7Cisg
ICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICB9OworCisgICAgICAgICAgICAg
ICAgc3dpdGNoIChpbnN0LmFyZ3NbMF0ua2luZCgpKSB7CisgICAgICAgICAgICAgICAgY2FzZSBB
cmc6OlN0YWNrOiB7CisgICAgICAgICAgICAgICAgICAgIFN0YWNrU2xvdCogc2xvdCA9IGluc3Qu
YXJnc1swXS5zdGFja1Nsb3QoKTsKKyAgICAgICAgICAgICAgICAgICAgbG93ZXIoaW5zdC5hcmdz
WzBdLm9mZnNldCgpICsgc2xvdC0+b2Zmc2V0RnJvbUZQKCksIFRtcChHUFJJbmZvOjpjYWxsRnJh
bWVSZWdpc3RlcikpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg
ICB9CisgICAgICAgICAgICAgICAgY2FzZSBBcmc6OkNhbGxBcmc6CisgICAgICAgICAgICAgICAg
ICAgIGxvd2VyKGluc3QuYXJnc1swXS5vZmZzZXQoKSAtIGNvZGUuZnJhbWVTaXplKCksIFRtcChH
UFJJbmZvOjpjYWxsRnJhbWVSZWdpc3RlcikpOworICAgICAgICAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgICAgICAgICBjYXNlIEFyZzo6QWRkcjoKKyAgICAgICAgICAgICAgICAgICAgbG93
ZXIoaW5zdC5hcmdzWzBdLm9mZnNldCgpLCBpbnN0LmFyZ3NbMF0uYmFzZSgpKTsKKyAgICAgICAg
ICAgICAgICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgZGVmYXVsdDoKKyAgICAgICAgICAg
ICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFr
OworICAgICAgICAgICAgICAgIH0KKworICAgICAgICAgICAgICAgIGNvbnRpbnVlOworICAgICAg
ICAgICAgfQorCiAgICAgICAgICAgICBpbnN0LmZvckVhY2hBcmcoCiAgICAgICAgICAgICAgICAg
WyZdIChBcmcmIGFyZywgQXJnOjpSb2xlIHJvbGUsIEJhbmssIFdpZHRoIHdpZHRoKSB7CiAgICAg
ICAgICAgICAgICAgICAgIGF1dG8gc3RhY2tBZGRyID0gWyZdIChWYWx1ZTo6T2Zmc2V0VHlwZSBv
ZmZzZXRGcm9tRlApIC0+IEFyZyB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWly
L3Rlc3RhaXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9iMy9haXIv
dGVzdGFpci5jcHAJKHJldmlzaW9uIDI0MTQ4MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9i
My9haXIvdGVzdGFpci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIwMjgsNiArMjAyOCw0MCBAQCB2
b2lkIHRlc3RBcmd1bWVudFJlZ1Bpbm5lZDMoKQogICAgIENIRUNLKHIgPT0gMTAgKyA0MiArIDQy
KTsKIH0KIAordm9pZCB0ZXN0TGVhNjQoKQoreworICAgIEIzOjpQcm9jZWR1cmUgcHJvYzsKKyAg
ICBDb2RlJiBjb2RlID0gcHJvYy5jb2RlKCk7CisKKyAgICBCYXNpY0Jsb2NrKiByb290ID0gY29k
ZS5hZGRCbG9jaygpOworCisgICAgaW50NjRfdCBhID0gMHgxMTIyMzM0NDsKKyAgICBpbnQ2NF90
IGIgPSAxIDw8IDEzOworCisgICAgcm9vdC0+YXBwZW5kKExlYTY0LCBudWxscHRyLCBBcmc6OmFk
ZHIoVG1wKEdQUkluZm86OmFyZ3VtZW50R1BSMCksIGIpLCBUbXAoR1BSSW5mbzo6cmV0dXJuVmFs
dWVHUFIpKTsKKyAgICByb290LT5hcHBlbmQoUmV0NjQsIG51bGxwdHIsIFRtcChHUFJJbmZvOjpy
ZXR1cm5WYWx1ZUdQUikpOworCisgICAgaW50NjRfdCByID0gY29tcGlsZUFuZFJ1bjxpbnQ2NF90
Pihwcm9jLCBhKTsKKyAgICBDSEVDSyhyID09IGEgKyBiKTsKK30KKwordm9pZCB0ZXN0TGVhMzIo
KQoreworICAgIEIzOjpQcm9jZWR1cmUgcHJvYzsKKyAgICBDb2RlJiBjb2RlID0gcHJvYy5jb2Rl
KCk7CisKKyAgICBCYXNpY0Jsb2NrKiByb290ID0gY29kZS5hZGRCbG9jaygpOworCisgICAgaW50
MzJfdCBhID0gMHgxMTIyMzM0NDsKKyAgICBpbnQzMl90IGIgPSAxIDw8IDEzOworCisgICAgcm9v
dC0+YXBwZW5kKExlYTMyLCBudWxscHRyLCBBcmc6OmFkZHIoVG1wKEdQUkluZm86OmFyZ3VtZW50
R1BSMCksIGIpLCBUbXAoR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIpKTsKKyAgICByb290LT5hcHBl
bmQoUmV0MzIsIG51bGxwdHIsIFRtcChHUFJJbmZvOjpyZXR1cm5WYWx1ZUdQUikpOworCisgICAg
aW50MzJfdCByID0gY29tcGlsZUFuZFJ1bjxpbnQzMl90Pihwcm9jLCBhKTsKKyAgICBDSEVDSyhy
ID09IGEgKyBiKTsKK30KKwogI2RlZmluZSBSVU4odGVzdCkgZG8geyAgICAgICAgICAgICAgICAg
ICAgICAgICAgXAogICAgICAgICBpZiAoIXNob3VsZFJ1bigjdGVzdCkpICAgICAgICAgICAgICAg
ICAgXAogICAgICAgICAgICAgYnJlYWs7ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXApA
QCAtMjExMyw2ICsyMTQ3LDkgQEAgdm9pZCBydW4oY29uc3QgY2hhciogZmlsdGVyKQogICAgIFJV
Tih0ZXN0QXJndW1lbnRSZWdQaW5uZWQyKCkpOwogICAgIFJVTih0ZXN0QXJndW1lbnRSZWdQaW5u
ZWQzKCkpOwogCisgICAgUlVOKHRlc3RMZWEzMigpKTsKKyAgICBSVU4odGVzdExlYTY0KCkpOwor
CiAgICAgaWYgKHRhc2tzLmlzRW1wdHkoKSkKICAgICAgICAgdXNhZ2UoKTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>362086</attachid>
            <date>2019-02-14 17:41:53 -0800</date>
            <delta_ts>2019-02-14 20:16:05 -0800</delta_ts>
            <desc>patch</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>5214</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjQxNTczKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIwIEBA
CisyMDE5LTAyLTE0ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IGxvd2VyU3RhY2tBcmdzIHNob3VsZCBsb3dlciBMZWEzMi82NCBvbiBBUk02NAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk0NjU2CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgT24gYXJtNjQsIExlYSBpcyBq
dXN0IGltcGxlbWVudGVkIGFzIGFuIGFkZC4gSG93ZXZlciwgQWlyIHRyZWF0cyBpdCBhcyBhbgor
ICAgICAgICBhZGRyZXNzIHdpdGggYSBnaXZlbiB3aWR0aC4gQmVjYXVzZSBvZiB0aGlzIHdpZHRo
LCB3ZSB3ZXJlIGluY29ycmVjdGx5CisgICAgICAgIGNvbXB1dGluZyB3aGV0aGVyIG9yIG5vdCB0
aGlzIGltbWVkaWF0ZSBjb3VsZCBmaXQgaW50byB0aGUgaW5zdHJ1Y3Rpb24gaXRzZWxmCisgICAg
ICAgIG9yIGl0IG5lZWRlZCB0byBiZSBleHBsaWNpdGx5IHB1dCBpbnRvIGEgcmVnaXN0ZXIuIFRo
aXMgcGF0Y2ggbWFrZXMKKyAgICAgICAgQWlyTG93ZXJTdGFja0FyZ3MgbG93ZXIgTGVhIHRvIEFk
ZCBvbiBhcm02NC4KKworICAgICAgICAqIGIzL2Fpci9BaXJMb3dlclN0YWNrQXJncy5jcHA6Cisg
ICAgICAgIChKU0M6OkIzOjpBaXI6Omxvd2VyU3RhY2tBcmdzKToKKyAgICAgICAgKiBiMy9haXIv
dGVzdGFpci5jcHA6CisKIDIwMTktMDItMTQgIFNhYW0gQmFyYXRpICA8c2JhcmF0aUBhcHBsZS5j
b20+CiAKICAgICAgICAgQ2FjaGUgdGhlIHJlc3VsdHMgb2YgQnl0ZWNvZGVHZW5lcmF0b3I6Omdl
dFZhcmlhYmxlc1VuZGVyVERaCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL0Fp
ckxvd2VyU3RhY2tBcmdzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
YjMvYWlyL0Fpckxvd2VyU3RhY2tBcmdzLmNwcAkocmV2aXNpb24gMjQxNTczKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2IzL2Fpci9BaXJMb3dlclN0YWNrQXJncy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTcxLDYgKzcxLDQ2IEBAIHZvaWQgbG93ZXJTdGFja0FyZ3MoQ29kZSYgY29kZSkKICAg
ICAgICAgZm9yICh1bnNpZ25lZCBpbnN0SW5kZXggPSAwOyBpbnN0SW5kZXggPCBibG9jay0+c2l6
ZSgpOyArK2luc3RJbmRleCkgewogICAgICAgICAgICAgSW5zdCYgaW5zdCA9IGJsb2NrLT5hdChp
bnN0SW5kZXgpOwogCisgICAgICAgICAgICBpZiAoaXNBUk02NCgpICYmIChpbnN0LmtpbmQub3Bj
b2RlID09IExlYTMyIHx8IGluc3Qua2luZC5vcGNvZGUgPT0gTGVhNjQpKSB7CisgICAgICAgICAg
ICAgICAgLy8gT24gQVJNNjQsIExlYSBpcyBqdXN0IGFuIGFkZC4gV2UgY2FuJ3QgaGFuZGxlIHRo
aXMgYmVsb3cgYmVjYXVzZQorICAgICAgICAgICAgICAgIC8vIHRha2luZyBpbnRvIGFjY291bnQg
dGhlIFdpZHRoIHRvIHNlZSBpZiB3ZSBjYW4gY29tcHV0ZSB0aGUgaW1tZWRpYXRlCisgICAgICAg
ICAgICAgICAgLy8gaXMgd3JvbmcuCisgICAgICAgICAgICAgICAgYXV0byBsb3dlckFybUxlYSA9
IFsmXSAoVmFsdWU6Ok9mZnNldFR5cGUgb2Zmc2V0LCBUbXAgYmFzZSkgeworICAgICAgICAgICAg
ICAgICAgICBBU1NFUlQoaW5zdC5hcmdzWzFdLmlzVG1wKCkpOworCisgICAgICAgICAgICAgICAg
ICAgIGlmIChBcmc6OmlzVmFsaWRJbW1Gb3JtKG9mZnNldCkpCisgICAgICAgICAgICAgICAgICAg
ICAgICBpbnN0ID0gSW5zdChpbnN0LmtpbmQub3Bjb2RlID09IExlYTMyID8gQWRkMzIgOiBBZGQ2
NCwgaW5zdC5vcmlnaW4sIEFyZzo6aW1tKG9mZnNldCksIGJhc2UsIGluc3QuYXJnc1sxXSk7Cisg
ICAgICAgICAgICAgICAgICAgIGVsc2UgeworICAgICAgICAgICAgICAgICAgICAgICAgQVNTRVJU
KHBpbm5lZEV4dGVuZGVkT2Zmc2V0QWRkclJlZ2lzdGVyKCkpOworICAgICAgICAgICAgICAgICAg
ICAgICAgQWlyOjpUbXAgdG1wID0gQWlyOjpUbXAoKnBpbm5lZEV4dGVuZGVkT2Zmc2V0QWRkclJl
Z2lzdGVyKCkpOworICAgICAgICAgICAgICAgICAgICAgICAgQXJnIG9mZnNldEFyZyA9IEFyZzo6
YmlnSW1tKG9mZnNldCk7CisgICAgICAgICAgICAgICAgICAgICAgICBpbnNlcnRpb25TZXQuaW5z
ZXJ0KGluc3RJbmRleCwgTW92ZSwgaW5zdC5vcmlnaW4sIG9mZnNldEFyZywgdG1wKTsKKyAgICAg
ICAgICAgICAgICAgICAgICAgIGluc3QgPSBJbnN0KGluc3Qua2luZC5vcGNvZGUgPT0gTGVhMzIg
PyBBZGQzMiA6IEFkZDY0LCBpbnN0Lm9yaWdpbiwgdG1wLCBiYXNlLCBpbnN0LmFyZ3NbMV0pOwor
ICAgICAgICAgICAgICAgICAgICB9CisgICAgICAgICAgICAgICAgfTsKKworICAgICAgICAgICAg
ICAgIHN3aXRjaCAoaW5zdC5hcmdzWzBdLmtpbmQoKSkgeworICAgICAgICAgICAgICAgIGNhc2Ug
QXJnOjpTdGFjazogeworICAgICAgICAgICAgICAgICAgICBTdGFja1Nsb3QqIHNsb3QgPSBpbnN0
LmFyZ3NbMF0uc3RhY2tTbG90KCk7CisgICAgICAgICAgICAgICAgICAgIGxvd2VyQXJtTGVhKGlu
c3QuYXJnc1swXS5vZmZzZXQoKSArIHNsb3QtPm9mZnNldEZyb21GUCgpLCBUbXAoR1BSSW5mbzo6
Y2FsbEZyYW1lUmVnaXN0ZXIpKTsKKyAgICAgICAgICAgICAgICAgICAgYnJlYWs7CisgICAgICAg
ICAgICAgICAgfQorICAgICAgICAgICAgICAgIGNhc2UgQXJnOjpDYWxsQXJnOgorICAgICAgICAg
ICAgICAgICAgICBsb3dlckFybUxlYShpbnN0LmFyZ3NbMF0ub2Zmc2V0KCkgLSBjb2RlLmZyYW1l
U2l6ZSgpLCBUbXAoR1BSSW5mbzo6Y2FsbEZyYW1lUmVnaXN0ZXIpKTsKKyAgICAgICAgICAgICAg
ICAgICAgYnJlYWs7CisgICAgICAgICAgICAgICAgY2FzZSBBcmc6OkFkZHI6CisgICAgICAgICAg
ICAgICAgICAgIGxvd2VyQXJtTGVhKGluc3QuYXJnc1swXS5vZmZzZXQoKSwgaW5zdC5hcmdzWzBd
LmJhc2UoKSk7CisgICAgICAgICAgICAgICAgICAgIGJyZWFrOworICAgICAgICAgICAgICAgIGNh
c2UgQXJnOjpFeHRlbmRlZE9mZnNldEFkZHI6CisgICAgICAgICAgICAgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAg
ICBkZWZhdWx0OgorICAgICAgICAgICAgICAgICAgICBicmVhazsKKyAgICAgICAgICAgICAgICB9
CisKKyAgICAgICAgICAgICAgICBjb250aW51ZTsKKyAgICAgICAgICAgIH0KKwogICAgICAgICAg
ICAgaW5zdC5mb3JFYWNoQXJnKAogICAgICAgICAgICAgICAgIFsmXSAoQXJnJiBhcmcsIEFyZzo6
Um9sZSByb2xlLCBCYW5rLCBXaWR0aCB3aWR0aCkgewogICAgICAgICAgICAgICAgICAgICBhdXRv
IHN0YWNrQWRkciA9IFsmXSAoVmFsdWU6Ok9mZnNldFR5cGUgb2Zmc2V0RnJvbUZQKSAtPiBBcmcg
ewpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2IzL2Fpci90ZXN0YWlyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL3Rlc3RhaXIuY3BwCShyZXZpc2lv
biAyNDE1NzMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYjMvYWlyL3Rlc3RhaXIuY3BwCSh3
b3JraW5nIGNvcHkpCkBAIC0yMDI4LDYgKzIwMjgsNDAgQEAgdm9pZCB0ZXN0QXJndW1lbnRSZWdQ
aW5uZWQzKCkKICAgICBDSEVDSyhyID09IDEwICsgNDIgKyA0Mik7CiB9CiAKK3ZvaWQgdGVzdExl
YTY0KCkKK3sKKyAgICBCMzo6UHJvY2VkdXJlIHByb2M7CisgICAgQ29kZSYgY29kZSA9IHByb2Mu
Y29kZSgpOworCisgICAgQmFzaWNCbG9jayogcm9vdCA9IGNvZGUuYWRkQmxvY2soKTsKKworICAg
IGludDY0X3QgYSA9IDB4MTEyMjMzNDQ7CisgICAgaW50NjRfdCBiID0gMSA8PCAxMzsKKworICAg
IHJvb3QtPmFwcGVuZChMZWE2NCwgbnVsbHB0ciwgQXJnOjphZGRyKFRtcChHUFJJbmZvOjphcmd1
bWVudEdQUjApLCBiKSwgVG1wKEdQUkluZm86OnJldHVyblZhbHVlR1BSKSk7CisgICAgcm9vdC0+
YXBwZW5kKFJldDY0LCBudWxscHRyLCBUbXAoR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIpKTsKKwor
ICAgIGludDY0X3QgciA9IGNvbXBpbGVBbmRSdW48aW50NjRfdD4ocHJvYywgYSk7CisgICAgQ0hF
Q0sociA9PSBhICsgYik7Cit9CisKK3ZvaWQgdGVzdExlYTMyKCkKK3sKKyAgICBCMzo6UHJvY2Vk
dXJlIHByb2M7CisgICAgQ29kZSYgY29kZSA9IHByb2MuY29kZSgpOworCisgICAgQmFzaWNCbG9j
ayogcm9vdCA9IGNvZGUuYWRkQmxvY2soKTsKKworICAgIGludDMyX3QgYSA9IDB4MTEyMjMzNDQ7
CisgICAgaW50MzJfdCBiID0gMSA8PCAxMzsKKworICAgIHJvb3QtPmFwcGVuZChMZWEzMiwgbnVs
bHB0ciwgQXJnOjphZGRyKFRtcChHUFJJbmZvOjphcmd1bWVudEdQUjApLCBiKSwgVG1wKEdQUklu
Zm86OnJldHVyblZhbHVlR1BSKSk7CisgICAgcm9vdC0+YXBwZW5kKFJldDMyLCBudWxscHRyLCBU
bXAoR1BSSW5mbzo6cmV0dXJuVmFsdWVHUFIpKTsKKworICAgIGludDMyX3QgciA9IGNvbXBpbGVB
bmRSdW48aW50MzJfdD4ocHJvYywgYSk7CisgICAgQ0hFQ0sociA9PSBhICsgYik7Cit9CisKICNk
ZWZpbmUgUlVOKHRlc3QpIGRvIHsgICAgICAgICAgICAgICAgICAgICAgICAgIFwKICAgICAgICAg
aWYgKCFzaG91bGRSdW4oI3Rlc3QpKSAgICAgICAgICAgICAgICAgIFwKICAgICAgICAgICAgIGJy
ZWFrOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFwKQEAgLTIxMTMsNiArMjE0Nyw5IEBA
IHZvaWQgcnVuKGNvbnN0IGNoYXIqIGZpbHRlcikKICAgICBSVU4odGVzdEFyZ3VtZW50UmVnUGlu
bmVkMigpKTsKICAgICBSVU4odGVzdEFyZ3VtZW50UmVnUGlubmVkMygpKTsKIAorICAgIFJVTih0
ZXN0TGVhMzIoKSk7CisgICAgUlVOKHRlc3RMZWE2NCgpKTsKKwogICAgIGlmICh0YXNrcy5pc0Vt
cHR5KCkpCiAgICAgICAgIHVzYWdlKCk7CiAK
</data>
<flag name="review"
          id="378727"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
      

    </bug>

</bugzilla>