<?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>142725</bug_id>
          
          <creation_ts>2015-03-16 07:14:38 -0700</creation_ts>
          <short_desc>[ARM] Enable generating idiv instructions if it is supported</short_desc>
          <delta_ts>2015-03-16 11:45:24 -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>
          
          <blocked>108645</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Csaba Osztrogonác">ossy</reporter>
          <assigned_to name="Csaba Osztrogonác">ossy</assigned_to>
          <cc>benjamin</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>zherczeg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1077401</commentid>
    <comment_count>0</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-03-16 07:14:38 -0700</bug_when>
    <thetext>Integer division instructions (sdiv/usdiv) is supported from Cortex-A15,
we should use these instructions on Linux too, not for only Apple ARMv7S.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077402</commentid>
    <comment_count>1</comment_count>
      <attachid>248727</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-03-16 07:23:50 -0700</bug_when>
    <thetext>Created attachment 248727
Patch

The ARM traditional implementation is based on ARM ® Architecture Reference Manual - DDI0406C_C_arm_architecture_reference_manual.pdf: A8.8.165 and A8.8.248.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077406</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-16 07:27:02 -0700</bug_when>
    <thetext>Attachment 248727 did not pass style-queue:


ERROR: Source/JavaScriptCore/assembler/ARMAssembler.h:220:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
ERROR: Source/JavaScriptCore/assembler/ARMAssembler.h:221:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 2 in 8 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077407</commentid>
    <comment_count>3</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2015-03-16 07:27:57 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created attachment 248727 [details]
&gt; Patch

note: all jsc stress tests pass, these instructions are covered by SunSpider.

Performance results:
- ARM traditional: 3.9% on SunSpider
- ARM Thumb2: 4.1% on SunSpider
(no change on V8 test suite)

detailed results on ARM:

TEST                   COMPARISON               FROM                 TO             DETAILS

===============================================================================

** TOTAL **:           1.039x as fast    1838.1ms +/- 0.1%    1769.4ms +/- 0.1%      significant

===============================================================================

  3d:                  1.010x as fast     414.7ms +/- 0.1%     410.7ms +/- 0.1%      significant
    cube:              ??                 123.3ms +/- 0.3%     123.6ms +/- 0.3%      not conclusive: might be *1.002x as slow*
    morph:             -                  182.0ms +/- 0.0%     182.1ms +/- 0.1%
    raytrace:          1.042x as fast     109.4ms +/- 0.3%     105.0ms +/- 0.5%      significant

  access:              ??                 164.9ms +/- 0.1%     165.1ms +/- 0.1%      not conclusive: might be *1.001x as slow*
    binary-trees:      ??                  19.0ms +/- 0.0%      19.1ms +/- 1.2%      not conclusive: might be *1.005x as slow*
    fannkuch:          ??                  56.9ms +/- 0.4%      57.0ms +/- 0.0%      not conclusive: might be *1.002x as slow*
    nbody:             -                   70.0ms +/- 0.0%      70.0ms +/- 0.0%
    nsieve:            -                   19.0ms +/- 0.0%      19.0ms +/- 0.0%

  bitops:              ??                  82.5ms +/- 0.5%      82.9ms +/- 0.8%      not conclusive: might be *1.005x as slow*
    3bit-bits-in-byte: -                    7.0ms +/- 0.0%       7.0ms +/- 0.0%
    bits-in-byte:      -                   25.0ms +/- 0.0%      25.0ms +/- 0.0%
    bitwise-and:       -                   16.0ms +/- 0.0%      16.0ms +/- 0.0%
    nsieve-bits:       ??                  34.5ms +/- 1.1%      34.9ms +/- 1.8%      not conclusive: might be *1.012x as slow*

  controlflow:         -                   18.0ms +/- 0.0%      18.0ms +/- 0.0%
    recursive:         -                   18.0ms +/- 0.0%      18.0ms +/- 0.0%

  crypto:              1.055x as fast     154.3ms +/- 0.2%     146.3ms +/- 0.3%      significant
    aes:               1.036x as fast      69.1ms +/- 0.3%      66.7ms +/- 0.5%      significant
    md5:               1.077x as fast      50.2ms +/- 0.6%      46.6ms +/- 0.8%      significant
    sha1:              1.061x as fast      35.0ms +/- 0.0%      33.0ms +/- 0.0%      significant

  date:                1.080x as fast     209.6ms +/- 0.4%     194.1ms +/- 0.8%      significant
    format-tofte:      ??                 106.0ms +/- 0.4%     106.3ms +/- 0.3%      not conclusive: might be *1.003x as slow*
    format-xparb:      1.180x as fast     103.6ms +/- 0.9%      87.8ms +/- 1.6%      significant

  math:                1.020x as fast     172.9ms +/- 0.1%     169.5ms +/- 0.2%      significant
    cordic:            -                   25.8ms +/- 1.2%      25.5ms +/- 1.5%
    partial-sums:      -                  131.1ms +/- 0.2%     131.0ms +/- 0.0%
    spectral-norm:     1.23x as fast       16.0ms +/- 0.0%      13.0ms +/- 0.0%      significant

  regexp:              -                   65.8ms +/- 0.5%      65.7ms +/- 0.5%
    dna:               -                   65.8ms +/- 0.5%      65.7ms +/- 0.5%

  string:              1.074x as fast     555.4ms +/- 0.3%     517.1ms +/- 0.3%      significant
    base64:            1.018x as fast      34.7ms +/- 1.0%      34.1ms +/- 0.7%      significant
    fasta:             1.26x as fast       78.7ms +/- 0.4%      62.6ms +/- 1.2%      significant
    tagcloud:          1.036x as fast     113.7ms +/- 2.0%     109.7ms +/- 0.9%      significant
    unpack-code:       1.020x as fast     260.9ms +/- 0.6%     255.7ms +/- 0.8%      significant
    validate-input:    1.23x as fast       67.4ms +/- 1.0%      55.0ms +/- 1.1%      significant


