<?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>133764</bug_id>
          
          <creation_ts>2014-06-11 14:07:44 -0700</creation_ts>
          <short_desc>make sdiv a template on armv7s to remove duplicate code in dfg</short_desc>
          <delta_ts>2014-06-18 11:06:51 -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>528+ (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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alex Christensen">achristensen</reporter>
          <assigned_to name="Alex Christensen">achristensen</assigned_to>
          <cc>benjamin</cc>
    
    <cc>dbates</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1014906</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2014-06-11 14:07:44 -0700</bug_when>
    <thetext>While playing with the css jit I noticed that sdiv is very similar on APPLE_ARMV7S and ARM64.  Why not unite this code?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1014908</commentid>
    <comment_count>1</comment_count>
      <attachid>232902</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2014-06-11 14:08:53 -0700</bug_when>
    <thetext>Created attachment 232902
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1015524</commentid>
    <comment_count>2</comment_count>
      <attachid>233074</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2014-06-13 14:02:39 -0700</bug_when>
    <thetext>Created attachment 233074
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016460</commentid>
    <comment_count>3</comment_count>
      <attachid>233074</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-06-18 09:27:52 -0700</bug_when>
    <thetext>Comment on attachment 233074
Patch

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

&gt; Source/JavaScriptCore/assembler/ARMv7Assembler.h:1520
&gt; +        COMPILE_ASSERT(datasize == 32);        

Does this compile? I mean, COMPILE_ASSERT() takes two arguments: a predicate and a error message to be shown if the predicate evaluates to false. Moreover, the blog post &lt;https://www.webkit.org/blog/3172/webkit-and-cxx11/&gt; implies that we should explicitly use static_assert() in new C++ code instead of the COMPILE_ASSERT() macro function (even though it calls through to static_assert()) since we require ports to build WebKit with compilers that supports the C++11 static_assert feature.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016480</commentid>
    <comment_count>4</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2014-06-18 10:36:51 -0700</bug_when>
    <thetext>(In reply to comment #3)
I&apos;ll use static_assert and double check that it compiles.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1016501</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2014-06-18 11:06:51 -0700</bug_when>
    <thetext>http://trac.webkit.org/changeset/170107</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>232902</attachid>
            <date>2014-06-11 14:08:53 -0700</date>
            <delta_ts>2014-06-13 14:02:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133764-20140611140828.patch</filename>
            <type>text/plain</type>
            <size>5811</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTY5ODMwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBA
CisyMDE0LTA2LTExICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmVtb3ZlIGR1cGxpY2F0ZSBjb2RlIHVzaW5nIHNkaXYuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM3NjQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGFzc2VtYmxlci9BUk12N0Fz
c2VtYmxlci5oOgorICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6c2Rpdik6CisgICAgICAg
IE1ha2Ugc2RpdiBhIHRlbXBsYXRlIHRvIG1hdGNoIGFybTY0LgorICAgICAgICAqIGRmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVBcml0aERpdik6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVBcml0aE1vZCk6CisgICAgICAgIFJlbW92ZSBkdXBsaWNhdGUgY29kZSB0aGF0IHdhcyBpZGVu
dGljYWwgZXhjZXB0IGZvciBzZGl2IG5vdCBiZWluZyBhIHRlbXBsYXRlLgorCiAyMDE0LTA2LTEx
ICBSeW9zdWtlIE5pd2EgIDxybml3YUB3ZWJraXQub3JnPgogCiAgICAgICAgIFR1cm5pbmcgb24g
RFVNUF9QUk9QRVJUWU1BUF9TVEFUUyBjYXVzZXMgYSBidWlsZCBmYWlsdXJlCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTXY3QXNzZW1ibGVyLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk12N0Fzc2VtYmxlci5oCShyZXZp
c2lvbiAxNjk4MDgpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTXY3QXNz
ZW1ibGVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTE1MTQsOCArMTUxNCwxMCBAQCBwdWJsaWM6CiAg
ICAgfQogCiAjaWYgQ1BVKEFQUExFX0FSTVY3UykKKyAgICB0ZW1wbGF0ZTxpbnQgZGF0YXNpemU+
CiAgICAgQUxXQVlTX0lOTElORSB2b2lkIHNkaXYoUmVnaXN0ZXJJRCByZCwgUmVnaXN0ZXJJRCBy
biwgUmVnaXN0ZXJJRCBybSkKICAgICB7CisgICAgICAgIENPTVBJTEVfQVNTRVJUKGRhdGFzaXpl
ID09IDMyKTsgICAgICAgIAogICAgICAgICBBU1NFUlQoIUJhZFJlZyhyZCkpOwogICAgICAgICBB
U1NFUlQoIUJhZFJlZyhybikpOwogICAgICAgICBBU1NFUlQoIUJhZFJlZyhybSkpOwpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAJKHJl
dmlzaW9uIDE2OTgwOCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0zMjE4LDMzICszMjE4LDcgQEAgdm9pZCBTcGVj
dWxhdGl2ZUpJVDo6Y29tcGlsZUFyaXRoRGl2KE5vZAogICAgICAgICAKICAgICAgICAgZG9uZS5s
aW5rKCZtX2ppdCk7CiAgICAgICAgIGludDMyUmVzdWx0KGVheC5ncHIoKSwgbm9kZSk7Ci0jZWxp
ZiBDUFUoQVBQTEVfQVJNVjdTKQotICAgICAgICBTcGVjdWxhdGVJbnQzMk9wZXJhbmQgb3AxKHRo
aXMsIG5vZGUtPmNoaWxkMSgpKTsKLSAgICAgICAgU3BlY3VsYXRlSW50MzJPcGVyYW5kIG9wMih0
aGlzLCBub2RlLT5jaGlsZDIoKSk7Ci0gICAgICAgIEdQUlJlZyBvcDFHUFIgPSBvcDEuZ3ByKCk7
Ci0gICAgICAgIEdQUlJlZyBvcDJHUFIgPSBvcDIuZ3ByKCk7Ci0gICAgICAgIEdQUlRlbXBvcmFy
eSBxdW90aWVudCh0aGlzKTsKLSAgICAgICAgR1BSVGVtcG9yYXJ5IG11bHRpcGx5QW5zd2VyKHRo
aXMpOwotCi0gICAgICAgIC8vIElmIHRoZSB1c2VyIGNhcmVzIGFib3V0IG5lZ2F0aXZlIHplcm8s
IHRoZW4gc3BlY3VsYXRlIHRoYXQgd2UncmUgbm90IGFib3V0Ci0gICAgICAgIC8vIHRvIHByb2R1
Y2UgbmVnYXRpdmUgemVyby4KLSAgICAgICAgaWYgKHNob3VsZENoZWNrTmVnYXRpdmVaZXJvKG5v
ZGUtPmFyaXRoTW9kZSgpKSkgewotICAgICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgbnVt
ZXJhdG9yTm9uWmVybyA9IG1faml0LmJyYW5jaFRlc3QzMihNYWNyb0Fzc2VtYmxlcjo6Tm9uWmVy
bywgb3AxR1BSKTsKLSAgICAgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soTmVnYXRpdmVaZXJvLCBK
U1ZhbHVlUmVncygpLCAwLCBtX2ppdC5icmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6TGVzc1RoYW4s
IG9wMkdQUiwgVHJ1c3RlZEltbTMyKDApKSk7Ci0gICAgICAgICAgICBudW1lcmF0b3JOb25aZXJv
LmxpbmsoJm1faml0KTsKLSAgICAgICAgfQotCi0gICAgICAgIG1faml0LmFzc2VtYmxlcigpLnNk
aXYocXVvdGllbnQuZ3ByKCksIG9wMUdQUiwgb3AyR1BSKTsKLQotICAgICAgICAvLyBDaGVjayB0
aGF0IHRoZXJlIHdhcyBubyByZW1haW5kZXIuIElmIHRoZXJlIGhhZCBiZWVuLCB0aGVuIHdlJ2Qg
YmUgb2JsaWdhdGVkIHRvCi0gICAgICAgIC8vIHByb2R1Y2UgYSBkb3VibGUgcmVzdWx0IGluc3Rl
YWQuCi0gICAgICAgIGlmIChzaG91bGRDaGVja092ZXJmbG93KG5vZGUtPmFyaXRoTW9kZSgpKSkg
ewotICAgICAgICAgICAgc3BlY3VsYXRpb25DaGVjayhPdmVyZmxvdywgSlNWYWx1ZVJlZ3MoKSwg
MCwgbV9qaXQuYnJhbmNoTXVsMzIoSklUQ29tcGlsZXI6Ok92ZXJmbG93LCBxdW90aWVudC5ncHIo
KSwgb3AyR1BSLCBtdWx0aXBseUFuc3dlci5ncHIoKSkpOwotICAgICAgICAgICAgc3BlY3VsYXRp
b25DaGVjayhPdmVyZmxvdywgSlNWYWx1ZVJlZ3MoKSwgMCwgbV9qaXQuYnJhbmNoMzIoSklUQ29t
cGlsZXI6Ok5vdEVxdWFsLCBtdWx0aXBseUFuc3dlci5ncHIoKSwgb3AxR1BSKSk7Ci0gICAgICAg
IH0KLQotICAgICAgICBpbnQzMlJlc3VsdChxdW90aWVudC5ncHIoKSwgbm9kZSk7Ci0jZWxpZiBD
UFUoQVJNNjQpCisjZWxpZiBDUFUoQVBQTEVfQVJNVjdTKSB8fCBDUFUoQVJNNjQpCiAgICAgICAg
IFNwZWN1bGF0ZUludDMyT3BlcmFuZCBvcDEodGhpcywgbm9kZS0+Y2hpbGQxKCkpOwogICAgICAg
ICBTcGVjdWxhdGVJbnQzMk9wZXJhbmQgb3AyKHRoaXMsIG5vZGUtPmNoaWxkMigpKTsKICAgICAg
ICAgR1BSUmVnIG9wMUdQUiA9IG9wMS5ncHIoKTsKQEAgLTM0OTcsNDYgKzM0NzEsNyBAQCB2b2lk
IFNwZWN1bGF0aXZlSklUOjpjb21waWxlQXJpdGhNb2QoTm9kCiAgICAgICAgIGRvbmUubGluaygm
bV9qaXQpOwogICAgICAgICBpbnQzMlJlc3VsdChlZHguZ3ByKCksIG5vZGUpOwogCi0jZWxpZiBD
UFUoQVBQTEVfQVJNVjdTKQotICAgICAgICBHUFJUZW1wb3JhcnkgdGVtcCh0aGlzKTsKLSAgICAg
ICAgR1BSVGVtcG9yYXJ5IHF1b3RpZW50VGhlblJlbWFpbmRlcih0aGlzKTsKLSAgICAgICAgR1BS
VGVtcG9yYXJ5IG11bHRpcGx5QW5zd2VyKHRoaXMpOwotICAgICAgICBHUFJSZWcgZGl2aWRlbmRH
UFIgPSBvcDEuZ3ByKCk7Ci0gICAgICAgIEdQUlJlZyBkaXZpc29yR1BSID0gb3AyLmdwcigpOwot
ICAgICAgICBHUFJSZWcgcXVvdGllbnRUaGVuUmVtYWluZGVyR1BSID0gcXVvdGllbnRUaGVuUmVt
YWluZGVyLmdwcigpOwotICAgICAgICBHUFJSZWcgbXVsdGlwbHlBbnN3ZXJHUFIgPSBtdWx0aXBs
eUFuc3dlci5ncHIoKTsKLQotICAgICAgICBKSVRDb21waWxlcjo6SnVtcExpc3QgZG9uZTsKLSAg
ICAgICAgCi0gICAgICAgIGlmIChzaG91bGRDaGVja092ZXJmbG93KG5vZGUtPmFyaXRoTW9kZSgp
KSkKLSAgICAgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soT3ZlcmZsb3csIEpTVmFsdWVSZWdzKCks
IDAsIG1faml0LmJyYW5jaFRlc3QzMihKSVRDb21waWxlcjo6WmVybywgZGl2aXNvckdQUikpOwot
ICAgICAgICBlbHNlIHsKLSAgICAgICAgICAgIEpJVENvbXBpbGVyOjpKdW1wIGRlbm9taW5hdG9y
Tm90WmVybyA9IG1faml0LmJyYW5jaFRlc3QzMihKSVRDb21waWxlcjo6Tm9uWmVybywgZGl2aXNv
ckdQUik7Ci0gICAgICAgICAgICBtX2ppdC5tb3ZlKGRpdmlzb3JHUFIsIHF1b3RpZW50VGhlblJl
bWFpbmRlckdQUik7Ci0gICAgICAgICAgICBkb25lLmFwcGVuZChtX2ppdC5qdW1wKCkpOwotICAg
ICAgICAgICAgZGVub21pbmF0b3JOb3RaZXJvLmxpbmsoJm1faml0KTsKLSAgICAgICAgfQotCi0g
ICAgICAgIG1faml0LmFzc2VtYmxlcigpLnNkaXYocXVvdGllbnRUaGVuUmVtYWluZGVyR1BSLCBk
aXZpZGVuZEdQUiwgZGl2aXNvckdQUik7Ci0gICAgICAgIC8vIEZJWE1FOiBJdCBzZWVtcyBsaWtl
IHRoZXJlIGFyZSBjYXNlcyB3aGVyZSB3ZSBkb24ndCBuZWVkIHRoaXM/IFdoYXQgaWYgd2UgaGF2
ZQotICAgICAgICAvLyBhcml0aE1vZGUoKSA9PSBBcml0aDo6VW5jaGVja2VkPwotICAgICAgICAv
LyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTI2NDQ0Ci0gICAgICAg
IHNwZWN1bGF0aW9uQ2hlY2soT3ZlcmZsb3csIEpTVmFsdWVSZWdzKCksIDAsIG1faml0LmJyYW5j
aE11bDMyKEpJVENvbXBpbGVyOjpPdmVyZmxvdywgcXVvdGllbnRUaGVuUmVtYWluZGVyR1BSLCBk
aXZpc29yR1BSLCBtdWx0aXBseUFuc3dlckdQUikpOwotICAgICAgICBtX2ppdC5hc3NlbWJsZXIo
KS5zdWIocXVvdGllbnRUaGVuUmVtYWluZGVyR1BSLCBkaXZpZGVuZEdQUiwgbXVsdGlwbHlBbnN3
ZXJHUFIpOwotCi0gICAgICAgIC8vIElmIHRoZSB1c2VyIGNhcmVzIGFib3V0IG5lZ2F0aXZlIHpl
cm8sIHRoZW4gc3BlY3VsYXRlIHRoYXQgd2UncmUgbm90IGFib3V0Ci0gICAgICAgIC8vIHRvIHBy
b2R1Y2UgbmVnYXRpdmUgemVyby4KLSAgICAgICAgaWYgKHNob3VsZENoZWNrTmVnYXRpdmVaZXJv
KG5vZGUtPmFyaXRoTW9kZSgpKSkgewotICAgICAgICAgICAgLy8gQ2hlY2sgdGhhdCB3ZSdyZSBu
b3QgYWJvdXQgdG8gY3JlYXRlIG5lZ2F0aXZlIHplcm8uCi0gICAgICAgICAgICBKSVRDb21waWxl
cjo6SnVtcCBudW1lcmF0b3JQb3NpdGl2ZSA9IG1faml0LmJyYW5jaDMyKEpJVENvbXBpbGVyOjpH
cmVhdGVyVGhhbk9yRXF1YWwsIGRpdmlkZW5kR1BSLCBUcnVzdGVkSW1tMzIoMCkpOwotICAgICAg
ICAgICAgc3BlY3VsYXRpb25DaGVjayhPdmVyZmxvdywgSlNWYWx1ZVJlZ3MoKSwgMCwgbV9qaXQu
YnJhbmNoVGVzdDMyKEpJVENvbXBpbGVyOjpaZXJvLCBxdW90aWVudFRoZW5SZW1haW5kZXJHUFIp
KTsKLSAgICAgICAgICAgIG51bWVyYXRvclBvc2l0aXZlLmxpbmsoJm1faml0KTsKLSAgICAgICAg
fQotCi0gICAgICAgIGRvbmUubGluaygmbV9qaXQpOwotICAgICAgICAKLSAgICAgICAgaW50MzJS
ZXN1bHQocXVvdGllbnRUaGVuUmVtYWluZGVyR1BSLCBub2RlKTsKLSNlbGlmIENQVShBUk02NCkK
KyNlbGlmIENQVShBUk02NCkgfHwgQ1BVKEFQUExFX0FSTVY3UykKICAgICAgICAgR1BSVGVtcG9y
YXJ5IHRlbXAodGhpcyk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBxdW90aWVudFRoZW5SZW1haW5k
ZXIodGhpcyk7CiAgICAgICAgIEdQUlRlbXBvcmFyeSBtdWx0aXBseUFuc3dlcih0aGlzKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>233074</attachid>
            <date>2014-06-13 14:02:39 -0700</date>
            <delta_ts>2014-06-18 09:27:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-133764-20140613140215.patch</filename>
            <type>text/plain</type>
            <size>7301</size>
            <attacher name="Alex Christensen">achristensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTY5OTQ3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE4IEBA
CisyMDE0LTA2LTEzICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgUmVtb3ZlIGR1cGxpY2F0ZSBjb2RlIHVzaW5nIHNkaXYuCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzM3NjQKKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGFzc2VtYmxlci9BUk12N0Fz
c2VtYmxlci5oOgorICAgICAgICAoSlNDOjpBUk12N0Fzc2VtYmxlcjo6c2Rpdik6CisgICAgICAg
IE1ha2Ugc2RpdiBhIHRlbXBsYXRlIHRvIG1hdGNoIGFybTY0LgorICAgICAgICAqIGRmZy9ERkdT
cGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVBcml0aERpdik6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBp
bGVBcml0aE1vZCk6CisgICAgICAgIFJlbW92ZSBkdXBsaWNhdGUgY29kZSB0aGF0IHdhcyBpZGVu
dGljYWwgZXhjZXB0IGZvciBzZGl2IG5vdCBiZWluZyBhIHRlbXBsYXRlLgorCiAyMDE0LTA2LTEz
ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
TWFrZSBjc3Mgaml0IGNvbXBpbGUgZm9yIGFybXY3LgpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2Fzc2VtYmxlci9BUk12N0Fzc2VtYmxlci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNdjdBc3NlbWJsZXIuaAkocmV2aXNpb24gMTY5OTQ3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk12N0Fzc2VtYmxlci5oCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xNTE0LDggKzE1MTQsMTAgQEAgcHVibGljOgogICAgIH0KIAogI2lmIENQ
VShBUFBMRV9BUk1WN1MpCisgICAgdGVtcGxhdGU8aW50IGRhdGFzaXplPgogICAgIEFMV0FZU19J
TkxJTkUgdm9pZCBzZGl2KFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVySUQgcm4sIFJlZ2lzdGVySUQg
cm0pCiAgICAgeworICAgICAgICBDT01QSUxFX0FTU0VSVChkYXRhc2l6ZSA9PSAzMik7ICAgICAg
ICAKICAgICAgICAgQVNTRVJUKCFCYWRSZWcocmQpKTsKICAgICAgICAgQVNTRVJUKCFCYWRSZWco
cm4pKTsKICAgICAgICAgQVNTRVJUKCFCYWRSZWcocm0pKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lvbiAxNjk5NDcp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNwcAkod29y
a2luZyBjb3B5KQpAQCAtMzIyMCwzMyArMzIyMCw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNv
bXBpbGVBcml0aERpdihOb2QKICAgICAgICAgCiAgICAgICAgIGRvbmUubGluaygmbV9qaXQpOwog
ICAgICAgICBpbnQzMlJlc3VsdChlYXguZ3ByKCksIG5vZGUpOwotI2VsaWYgQ1BVKEFQUExFX0FS
TVY3UykKLSAgICAgICAgU3BlY3VsYXRlSW50MzJPcGVyYW5kIG9wMSh0aGlzLCBub2RlLT5jaGls
ZDEoKSk7Ci0gICAgICAgIFNwZWN1bGF0ZUludDMyT3BlcmFuZCBvcDIodGhpcywgbm9kZS0+Y2hp
bGQyKCkpOwotICAgICAgICBHUFJSZWcgb3AxR1BSID0gb3AxLmdwcigpOwotICAgICAgICBHUFJS
ZWcgb3AyR1BSID0gb3AyLmdwcigpOwotICAgICAgICBHUFJUZW1wb3JhcnkgcXVvdGllbnQodGhp
cyk7Ci0gICAgICAgIEdQUlRlbXBvcmFyeSBtdWx0aXBseUFuc3dlcih0aGlzKTsKLQotICAgICAg
ICAvLyBJZiB0aGUgdXNlciBjYXJlcyBhYm91dCBuZWdhdGl2ZSB6ZXJvLCB0aGVuIHNwZWN1bGF0
ZSB0aGF0IHdlJ3JlIG5vdCBhYm91dAotICAgICAgICAvLyB0byBwcm9kdWNlIG5lZ2F0aXZlIHpl
cm8uCi0gICAgICAgIGlmIChzaG91bGRDaGVja05lZ2F0aXZlWmVybyhub2RlLT5hcml0aE1vZGUo
KSkpIHsKLSAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIG51bWVyYXRvck5vblplcm8g
PSBtX2ppdC5icmFuY2hUZXN0MzIoTWFjcm9Bc3NlbWJsZXI6Ok5vblplcm8sIG9wMUdQUik7Ci0g
ICAgICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKE5lZ2F0aXZlWmVybywgSlNWYWx1ZVJlZ3MoKSwg
MCwgbV9qaXQuYnJhbmNoMzIoTWFjcm9Bc3NlbWJsZXI6Okxlc3NUaGFuLCBvcDJHUFIsIFRydXN0
ZWRJbW0zMigwKSkpOwotICAgICAgICAgICAgbnVtZXJhdG9yTm9uWmVyby5saW5rKCZtX2ppdCk7
Ci0gICAgICAgIH0KLQotICAgICAgICBtX2ppdC5hc3NlbWJsZXIoKS5zZGl2KHF1b3RpZW50Lmdw
cigpLCBvcDFHUFIsIG9wMkdQUik7Ci0KLSAgICAgICAgLy8gQ2hlY2sgdGhhdCB0aGVyZSB3YXMg
bm8gcmVtYWluZGVyLiBJZiB0aGVyZSBoYWQgYmVlbiwgdGhlbiB3ZSdkIGJlIG9ibGlnYXRlZCB0
bwotICAgICAgICAvLyBwcm9kdWNlIGEgZG91YmxlIHJlc3VsdCBpbnN0ZWFkLgotICAgICAgICBp
ZiAoc2hvdWxkQ2hlY2tPdmVyZmxvdyhub2RlLT5hcml0aE1vZGUoKSkpIHsKLSAgICAgICAgICAg
IHNwZWN1bGF0aW9uQ2hlY2soT3ZlcmZsb3csIEpTVmFsdWVSZWdzKCksIDAsIG1faml0LmJyYW5j
aE11bDMyKEpJVENvbXBpbGVyOjpPdmVyZmxvdywgcXVvdGllbnQuZ3ByKCksIG9wMkdQUiwgbXVs
dGlwbHlBbnN3ZXIuZ3ByKCkpKTsKLSAgICAgICAgICAgIHNwZWN1bGF0aW9uQ2hlY2soT3ZlcmZs
b3csIEpTVmFsdWVSZWdzKCksIDAsIG1faml0LmJyYW5jaDMyKEpJVENvbXBpbGVyOjpOb3RFcXVh
bCwgbXVsdGlwbHlBbnN3ZXIuZ3ByKCksIG9wMUdQUikpOwotICAgICAgICB9Ci0KLSAgICAgICAg
aW50MzJSZXN1bHQocXVvdGllbnQuZ3ByKCksIG5vZGUpOwotI2VsaWYgQ1BVKEFSTTY0KQorI2Vs
aWYgQ1BVKEFQUExFX0FSTVY3UykgfHwgQ1BVKEFSTTY0KQogICAgICAgICBTcGVjdWxhdGVJbnQz
Mk9wZXJhbmQgb3AxKHRoaXMsIG5vZGUtPmNoaWxkMSgpKTsKICAgICAgICAgU3BlY3VsYXRlSW50
MzJPcGVyYW5kIG9wMih0aGlzLCBub2RlLT5jaGlsZDIoKSk7CiAgICAgICAgIEdQUlJlZyBvcDFH
UFIgPSBvcDEuZ3ByKCk7CkBAIC0zNDk5LDQ2ICszNDczLDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZUFyaXRoTW9kKE5vZAogICAgICAgICBkb25lLmxpbmsoJm1faml0KTsKICAgICAg
ICAgaW50MzJSZXN1bHQoZWR4LmdwcigpLCBub2RlKTsKIAotI2VsaWYgQ1BVKEFQUExFX0FSTVY3
UykKLSAgICAgICAgR1BSVGVtcG9yYXJ5IHRlbXAodGhpcyk7Ci0gICAgICAgIEdQUlRlbXBvcmFy
eSBxdW90aWVudFRoZW5SZW1haW5kZXIodGhpcyk7Ci0gICAgICAgIEdQUlRlbXBvcmFyeSBtdWx0
aXBseUFuc3dlcih0aGlzKTsKLSAgICAgICAgR1BSUmVnIGRpdmlkZW5kR1BSID0gb3AxLmdwcigp
OwotICAgICAgICBHUFJSZWcgZGl2aXNvckdQUiA9IG9wMi5ncHIoKTsKLSAgICAgICAgR1BSUmVn
IHF1b3RpZW50VGhlblJlbWFpbmRlckdQUiA9IHF1b3RpZW50VGhlblJlbWFpbmRlci5ncHIoKTsK
LSAgICAgICAgR1BSUmVnIG11bHRpcGx5QW5zd2VyR1BSID0gbXVsdGlwbHlBbnN3ZXIuZ3ByKCk7
Ci0KLSAgICAgICAgSklUQ29tcGlsZXI6Okp1bXBMaXN0IGRvbmU7Ci0gICAgICAgIAotICAgICAg
ICBpZiAoc2hvdWxkQ2hlY2tPdmVyZmxvdyhub2RlLT5hcml0aE1vZGUoKSkpCi0gICAgICAgICAg
ICBzcGVjdWxhdGlvbkNoZWNrKE92ZXJmbG93LCBKU1ZhbHVlUmVncygpLCAwLCBtX2ppdC5icmFu
Y2hUZXN0MzIoSklUQ29tcGlsZXI6Olplcm8sIGRpdmlzb3JHUFIpKTsKLSAgICAgICAgZWxzZSB7
Ci0gICAgICAgICAgICBKSVRDb21waWxlcjo6SnVtcCBkZW5vbWluYXRvck5vdFplcm8gPSBtX2pp
dC5icmFuY2hUZXN0MzIoSklUQ29tcGlsZXI6Ok5vblplcm8sIGRpdmlzb3JHUFIpOwotICAgICAg
ICAgICAgbV9qaXQubW92ZShkaXZpc29yR1BSLCBxdW90aWVudFRoZW5SZW1haW5kZXJHUFIpOwot
ICAgICAgICAgICAgZG9uZS5hcHBlbmQobV9qaXQuanVtcCgpKTsKLSAgICAgICAgICAgIGRlbm9t
aW5hdG9yTm90WmVyby5saW5rKCZtX2ppdCk7Ci0gICAgICAgIH0KLQotICAgICAgICBtX2ppdC5h
c3NlbWJsZXIoKS5zZGl2KHF1b3RpZW50VGhlblJlbWFpbmRlckdQUiwgZGl2aWRlbmRHUFIsIGRp
dmlzb3JHUFIpOwotICAgICAgICAvLyBGSVhNRTogSXQgc2VlbXMgbGlrZSB0aGVyZSBhcmUgY2Fz
ZXMgd2hlcmUgd2UgZG9uJ3QgbmVlZCB0aGlzPyBXaGF0IGlmIHdlIGhhdmUKLSAgICAgICAgLy8g
YXJpdGhNb2RlKCkgPT0gQXJpdGg6OlVuY2hlY2tlZD8KLSAgICAgICAgLy8gaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyNjQ0NAotICAgICAgICBzcGVjdWxhdGlvbkNo
ZWNrKE92ZXJmbG93LCBKU1ZhbHVlUmVncygpLCAwLCBtX2ppdC5icmFuY2hNdWwzMihKSVRDb21w
aWxlcjo6T3ZlcmZsb3csIHF1b3RpZW50VGhlblJlbWFpbmRlckdQUiwgZGl2aXNvckdQUiwgbXVs
dGlwbHlBbnN3ZXJHUFIpKTsKLSAgICAgICAgbV9qaXQuYXNzZW1ibGVyKCkuc3ViKHF1b3RpZW50
VGhlblJlbWFpbmRlckdQUiwgZGl2aWRlbmRHUFIsIG11bHRpcGx5QW5zd2VyR1BSKTsKLQotICAg
ICAgICAvLyBJZiB0aGUgdXNlciBjYXJlcyBhYm91dCBuZWdhdGl2ZSB6ZXJvLCB0aGVuIHNwZWN1
bGF0ZSB0aGF0IHdlJ3JlIG5vdCBhYm91dAotICAgICAgICAvLyB0byBwcm9kdWNlIG5lZ2F0aXZl
IHplcm8uCi0gICAgICAgIGlmIChzaG91bGRDaGVja05lZ2F0aXZlWmVybyhub2RlLT5hcml0aE1v
ZGUoKSkpIHsKLSAgICAgICAgICAgIC8vIENoZWNrIHRoYXQgd2UncmUgbm90IGFib3V0IHRvIGNy
ZWF0ZSBuZWdhdGl2ZSB6ZXJvLgotICAgICAgICAgICAgSklUQ29tcGlsZXI6Okp1bXAgbnVtZXJh
dG9yUG9zaXRpdmUgPSBtX2ppdC5icmFuY2gzMihKSVRDb21waWxlcjo6R3JlYXRlclRoYW5PckVx
dWFsLCBkaXZpZGVuZEdQUiwgVHJ1c3RlZEltbTMyKDApKTsKLSAgICAgICAgICAgIHNwZWN1bGF0
aW9uQ2hlY2soT3ZlcmZsb3csIEpTVmFsdWVSZWdzKCksIDAsIG1faml0LmJyYW5jaFRlc3QzMihK
SVRDb21waWxlcjo6WmVybywgcXVvdGllbnRUaGVuUmVtYWluZGVyR1BSKSk7Ci0gICAgICAgICAg
ICBudW1lcmF0b3JQb3NpdGl2ZS5saW5rKCZtX2ppdCk7Ci0gICAgICAgIH0KLQotICAgICAgICBk
b25lLmxpbmsoJm1faml0KTsKLSAgICAgICAgCi0gICAgICAgIGludDMyUmVzdWx0KHF1b3RpZW50
VGhlblJlbWFpbmRlckdQUiwgbm9kZSk7Ci0jZWxpZiBDUFUoQVJNNjQpCisjZWxpZiBDUFUoQVJN
NjQpIHx8IENQVShBUFBMRV9BUk1WN1MpCiAgICAgICAgIEdQUlRlbXBvcmFyeSB0ZW1wKHRoaXMp
OwogICAgICAgICBHUFJUZW1wb3JhcnkgcXVvdGllbnRUaGVuUmVtYWluZGVyKHRoaXMpOwogICAg
ICAgICBHUFJUZW1wb3JhcnkgbXVsdGlwbHlBbnN3ZXIodGhpcyk7CkluZGV4OiBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCShy
ZXZpc2lvbiAxNjk5NDcpCisrKyBTb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29w
eSkKQEAgLTEsMyArMSwxNCBAQAorMjAxNC0wNi0xMyAgQWxleCBDaHJpc3RlbnNlbiAgPGFjaHJp
c3RlbnNlbkB3ZWJraXQub3JnPgorCisgICAgICAgIFJlbW92ZSBkdXBsaWNhdGUgY29kZSB1c2lu
ZyBzZGl2LgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTMzNzY0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBjc3NqaXQvU2VsZWN0b3JDb21waWxlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTZWxlY3Rv
ckNvbXBpbGVyOjpTZWxlY3RvckNvZGVHZW5lcmF0b3I6Om1vZHVsbyk6CisgICAgICAgIFVzZSB0
ZW1wbGF0ZSBzZGl2IGZvciBhcHBsZSBhcm12N3MgYW5kIGFybTY0LgorCiAyMDE0LTA2LTEzICBB
bGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+CiAKICAgICAgICAgTWFr
ZSBjc3Mgaml0IGNvbXBpbGUgZm9yIGFybXY3LgpJbmRleDogU291cmNlL1dlYkNvcmUvY3Nzaml0
L1NlbGVjdG9yQ29tcGlsZXIuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzc2pp
dC9TZWxlY3RvckNvbXBpbGVyLmNwcAkocmV2aXNpb24gMTY5OTQ3KQorKysgU291cmNlL1dlYkNv
cmUvY3Nzaml0L1NlbGVjdG9yQ29tcGlsZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xNDY2LDEx
ICsxNDY2LDcgQEAgQXNzZW1ibGVyOjpKdW1wIFNlbGVjdG9yQ29kZUdlbmVyYXRvcjo6bQogICAg
IG1fYXNzZW1ibGVyLm1vdmUoQXNzZW1ibGVyOjpUcnVzdGVkSW1tMzIoZGl2aXNvciksIGRpdmlz
b3JSZWdpc3Rlcik7CiAKICAgICBMb2NhbFJlZ2lzdGVyIHJlc3VsdFJlZ2lzdGVyKG1fcmVnaXN0
ZXJBbGxvY2F0b3IpOwotI2lmIENQVShBUFBMRV9BUk1WN1MpCi0gICAgbV9hc3NlbWJsZXIubV9h
c3NlbWJsZXIuc2RpdihyZXN1bHRSZWdpc3RlciwgaW5wdXREaXZpZGVuZCwgZGl2aXNvclJlZ2lz
dGVyKTsKLSNlbGlmIENQVShBUk02NCkKICAgICBtX2Fzc2VtYmxlci5tX2Fzc2VtYmxlci5zZGl2
PDMyPihyZXN1bHRSZWdpc3RlciwgaW5wdXREaXZpZGVuZCwgZGl2aXNvclJlZ2lzdGVyKTsKLSNl
bmRpZgogICAgIG1fYXNzZW1ibGVyLm11bDMyKGRpdmlzb3JSZWdpc3RlciwgcmVzdWx0UmVnaXN0
ZXIpOwogICAgIHJldHVybiBtX2Fzc2VtYmxlci5icmFuY2hTdWIzMihjb25kaXRpb24sIGlucHV0
RGl2aWRlbmQsIHJlc3VsdFJlZ2lzdGVyLCByZXN1bHRSZWdpc3Rlcik7CiAjZWxpZiBDUFUoWDg2
XzY0KQo=
</data>
<flag name="review"
          id="257571"
          type_id="1"
          status="+"
          setter="dbates"
    />
          </attachment>
      

    </bug>

</bugzilla>