<?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>108840</bug_id>
          
          <creation_ts>2013-02-04 10:59:49 -0800</creation_ts>
          <short_desc>For ARMv7s use integer divide instruction for divide and modulo when possible</short_desc>
          <delta_ts>2013-02-04 11:21:21 -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>528+ (Nightly build)</version>
          <rep_platform>Other</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>824573</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-02-04 10:59:49 -0800</bug_when>
    <thetext>ARMv7S processors have the integer division instructions sdiv and udiv (signed and unsigned divide).  When we speculate that we have integer operands and need an integer result, we should take advantage of these instructions to compute divide (/) and modulo (%) results.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824585</commentid>
    <comment_count>1</comment_count>
      <attachid>186419</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-02-04 11:09:09 -0800</bug_when>
    <thetext>Created attachment 186419
Patch

This patch has already been reviewed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>824595</commentid>
    <comment_count>2</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-02-04 11:21:21 -0800</bug_when>
    <thetext>Committed r141788: &lt;http://trac.webkit.org/changeset/141788&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>186419</attachid>
            <date>2013-02-04 11:09:09 -0800</date>
            <delta_ts>2013-02-04 11:09:09 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>108840.patch</filename>
            <type>text/plain</type>
            <size>10631</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTQxNzcyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMxIEBA
CisyMDEzLTAyLTA0ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIEZvciBBUk12N3MgdXNlIGludGVnZXIgZGl2aWRlIGluc3RydWN0aW9uIGZvciBkaXZpZGUg
YW5kIG1vZHVsbyB3aGVuIHBvc3NpYmxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0xMDg4NDAKKworICAgICAgICBSZXZpZXdlZCBpbiBwZXJzb24gYnkg
RmlsaXAgUGl6bG8uCisKKyAgICAgICAgQWRkZWQgQVJNdjdzIGludGVnZXIgZGl2aWRlIHBhdGgg
Zm9yIEFyaXRoRGl2IGFuZCBBcml0aE1vZCB3aGVyZSBvcGVyYW5kcyBhbmQgcmVzdWx0cyBhcmUg
aW50ZWdlci4KKyAgICAgICAgVGhpcyBpcyBwYXR0ZXJuZWQgYWZ0ZXIgdGhlIHNpbWlsYXIgY29k
ZSBmb3IgWDg2LiAgQWxzbyBhZGRlZCBtb2R1bG8gcG93ZXIgb2YgMiBvcHRpbWl6YXRpb24KKyAg
ICAgICAgdGhhdCB1c2VzIGxvZ2ljYWwgYW5kLiAgQWRkZWQgc2RpdiBhbmQgdWRpdiB0byB0aGUg
QVJNdjcgZGlzYXNzZW1ibGVyLiAgUHV0IGFsbCB0aGUgY2hhbmdlcworICAgICAgICBiZWhpbmQg
I2lmIENQVShBUFBMRV9BUk1WN1MpLiAKKworICAgICAgICAqIGFzc2VtYmxlci9BUk12N0Fzc2Vt
Ymxlci5oOgorICAgICAgICAoQVJNdjdBc3NlbWJsZXIpOgorICAgICAgICAoSlNDOjpBUk12N0Fz
c2VtYmxlcjo6c2Rpdik6CisgICAgICAgIChKU0M6OkFSTXY3QXNzZW1ibGVyOjp1ZGl2KToKKyAg
ICAgICAgKiBkZmcvREZHQ29tbW9uLmg6CisgICAgICAgIChKU0M6OkRGRzo6aXNBUk12N3MpOgor
ICAgICAgICAqIGRmZy9ERkdGaXh1cFBoYXNlLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpGaXh1
cFBoYXNlOjpmaXh1cE5vZGUpOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVTb2Z0TW9kdWxvKToK
KyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUludGVnZXJBcml0aERp
dkZvckFSTXY3cyk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklULmg6CisgICAgICAg
IChTcGVjdWxhdGl2ZUpJVCk6CisgICAgICAgICogZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQu
Y3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0aXZlSklUOjpjb21waWxlKToKKwogMjAx
My0wMi0wNCAgRGF2aWQgS2lsemVyICA8ZGRraWx6ZXJAYXBwbGUuY29tPgogCiAgICAgICAgIFJl
bW92ZSBkdXBsaWNhdGUgZW50cmllcyBmcm9tIEphdmFTY3JpcHRDb3JlIFhjb2RlIHByb2plY3QK
SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJsZXIvQVJNdjdBc3NlbWJsZXIuaAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTXY3QXNzZW1i
bGVyLmgJKHJldmlzaW9uIDE0MTc3MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9hc3NlbWJs
ZXIvQVJNdjdBc3NlbWJsZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDUgQEAKIC8qCi0g
KiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwLCAyMDEyLCAyMDEzIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMCBVbml2ZXJzaXR5
IG9mIFN6ZWdlZAogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dApAQCAtNjYxLDYgKzY2MSwxMCBAQCBwcml2YXRl
OgogICAgICAgICBPUF9ST1JfcmVnX1QyICAgPSAweEZBNjAsCiAgICAgICAgIE9QX0NMWiAgICAg
ICAgICA9IDB4RkFCMCwKICAgICAgICAgT1BfU01VTExfVDEgICAgID0gMHhGQjgwLAorI2lmIENQ
VShBUFBMRV9BUk1WN1MpCisgICAgICAgIE9QX1NESVZfVDEgICAgICA9IDB4RkI5MCwKKyAgICAg
ICAgT1BfVURJVl9UMSAgICAgID0gMHhGQkIwLAorI2VuZGlmCiAgICAgfSBPcGNvZGVJRDE7CiAK
ICAgICB0eXBlZGVmIGVudW0gewpAQCAtMTM4OCw2ICsxMzkyLDE2IEBAIHB1YmxpYzoKICAgICAg
ICAgbV9mb3JtYXR0ZXIudHdvV29yZE9wMTJSZWc0Rm91ckZvdXJzKE9QX1JPUl9yZWdfVDIsIHJu
LCBGb3VyRm91cnMoMHhmLCByZCwgMCwgcm0pKTsKICAgICB9CiAKKyNpZiBDUFUoQVBQTEVfQVJN
VjdTKQorICAgIEFMV0FZU19JTkxJTkUgdm9pZCBzZGl2KFJlZ2lzdGVySUQgcmQsIFJlZ2lzdGVy
SUQgcm4sIFJlZ2lzdGVySUQgcm0pCisgICAgeworICAgICAgICBBU1NFUlQoIUJhZFJlZyhyZCkp
OworICAgICAgICBBU1NFUlQoIUJhZFJlZyhybikpOworICAgICAgICBBU1NFUlQoIUJhZFJlZyhy
bSkpOworICAgICAgICBtX2Zvcm1hdHRlci50d29Xb3JkT3AxMlJlZzRGb3VyRm91cnMoT1BfU0RJ
Vl9UMSwgcm4sIEZvdXJGb3VycygweGYsIHJkLCAweGYsIHJtKSk7CisgICAgfQorI2VuZGlmCisK
ICAgICBBTFdBWVNfSU5MSU5FIHZvaWQgc211bGwoUmVnaXN0ZXJJRCByZExvLCBSZWdpc3RlcklE
IHJkSGksIFJlZ2lzdGVySUQgcm4sIFJlZ2lzdGVySUQgcm0pCiAgICAgewogICAgICAgICBBU1NF
UlQoIUJhZFJlZyhyZExvKSk7CkBAIC0xNzI0LDYgKzE3MzgsMTYgQEAgcHVibGljOgogICAgICAg
ICBtX2Zvcm1hdHRlci50d29Xb3JkT3AxMlJlZzQwSW1tM1JlZzRJbW0yMEltbTUoT1BfVUJGWF9U
MSwgcmQsIHJuLCAobHNiICYgMHgxYykgPDwgMTAsIChsc2IgJiAweDMpIDw8IDYsICh3aWR0aCAt
IDEpICYgMHgxZik7CiAgICAgfQogCisjaWYgQ1BVKEFQUExFX0FSTVY3UykKKyAgICBBTFdBWVNf
SU5MSU5FIHZvaWQgdWRpdihSZWdpc3RlcklEIHJkLCBSZWdpc3RlcklEIHJuLCBSZWdpc3RlcklE
IHJtKQorICAgIHsKKyAgICAgICAgQVNTRVJUKCFCYWRSZWcocmQpKTsKKyAgICAgICAgQVNTRVJU
KCFCYWRSZWcocm4pKTsKKyAgICAgICAgQVNTRVJUKCFCYWRSZWcocm0pKTsKKyAgICAgICAgbV9m
b3JtYXR0ZXIudHdvV29yZE9wMTJSZWc0Rm91ckZvdXJzKE9QX1VESVZfVDEsIHJuLCBGb3VyRm91
cnMoMHhmLCByZCwgMHhmLCBybSkpOworICAgIH0KKyNlbmRpZgorCiAgICAgdm9pZCB2YWRkKEZQ
RG91YmxlUmVnaXN0ZXJJRCByZCwgRlBEb3VibGVSZWdpc3RlcklEIHJuLCBGUERvdWJsZVJlZ2lz
dGVySUQgcm0pCiAgICAgewogICAgICAgICBtX2Zvcm1hdHRlci52ZnBPcChPUF9WQUREX1QyLCBP
UF9WQUREX1QyYiwgdHJ1ZSwgcm4sIHJkLCBybSk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0NvbW1vbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9k
ZmcvREZHQ29tbW9uLmgJKHJldmlzaW9uIDE0MTc3MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHQ29tbW9uLmgJKHdvcmtpbmcgY29weSkKQEAgLTExOSw2ICsxMTksMTUgQEAgaW5s
aW5lIGNvbnN0IGNoYXIqIHVzZUtpbmRUb1N0cmluZyhVc2VLaQogICAgIH0KIH0KIAoraW5saW5l
IGJvb2wgaXNBUk12N3MoKQoreworI2lmIENQVShBUFBMRV9BUk1WN1MpCisgICAgcmV0dXJuIHRy
dWU7CisjZWxzZQorICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorfQorCiBpbmxpbmUgYm9vbCBp
c1g4NigpCiB7CiAjaWYgQ1BVKFg4Nl82NCkgfHwgQ1BVKFg4NikKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAkocmV2aXNpb24gMTQxNzcyKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMzA1LDcgKzMwNSw3IEBAIHByaXZhdGU6CiAgICAgICAgIGNhc2UgQXJpdGhEaXY6IHsK
ICAgICAgICAgICAgIGlmIChOb2RlOjpzaG91bGRTcGVjdWxhdGVJbnRlZ2VyRm9yQXJpdGhtZXRp
Yyhub2RlLT5jaGlsZDEoKS5ub2RlKCksIG5vZGUtPmNoaWxkMigpLm5vZGUoKSkKICAgICAgICAg
ICAgICAgICAmJiBub2RlLT5jYW5TcGVjdWxhdGVJbnRlZ2VyKCkpIHsKLSAgICAgICAgICAgICAg
ICBpZiAoaXNYODYoKSkKKyAgICAgICAgICAgICAgICBpZiAoaXNYODYoKSB8fCBpc0FSTXY3cygp
KQogICAgICAgICAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICAgICAgICBpbmplY3RJbnQz
MlRvRG91YmxlTm9kZSgwKTsKICAgICAgICAgICAgICAgICBpbmplY3RJbnQzMlRvRG91YmxlTm9k
ZSgxKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQz
Ml82NC5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVj
dWxhdGl2ZUpJVDMyXzY0LmNwcAkocmV2aXNpb24gMTQxNzcyKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAkod29ya2luZyBjb3B5KQpAQCAt
MjQxMiw5ICsyNDEyLDExIEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSogbm9k
ZSkKICAgICAgICAgICAgICYmIG5vZGUtPmNhblNwZWN1bGF0ZUludGVnZXIoKSkgewogI2lmIENQ
VShYODYpCiAgICAgICAgICAgICBjb21waWxlSW50ZWdlckFyaXRoRGl2Rm9yWDg2KG5vZGUpOwot
I2Vsc2UgLy8gQ1BVKFg4NikgLT4gc28gbm9uLVg4NiBjb2RlIGZvbGxvd3MKKyNlbGlmIENQVShB
UFBMRV9BUk1WN1MpCisgICAgICAgICAgICBjb21waWxlSW50ZWdlckFyaXRoRGl2Rm9yQVJNdjdz
KG5vZGUpOworI2Vsc2UgLy8gQ1BVIHR5cGUgd2l0aG91dCBpbnRlZ2VyIGRpdmlkZQogICAgICAg
ICAgICAgUkVMRUFTRV9BU1NFUlRfTk9UX1JFQUNIRUQoKTsgLy8gc2hvdWxkIGhhdmUgYmVlbiBj
b3ZlcnRlZCBpbnRvIGEgZG91YmxlIGRpdmlkZS4KLSNlbmRpZiAvLyBDUFUoWDg2KQorI2VuZGlm
CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgfQogICAgICAgICAKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZpc2lvbiAx
NDE3NzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjg1OSw2ICsyODU5LDI2IEBAIHZvaWQgU3BlY3VsYXRpdmVK
SVQ6OmNvbXBpbGVTb2Z0TW9kdWxvKE4KICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgfQog
ICAgIH0KKyNlbGlmIENQVShBUFBMRV9BUk1WN1MpCisgICAgaWYgKGlzSW50MzJDb25zdGFudChu
b2RlLT5jaGlsZDIoKS5ub2RlKCkpKSB7CisgICAgICAgIGludDMyX3QgZGl2aXNvciA9IHZhbHVl
T2ZJbnQzMkNvbnN0YW50KG5vZGUtPmNoaWxkMigpLm5vZGUoKSk7CisgICAgICAgIGlmIChkaXZp
c29yID4gMCAmJiBoYXNPbmVCaXRTZXQoZGl2aXNvcikpIHsgLy8gSWYgcG93ZXIgb2YgMiB0aGVu
IGp1c3QgbWFzaworICAgICAgICAgICAgR1BSUmVnIGRpdmlkZW5kR1BSID0gb3AxLmdwcigpOwor
ICAgICAgICAgICAgR1BSVGVtcG9yYXJ5IHJlc3VsdCh0aGlzKTsKKyAgICAgICAgICAgIEdQUlJl
ZyByZXN1bHRHUFIgPSByZXN1bHQuZ3ByKCk7CisKKyAgICAgICAgICAgIG1faml0LmFzc2VtYmxl
cigpLmNtcChkaXZpZGVuZEdQUiwgQVJNVGh1bWJJbW1lZGlhdGU6Om1ha2VFbmNvZGVkSW1tKDAp
KTsKKyAgICAgICAgICAgIG1faml0LmFzc2VtYmxlcigpLml0KEFSTXY3QXNzZW1ibGVyOjpDb25k
aXRpb25MVCwgZmFsc2UpOworICAgICAgICAgICAgbV9qaXQuYXNzZW1ibGVyKCkubmVnKHJlc3Vs
dEdQUiwgZGl2aWRlbmRHUFIpOworICAgICAgICAgICAgbV9qaXQuYXNzZW1ibGVyKCkubW92KHJl
c3VsdEdQUiwgZGl2aWRlbmRHUFIpOworICAgICAgICAgICAgbV9qaXQuYW5kMzIoVHJ1c3RlZElt
bTMyKGRpdmlzb3IgLSAxKSwgcmVzdWx0R1BSKTsKKyAgICAgICAgICAgIG1faml0LmFzc2VtYmxl
cigpLml0KEFSTXY3QXNzZW1ibGVyOjpDb25kaXRpb25MVCk7CisgICAgICAgICAgICBtX2ppdC5h
c3NlbWJsZXIoKS5uZWcocmVzdWx0R1BSLCByZXN1bHRHUFIpOworCisgICAgICAgICAgICBpbnRl
Z2VyUmVzdWx0KHJlc3VsdEdQUiwgbV9jb21waWxlSW5kZXgpOworICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICB9CisgICAgfQogI2VuZGlmCiAKICAgICBTcGVjdWxhdGVJbnRlZ2VyT3BlcmFu
ZCBvcDIodGhpcywgbm9kZS0+Y2hpbGQyKCkpOwpAQCAtMjkyOCw3ICsyOTQ4LDMxIEBAIHZvaWQg
U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVTb2Z0TW9kdWxvKE4KICAgICAgICAgdW5sb2NrKG9wMVNh
dmVHUFIpOwogICAgICAgICAgICAgCiAgICAgaW50ZWdlclJlc3VsdChlZHguZ3ByKCksIG5vZGUp
OwotI2Vsc2UgLy8gQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkgLS0+IHNvIG5vdCBYODYKKworI2Vs
aWYgQ1BVKEFQUExFX0FSTVY3UykKKyAgICBHUFJUZW1wb3JhcnkgdGVtcCh0aGlzKTsKKyAgICBH
UFJUZW1wb3JhcnkgcXVvdGllbnRUaGVuUmVtYWluZGVyKHRoaXMpOworICAgIEdQUlRlbXBvcmFy
eSBtdWx0aXBseUFuc3dlcih0aGlzKTsKKyAgICBHUFJSZWcgZGl2aWRlbmRHUFIgPSBvcDEuZ3By
KCk7CisgICAgR1BSUmVnIGRpdmlzb3JHUFIgPSBvcDIuZ3ByKCk7CisgICAgR1BSUmVnIHF1b3Rp
ZW50VGhlblJlbWFpbmRlckdQUiA9IHF1b3RpZW50VGhlblJlbWFpbmRlci5ncHIoKTsKKyAgICBH
UFJSZWcgbXVsdGlwbHlBbnN3ZXJHUFIgPSBtdWx0aXBseUFuc3dlci5ncHIoKTsKKworICAgIG1f
aml0LmFzc2VtYmxlcigpLnNkaXYocXVvdGllbnRUaGVuUmVtYWluZGVyR1BSLCBkaXZpZGVuZEdQ
UiwgZGl2aXNvckdQUik7CisgICAgc3BlY3VsYXRpb25DaGVjayhPdmVyZmxvdywgSlNWYWx1ZVJl
Z3MoKSwgMCwgbV9qaXQuYnJhbmNoTXVsMzIoSklUQ29tcGlsZXI6Ok92ZXJmbG93LCBxdW90aWVu
dFRoZW5SZW1haW5kZXJHUFIsIGRpdmlzb3JHUFIsIG11bHRpcGx5QW5zd2VyR1BSKSk7CisgICAg
bV9qaXQuYXNzZW1ibGVyKCkuc3ViKHF1b3RpZW50VGhlblJlbWFpbmRlckdQUiwgZGl2aWRlbmRH
UFIsIG11bHRpcGx5QW5zd2VyR1BSKTsKKworICAgIC8vIElmIHRoZSB1c2VyIGNhcmVzIGFib3V0
IG5lZ2F0aXZlIHplcm8sIHRoZW4gc3BlY3VsYXRlIHRoYXQgd2UncmUgbm90IGFib3V0CisgICAg
Ly8gdG8gcHJvZHVjZSBuZWdhdGl2ZSB6ZXJvLgorICAgIGlmICghbm9kZUNhbklnbm9yZU5lZ2F0
aXZlWmVybyhub2RlLT5hcml0aE5vZGVGbGFncygpKSkgeworICAgICAgICAvLyBDaGVjayB0aGF0
IHdlJ3JlIG5vdCBhYm91dCB0byBjcmVhdGUgbmVnYXRpdmUgemVyby4KKyAgICAgICAgSklUQ29t
cGlsZXI6Okp1bXAgbnVtZXJhdG9yUG9zaXRpdmUgPSBtX2ppdC5icmFuY2gzMihKSVRDb21waWxl
cjo6R3JlYXRlclRoYW5PckVxdWFsLCBkaXZpZGVuZEdQUiwgVHJ1c3RlZEltbTMyKDApKTsKKyAg
ICAgICAgc3BlY3VsYXRpb25DaGVjayhPdmVyZmxvdywgSlNWYWx1ZVJlZ3MoKSwgMCwgbV9qaXQu
YnJhbmNoVGVzdDMyKEpJVENvbXBpbGVyOjpaZXJvLCBxdW90aWVudFRoZW5SZW1haW5kZXJHUFIp
KTsKKyAgICAgICAgbnVtZXJhdG9yUG9zaXRpdmUubGluaygmbV9qaXQpOworICAgIH0KKworICAg
IGludGVnZXJSZXN1bHQocXVvdGllbnRUaGVuUmVtYWluZGVyR1BSLCBtX2NvbXBpbGVJbmRleCk7
CisjZWxzZSAvLyBub3QgYXJjaGl0ZWN0dXJlIHRoYXQgY2FuIGRvIGludGVnZXIgZGl2aXNpb24K
ICAgICAvLyBEbyB0aGlzIHRoZSAqc2FmZXN0KiB3YXkgcG9zc2libGU6IGNhbGwgb3V0IHRvIGEg
QyBmdW5jdGlvbiB0aGF0IHdpbGwgZG8gdGhlIG1vZHVsbywKICAgICAvLyBhbmQgdGhlbiBhdHRl
bXB0IHRvIGNvbnZlcnQgYmFjay4KICAgICBHUFJSZWcgb3AxR1BSID0gb3AxLmdwcigpOwpAQCAt
MzI0Niw3ICszMjkwLDM2IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnRlZ2VyQXJp
dGgKICAgICAgICAgICAgIAogICAgIGludGVnZXJSZXN1bHQoZWF4LmdwcigpLCBub2RlKTsKIH0K
LSNlbmRpZiAvLyBDUFUoWDg2KSB8fCBDUFUoWDg2XzY0KQorI2VsaWYgQ1BVKEFQUExFX0FSTVY3
UykKK3ZvaWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbnRlZ2VyQXJpdGhEaXZGb3JBUk12N3Mo
Tm9kZSogbm9kZSkKK3sKKyAgICBTcGVjdWxhdGVJbnRlZ2VyT3BlcmFuZCBvcDEodGhpcywgbm9k
ZS0+Y2hpbGQxKCkpOworICAgIFNwZWN1bGF0ZUludGVnZXJPcGVyYW5kIG9wMih0aGlzLCBub2Rl
LT5jaGlsZDIoKSk7CisgICAgR1BSUmVnIG9wMUdQUiA9IG9wMS5ncHIoKTsKKyAgICBHUFJSZWcg
b3AyR1BSID0gb3AyLmdwcigpOworICAgIEdQUlRlbXBvcmFyeSBxdW90aWVudCh0aGlzKTsKKyAg
ICBHUFJUZW1wb3JhcnkgbXVsdGlwbHlBbnN3ZXIodGhpcyk7CisKKyAgICAvLyBJZiB0aGUgdXNl
ciBjYXJlcyBhYm91dCBuZWdhdGl2ZSB6ZXJvLCB0aGVuIHNwZWN1bGF0ZSB0aGF0IHdlJ3JlIG5v
dCBhYm91dAorICAgIC8vIHRvIHByb2R1Y2UgbmVnYXRpdmUgemVyby4KKyAgICBpZiAoIW5vZGVD
YW5JZ25vcmVOZWdhdGl2ZVplcm8obm9kZS0+YXJpdGhOb2RlRmxhZ3MoKSkpIHsKKyAgICAgICAg
TWFjcm9Bc3NlbWJsZXI6Okp1bXAgbnVtZXJhdG9yTm9uWmVybyA9IG1faml0LmJyYW5jaFRlc3Qz
MihNYWNyb0Fzc2VtYmxlcjo6Tm9uWmVybywgb3AxR1BSKTsKKyAgICAgICAgc3BlY3VsYXRpb25D
aGVjayhOZWdhdGl2ZVplcm8sIEpTVmFsdWVSZWdzKCksIDAsIG1faml0LmJyYW5jaDMyKE1hY3Jv
QXNzZW1ibGVyOjpMZXNzVGhhbiwgb3AyR1BSLCBUcnVzdGVkSW1tMzIoMCkpKTsKKyAgICAgICAg
bnVtZXJhdG9yTm9uWmVyby5saW5rKCZtX2ppdCk7CisgICAgfQorCisgICAgbV9qaXQuYXNzZW1i
bGVyKCkuc2RpdihxdW90aWVudC5ncHIoKSwgb3AxR1BSLCBvcDJHUFIpOworCisgICAgLy8gQ2hl
Y2sgdGhhdCB0aGVyZSB3YXMgbm8gcmVtYWluZGVyLiBJZiB0aGVyZSBoYWQgYmVlbiwgdGhlbiB3
ZSdkIGJlIG9ibGlnYXRlZCB0bworICAgIC8vIHByb2R1Y2UgYSBkb3VibGUgcmVzdWx0IGluc3Rl
YWQuCisgICAgaWYgKG5vZGVVc2VkQXNOdW1iZXIobm9kZS0+YXJpdGhOb2RlRmxhZ3MoKSkpIHsK
KyAgICAgICAgc3BlY3VsYXRpb25DaGVjayhPdmVyZmxvdywgSlNWYWx1ZVJlZ3MoKSwgMCwgbV9q
aXQuYnJhbmNoTXVsMzIoSklUQ29tcGlsZXI6Ok92ZXJmbG93LCBxdW90aWVudC5ncHIoKSwgb3Ay
R1BSLCBtdWx0aXBseUFuc3dlci5ncHIoKSkpOworICAgICAgICBzcGVjdWxhdGlvbkNoZWNrKE92
ZXJmbG93LCBKU1ZhbHVlUmVncygpLCAwLCBtX2ppdC5icmFuY2gzMihKSVRDb21waWxlcjo6Tm90
RXF1YWwsIG11bHRpcGx5QW5zd2VyLmdwcigpLCBvcDFHUFIpKTsKKyAgICB9CisKKyAgICBpbnRl
Z2VyUmVzdWx0KHF1b3RpZW50LmdwcigpLCBtX2NvbXBpbGVJbmRleCk7Cit9CisjZW5kaWYKIAog
dm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZUFyaXRoTW9kKE5vZGUqIG5vZGUpCiB7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklULmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5oCShyZXZp
c2lvbiAxNDE3NzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmgJKHdvcmtpbmcgY29weSkKQEAgLTIwODksNiArMjA4OSw4IEBAIHB1YmxpYzoKICAgICB2
b2lkIGNvbXBpbGVBcml0aE11bChOb2RlKik7CiAjaWYgQ1BVKFg4NikgfHwgQ1BVKFg4Nl82NCkK
ICAgICB2b2lkIGNvbXBpbGVJbnRlZ2VyQXJpdGhEaXZGb3JYODYoTm9kZSopOworI2VsaWYgQ1BV
KEFQUExFX0FSTVY3UykKKyAgICB2b2lkIGNvbXBpbGVJbnRlZ2VyQXJpdGhEaXZGb3JBUk12N3Mo
Tm9kZSopOwogI2VuZGlmCiAgICAgdm9pZCBjb21waWxlQXJpdGhNb2QoTm9kZSopOwogICAgIHZv
aWQgY29tcGlsZVNvZnRNb2R1bG8oTm9kZSopOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>