detailed results on Thumb2:

TEST                   COMPARISON               FROM                 TO             DETAILS

===============================================================================

** TOTAL **:           1.041x as fast    1733.0ms +/- 0.2%    1664.8ms +/- 0.2%      significant

===============================================================================

  3d:                  1.011x as fast     399.4ms +/- 0.2%     395.1ms +/- 0.2%      significant
    cube:              -                  120.6ms +/- 0.4%     120.6ms +/- 0.4%
    morph:             ??                 181.1ms +/- 0.1%     181.5ms +/- 0.2%      not conclusive: might be *1.002x as slow*
    raytrace:          1.051x as fast      97.7ms +/- 0.4%      93.0ms +/- 0.4%      significant

  access:              -                  131.9ms +/- 0.3%     132.0ms +/- 0.4%
    binary-trees:      ??                  18.6ms +/- 2.0%      18.8ms +/- 1.6%      not conclusive: might be *1.011x as slow*
    fannkuch:          -                   57.3ms +/- 0.6%      57.2ms +/- 0.5%
    nbody:             -                   38.0ms +/- 0.0%      38.0ms +/- 0.0%
    nsieve:            -                   18.0ms +/- 0.0%      18.0ms +/- 0.0%

  bitops:              ??                  80.3ms +/- 0.6%      80.6ms +/- 0.5%      not conclusive: might be *1.004x as slow*
    3bit-bits-in-byte: -                    6.0ms +/- 0.0%       6.0ms +/- 0.0%
    bits-in-byte:      -                   25.0ms +/- 0.0%      25.0ms +/- 0.0%
    bitwise-and:       -                   16.8ms +/- 1.8%      16.8ms +/- 1.8%
    nsieve-bits:       ??                  32.5ms +/- 1.2%      32.8ms +/- 0.9%      not conclusive: might be *1.009x as slow*

  controlflow:         -                   18.0ms +/- 0.0%      18.0ms +/- 0.0%
    recursive:         -                   18.0ms +/- 0.0%      18.0ms +/- 0.0%

  crypto:              1.057x as fast     151.2ms +/- 0.4%     143.0ms +/- 0.3%      significant
    aes:               1.041x as fast      68.8ms +/- 0.4%      66.1ms +/- 0.3%      significant
    md5:               1.076x as fast      48.4ms +/- 0.8%      45.0ms +/- 0.7%      significant
    sha1:              1.066x as fast      34.0ms +/- 0.0%      31.9ms +/- 0.7%      significant

  date:                1.082x as fast     202.8ms +/- 0.3%     187.4ms +/- 0.7%      significant
    format-tofte:      ??                 103.1ms +/- 0.2%     103.6ms +/- 0.7%      not conclusive: might be *1.005x as slow*
    format-xparb:      1.190x as fast      99.7ms +/- 0.6%      83.8ms +/- 1.4%      significant

  math:                1.019x as fast     148.8ms +/- 0.2%     146.0ms +/- 0.0%      significant
    cordic:            ??                  21.8ms +/- 1.4%      22.0ms +/- 0.0%      not conclusive: might be *1.009x as slow*
    partial-sums:      -                  111.0ms +/- 0.0%     111.0ms +/- 0.0%
    spectral-norm:     1.23x as fast       16.0ms +/- 0.0%      13.0ms +/- 0.0%      significant

  regexp:              ??                  61.3ms +/- 0.6%      61.6ms +/- 0.6%      not conclusive: might be *1.005x as slow*
    dna:               ??                  61.3ms +/- 0.6%      61.6ms +/- 0.6%      not conclusive: might be *1.005x as slow*

  string:              1.076x as fast     539.3ms +/- 0.4%     501.1ms +/- 0.5%      significant
    base64:            -                   33.0ms +/- 0.0%      33.0ms +/- 0.0%
    fasta:             1.31x as fast       70.0ms +/- 0.0%      53.6ms +/- 1.7%      significant
    tagcloud:          *1.028x as slow*   106.9ms +/- 0.6%     109.9ms +/- 0.8%      significant
    unpack-code:       1.042x as fast     263.7ms +/- 0.9%     253.1ms +/- 0.9%      significant
    validate-input:    1.28x as fast       65.7ms +/- 0.9%      51.5ms +/- 1.0%      significant</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077508</commentid>
    <comment_count>4</comment_count>
      <attachid>248727</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-16 11:45:20 -0700</bug_when>
    <thetext>Comment on attachment 248727
Patch

Clearing flags on attachment: 248727

Committed r181570: &lt;http://trac.webkit.org/changeset/181570&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1077509</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-03-16 11:45:24 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>248727</attachid>
            <date>2015-03-16 07:23:50 -0700</date>
            <delta_ts>2015-03-16 11:45:20 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-142725-20150316072320.patch</filename>
            <type>text/plain</type>
            <size>8763</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTgxNTQ4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBj
ZWIyMDEwMTBhOTU0OTYwYzhjZGU1YTNkNmM3YTc1MzM4MDI3ZGU4Li43NTE5ODE2YzFlMTc4YTli
MGJkNjRmZjdmZWY0M2VmYjYyYTVhYTFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNSBAQAorMjAxNS0wMy0xNiAgQ3NhYmEgT3N6dHJvZ29uw6FjICA8b3NzeUB3ZWJraXQu
b3JnPgorCisgICAgICAgIFtBUk1dIEVuYWJsZSBnZW5lcmF0aW5nIGlkaXYgaW5zdHJ1Y3Rpb25z
IGlmIGl0IGlzIHN1cHBvcnRlZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MTQyNzI1CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgKiBhc3NlbWJsZXIvQVJNQXNzZW1ibGVyLmg6IEFkZGVkIHNkaXYgYW5kIHVk
aXYgaW1wbGVtZW50YXRpb24gZm9yIEFSTSBUcmFkaXRpb25hbCBpbnN0cnVjdGlvbiBzZXQuCisg
ICAgICAgIChKU0M6OkFSTUFzc2VtYmxlcjo6c2Rpdik6CisgICAgICAgIChKU0M6OkFSTUFzc2Vt
Ymxlcjo6dWRpdik6CisgICAgICAgICogYXNzZW1ibGVyL0FSTXY3QXNzZW1ibGVyLmg6IFVzZSBI
QVZFKEFSTV9JRElWX0lOU1RSVUNUSU9OUykgaW5zdGVhZCBvZiBDUFUoQVBQTEVfQVJNVjdTKS4K
KyAgICAgICAgKiBhc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oOgorICAgICAgICAo
SlNDOjppc0FSTXY3SURJVlN1cHBvcnRlZCk6CisgICAgICAgIChKU0M6Om9wdGltaXplRm9yQVJN
djdJRElWU3VwcG9ydGVkKToKKyAgICAgICAgKEpTQzo6aXNBUk12N3MpOiBSZW5hbWVkIHRvIGlz
QVJNdjdJRElWU3VwcG9ydGVkKCkuCisgICAgICAgIChKU0M6Om9wdGltaXplRm9yQVJNdjdzKTog
UmVuYW1lZCB0byBvcHRpbWl6ZUZvckFSTXY3SURJVlN1cHBvcnRlZCgpLgorICAgICAgICAqIGRm
Zy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1cFBoYXNlOjpmaXh1
cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6CisgICAgICAgIChK
U0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVBcml0aERpdik6CisgICAgICAgIChKU0M6
OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVBcml0aE1vZCk6CisKIDIwMTUtMDMtMTUgIEpv
c2VwaCBQZWNvcmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBXZWIgSW5zcGVj
dG9yOiBCZXR0ZXIgaGFuZGxlIGRpc3BsYXlpbmcgLTAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYv
Q2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKaW5kZXggYmJhNDI5NmVlNzgyODQwMmY0
NzAwYWE1YjYxMTcxYzkyNWVlZTlkYS4uYjc2YmQzODMyZmUxNmJhMTkzZTAyZWMzMGVhMTc3MDBi
ZGRhNWJlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dU
Ri9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxMiBAQAorMjAxNS0wMy0xNiAgQ3NhYmEgT3N6dHJvZ29u
w6FjICA8b3NzeUB3ZWJraXQub3JnPgorCisgICAgICAgIFtBUk1dIEVuYWJsZSBnZW5lcmF0aW5n
IGlkaXYgaW5zdHJ1Y3Rpb25zIGlmIGl0IGlzIHN1cHBvcnRlZAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTQyNzI1CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaDogU2V0IEhBVkVf
QVJNX0lESVZfSU5TVFJVQ1RJT05TIGJhc2VkIG9uIEdDQyBtYWNybyB0b28uCisKIDIwMTUtMDMt
MTUgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAgICAgICAgIENT
UzogZml4IHRoZSBjYXNlLWluc2Vuc2l0aXZlIG1hdGNoaW5nIG9mIHRoZSBhdHRyaWJ1dGUgc2Vs
ZWN0b3JzIEJlZ2luLCBFbmQgYW5kIEh5cGhlbgpkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvQVJNQXNzZW1ibGVyLmgKaW5kZXggNTc5Yzg0YzJjYzFiNTljMDI1Y2JmZDlkODk0
ZDVjMDA4YzFiYjRhNC4uZjE4ZjBmZTA4Mjk0ODNiZTNhMjNlMTg4MDc3ZTJkNDU1NmE5ZWI0ZiAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIu
aAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTUFzc2VtYmxlci5oCkBA
IC0yMTYsNiArMjE2LDEwIEBAIG5hbWVzcGFjZSBKU0MgewogI2VuZGlmCiAgICAgICAgICAgICBO
T1AgPSAweGUxYTAwMDAwLAogICAgICAgICAgICAgRE1CX1NZID0gMHhmNTdmZjA1ZiwKKyNpZiBI
QVZFKEFSTV9JRElWX0lOU1RSVUNUSU9OUykKKyAgICAgICAgICAgIFNESVYgPSAweDA3MTBmMDEw
LAorICAgICAgICAgICAgVURJViA9IDB4MDczMGYwMTAsCisjZW5kaWYKICAgICAgICAgfTsKIAog
ICAgICAgICBlbnVtIHsKQEAgLTQ3Nyw2ICs0ODEsMjYgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAg
ICAgICAgICBtX2J1ZmZlci5wdXRJbnQodG9BUk1Xb3JkKGNjKSB8IE1VTEwgfCBSTihyZGhpKSB8
IFJEKHJkbG8pIHwgUlMocm4pIHwgUk0ocm0pKTsKICAgICAgICAgfQogCisjaWYgSEFWRShBUk1f
SURJVl9JTlNUUlVDVElPTlMpCisgICAgICAgIHRlbXBsYXRlPGludCBkYXRhc2l6ZT4KKyAgICAg
ICAgdm9pZCBzZGl2KGludCByZCwgaW50IHJuLCBpbnQgcm0sIENvbmRpdGlvbiBjYyA9IEFMKQor
ICAgICAgICB7CisgICAgICAgICAgICBzdGF0aWNfYXNzZXJ0KGRhdGFzaXplID09IDMyLCAic2Rp
diBkYXRhc2l6ZSBtdXN0IGJlIDMyIGZvciBhcm12N3MiKTsKKyAgICAgICAgICAgIEFTU0VSVChy
ZCAhPSBBUk1SZWdpc3RlcnM6OnBjKTsKKyAgICAgICAgICAgIEFTU0VSVChybiAhPSBBUk1SZWdp
c3RlcnM6OnBjKTsKKyAgICAgICAgICAgIEFTU0VSVChybSAhPSBBUk1SZWdpc3RlcnM6OnBjKTsK
KyAgICAgICAgICAgIG1fYnVmZmVyLnB1dEludCh0b0FSTVdvcmQoY2MpIHwgU0RJViB8IFJOKHJk
KSB8IFJNKHJuKSB8IFJTKHJtKSk7CisgICAgICAgIH0KKworICAgICAgICB2b2lkIHVkaXYoaW50
IHJkLCBpbnQgcm4sIGludCBybSwgQ29uZGl0aW9uIGNjID0gQUwpCisgICAgICAgIHsKKyAgICAg
ICAgICAgIEFTU0VSVChyZCAhPSBBUk1SZWdpc3RlcnM6OnBjKTsKKyAgICAgICAgICAgIEFTU0VS
VChybiAhPSBBUk1SZWdpc3RlcnM6OnBjKTsKKyAgICAgICAgICAgIEFTU0VSVChybSAhPSBBUk1S
ZWdpc3RlcnM6OnBjKTsKKyAgICAgICAgICAgIG1fYnVmZmVyLnB1dEludCh0b0FSTVdvcmQoY2Mp
IHwgVURJViB8IFJOKHJkKSB8IFJNKHJuKSB8IFJTKHJtKSk7CisgICAgICAgIH0KKyNlbmRpZgor
CiAgICAgICAgIHZvaWQgdm1vdl9mNjQoaW50IGRkLCBpbnQgZG0sIENvbmRpdGlvbiBjYyA9IEFM
KQogICAgICAgICB7CiAgICAgICAgICAgICBlbWl0RG91YmxlUHJlY2lzaW9uSW5zdHJ1Y3Rpb24o
dG9BUk1Xb3JkKGNjKSB8IFZNT1ZfRjY0LCBkZCwgMCwgZG0pOwpkaWZmIC0tZ2l0IGEvU291cmNl
L0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk12N0Fzc2VtYmxlci5oIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Fzc2VtYmxlci9BUk12N0Fzc2VtYmxlci5oCmluZGV4IDA0ZTU2Y2U4MmQ2MzQz
MDQ4NWRmNmEyYWQ2NmYxZTQ4NTAzY2NlMzIuLjFkNzMxZjk4YjZhMGY5ZDA1MTY4NGY2OWI5MGJh
NmM0NDYwZjM5M2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIv
QVJNdjdBc3NlbWJsZXIuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FS
TXY3QXNzZW1ibGVyLmgKQEAgLTcwOCw3ICs3MDgsNyBAQCBwcml2YXRlOgogICAgICAgICBPUF9S
T1JfcmVnX1QyICAgPSAweEZBNjAsCiAgICAgICAgIE9QX0NMWiAgICAgICAgICA9IDB4RkFCMCwK
ICAgICAgICAgT1BfU01VTExfVDEgICAgID0gMHhGQjgwLAotI2lmIENQVShBUFBMRV9BUk1WN1Mp
CisjaWYgSEFWRShBUk1fSURJVl9JTlNUUlVDVElPTlMpCiAgICAgICAgIE9QX1NESVZfVDEgICAg
ICA9IDB4RkI5MCwKICAgICAgICAgT1BfVURJVl9UMSAgICAgID0gMHhGQkIwLAogI2VuZGlmCkBA
IC0xNDk5LDcgKzE0OTksNyBAQCBwdWJsaWM6CiAgICAgICAgIG1fZm9ybWF0dGVyLnR3b1dvcmRP
cDE2SW1tMTYoT1BfUFVTSF9UMiwgcmVnaXN0ZXJMaXN0KTsKICAgICB9CiAKLSNpZiBDUFUoQVBQ
TEVfQVJNVjdTKQorI2lmIEhBVkUoQVJNX0lESVZfSU5TVFJVQ1RJT05TKQogICAgIHRlbXBsYXRl
PGludCBkYXRhc2l6ZT4KICAgICBBTFdBWVNfSU5MSU5FIHZvaWQgc2RpdihSZWdpc3RlcklEIHJk
LCBSZWdpc3RlcklEIHJuLCBSZWdpc3RlcklEIHJtKQogICAgIHsKQEAgLTE4NDcsNyArMTg0Nyw3
IEBAIHB1YmxpYzoKICAgICAgICAgbV9mb3JtYXR0ZXIudHdvV29yZE9wMTJSZWc0MEltbTNSZWc0
SW1tMjBJbW01KE9QX1VCRlhfVDEsIHJkLCBybiwgKGxzYiAmIDB4MWMpIDw8IDEwLCAobHNiICYg
MHgzKSA8PCA2LCAod2lkdGggLSAxKSAmIDB4MWYpOwogICAgIH0KIAotI2lmIENQVShBUFBMRV9B
Uk1WN1MpCisjaWYgSEFWRShBUk1fSURJVl9JTlNUUlVDVElPTlMpCiAgICAgQUxXQVlTX0lOTElO
RSB2b2lkIHVkaXYoUmVnaXN0ZXJJRCByZCwgUmVnaXN0ZXJJRCBybiwgUmVnaXN0ZXJJRCBybSkK
ICAgICB7CiAgICAgICAgIEFTU0VSVCghQmFkUmVnKHJkKSk7CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3RyYWN0TWFjcm9Bc3NlbWJsZXIuaCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCmluZGV4
IGExYjRlYWZlNWQxNzlkZThkZWQ2NzMxYzRmNDFkODFlNTAyZjZmZjcuLjFiYzYxOTQxMDMyMTMx
OTY2ZDE2NTZhNTRkNzNjNTRiZjAzMmYzNWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCisrKyBiL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9hc3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oCkBAIC0zOSw5ICsz
OSw5IEBACiAKIG5hbWVzcGFjZSBKU0MgewogCi1pbmxpbmUgYm9vbCBpc0FSTXY3cygpCitpbmxp
bmUgYm9vbCBpc0FSTXY3SURJVlN1cHBvcnRlZCgpCiB7Ci0jaWYgQ1BVKEFQUExFX0FSTVY3UykK
KyNpZiBIQVZFKEFSTV9JRElWX0lOU1RSVUNUSU9OUykKICAgICByZXR1cm4gdHJ1ZTsKICNlbHNl
CiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtNjYsOSArNjYsOSBAQCBpbmxpbmUgYm9vbCBpc1g4Nigp
CiAjZW5kaWYKIH0KIAotaW5saW5lIGJvb2wgb3B0aW1pemVGb3JBUk12N3MoKQoraW5saW5lIGJv
b2wgb3B0aW1pemVGb3JBUk12N0lESVZTdXBwb3J0ZWQoKQogewotICAgIHJldHVybiBpc0FSTXY3
cygpICYmIE9wdGlvbnM6OmVuYWJsZUFyY2hpdGVjdHVyZVNwZWNpZmljT3B0aW1pemF0aW9ucygp
OworICAgIHJldHVybiBpc0FSTXY3SURJVlN1cHBvcnRlZCgpICYmIE9wdGlvbnM6OmVuYWJsZUFy
Y2hpdGVjdHVyZVNwZWNpZmljT3B0aW1pemF0aW9ucygpOwogfQogCiBpbmxpbmUgYm9vbCBvcHRp
bWl6ZUZvckFSTTY0KCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
Rml4dXBQaGFzZS5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0ZpeHVwUGhhc2Uu
Y3BwCmluZGV4IGMxMjc1NGI1OTg3ZTY1MDRkMTFkYzFhMzRiZThiNDRjMWEzNmM5MmQuLmY0NDQz
ZmI4MmIyYjA4OWYxZWQyNDY0OWM0ZTgyMTA2NTY0MTJiNDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKKysrIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcApAQCAtMjczLDcgKzI3Myw3IEBAIHByaXZhdGU6
CiAgICAgICAgIGNhc2UgQXJpdGhNb2Q6IHsKICAgICAgICAgICAgIGlmIChOb2RlOjpzaG91bGRT
cGVjdWxhdGVJbnQzMk9yQm9vbGVhbkZvckFyaXRobWV0aWMobm9kZS0+Y2hpbGQxKCkubm9kZSgp
LCBub2RlLT5jaGlsZDIoKS5ub2RlKCkpCiAgICAgICAgICAgICAgICAgJiYgbm9kZS0+Y2FuU3Bl
Y3VsYXRlSW50MzIoRml4dXBQYXNzKSkgewotICAgICAgICAgICAgICAgIGlmIChvcHRpbWl6ZUZv
clg4NigpIHx8IG9wdGltaXplRm9yQVJNNjQoKSB8fCBvcHRpbWl6ZUZvckFSTXY3cygpKSB7Cisg
ICAgICAgICAgICAgICAgaWYgKG9wdGltaXplRm9yWDg2KCkgfHwgb3B0aW1pemVGb3JBUk02NCgp
IHx8IG9wdGltaXplRm9yQVJNdjdJRElWU3VwcG9ydGVkKCkpIHsKICAgICAgICAgICAgICAgICAg
ICAgZml4SW50T3JCb29sZWFuRWRnZShub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgICAgICAgICAg
ICAgIGZpeEludE9yQm9vbGVhbkVkZ2Uobm9kZS0+Y2hpbGQyKCkpOwogICAgICAgICAgICAgICAg
ICAgICBpZiAoYnl0ZWNvZGVDYW5UcnVuY2F0ZUludGVnZXIobm9kZS0+YXJpdGhOb2RlRmxhZ3Mo
KSkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3Bw
CmluZGV4IDM0ZTczMjAyZjM5YmQwZGUyMTY1MDkzNzQyOTYxODI0OTNiNDIzMzYuLmUxN2RmNGVh
OTVlN2Y2YjJlZGM5OGU0OGJiMGJhNjMzMmVlYjk4M2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCkBAIC0zMTk4LDcgKzMxOTgsNyBAQCB2
b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlQXJpdGhEaXYoTm9kZSogbm9kZSkKICAgICAgICAg
CiAgICAgICAgIGRvbmUubGluaygmbV9qaXQpOwogICAgICAgICBpbnQzMlJlc3VsdChlYXguZ3By
KCksIG5vZGUpOwotI2VsaWYgQ1BVKEFQUExFX0FSTVY3UykgfHwgQ1BVKEFSTTY0KQorI2VsaWYg
SEFWRShBUk1fSURJVl9JTlNUUlVDVElPTlMpIHx8IENQVShBUk02NCkKICAgICAgICAgU3BlY3Vs
YXRlSW50MzJPcGVyYW5kIG9wMSh0aGlzLCBub2RlLT5jaGlsZDEoKSk7CiAgICAgICAgIFNwZWN1
bGF0ZUludDMyT3BlcmFuZCBvcDIodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwogICAgICAgICBHUFJS
ZWcgb3AxR1BSID0gb3AxLmdwcigpOwpAQCAtMzQ1MSw3ICszNDUxLDcgQEAgdm9pZCBTcGVjdWxh
dGl2ZUpJVDo6Y29tcGlsZUFyaXRoTW9kKE5vZGUqIG5vZGUpCiAgICAgICAgIGRvbmUubGluaygm
bV9qaXQpOwogICAgICAgICBpbnQzMlJlc3VsdChlZHguZ3ByKCksIG5vZGUpOwogCi0jZWxpZiBD
UFUoQVJNNjQpIHx8IENQVShBUFBMRV9BUk1WN1MpCisjZWxpZiBIQVZFKEFSTV9JRElWX0lOU1RS
VUNUSU9OUykgfHwgQ1BVKEFSTTY0KQogICAgICAgICBHUFJUZW1wb3JhcnkgdGVtcCh0aGlzKTsK
ICAgICAgICAgR1BSVGVtcG9yYXJ5IHF1b3RpZW50VGhlblJlbWFpbmRlcih0aGlzKTsKICAgICAg
ICAgR1BSVGVtcG9yYXJ5IG11bHRpcGx5QW5zd2VyKHRoaXMpOwpAQCAtMzQ3Niw3ICszNDc2LDcg
QEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUFyaXRoTW9kKE5vZGUqIG5vZGUpCiAgICAg
ICAgIC8vIGFyaXRoTW9kZSgpID09IEFyaXRoOjpVbmNoZWNrZWQ/CiAgICAgICAgIC8vIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMjY0NDQKICAgICAgICAgc3BlY3Vs
YXRpb25DaGVjayhPdmVyZmxvdywgSlNWYWx1ZVJlZ3MoKSwgMCwgbV9qaXQuYnJhbmNoTXVsMzIo
SklUQ29tcGlsZXI6Ok92ZXJmbG93LCBxdW90aWVudFRoZW5SZW1haW5kZXJHUFIsIGRpdmlzb3JH
UFIsIG11bHRpcGx5QW5zd2VyR1BSKSk7Ci0jaWYgQ1BVKEFQUExFX0FSTVY3UykKKyNpZiBIQVZF
KEFSTV9JRElWX0lOU1RSVUNUSU9OUykKICAgICAgICAgbV9qaXQuYXNzZW1ibGVyKCkuc3ViKHF1
b3RpZW50VGhlblJlbWFpbmRlckdQUiwgZGl2aWRlbmRHUFIsIG11bHRpcGx5QW5zd2VyR1BSKTsK
ICNlbHNlCiAgICAgICAgIG1faml0LmFzc2VtYmxlcigpLnN1YjwzMj4ocXVvdGllbnRUaGVuUmVt
YWluZGVyR1BSLCBkaXZpZGVuZEdQUiwgbXVsdGlwbHlBbnN3ZXJHUFIpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dURi93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKaW5k
ZXggODQ3ZmUxNmZkMDczODM1NzhlODBiMDRhZmZhYWI3NmIyZDljYjIzYy4uMmIwYzI0OGU1NTY4
OTgyNDkwMWI4OWNiNjExZjkzMGFlOTFhZTI4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYv
UGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9QbGF0Zm9ybS5oCkBAIC0zMzQsNiArMzM0
LDEwIEBACiAjZGVmaW5lIFdURl9DUFVfQVBQTEVfQVJNVjdTIDEKICNlbmRpZgogCisjaWYgZGVm
aW5lZChfX0FSTV9BUkNIX0VYVF9JRElWX18pIHx8IENQVShBUFBMRV9BUk1WN1MpCisjZGVmaW5l
IEhBVkVfQVJNX0lESVZfSU5TVFJVQ1RJT05TIDEKKyNlbmRpZgorCiAjZW5kaWYgLyogQVJNICov
CiAKICNpZiBDUFUoQVJNKSB8fCBDUFUoTUlQUykgfHwgQ1BVKFNINCkK
</data>

          </attachment>
      

    </bug>

</bugzilla>