<?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>150532</bug_id>
          
          <creation_ts>2015-10-24 12:21:27 -0700</creation_ts>
          <short_desc>r190735 Caused us to maybe trample the base&apos;s tag-GPR on 32-bit inline cache when the cache allocates a scratch register and then jumps to the slow path</short_desc>
          <delta_ts>2015-10-26 12:49:37 -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>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></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>barraclough</cc>
    
    <cc>dewei_zhu</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1136268</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-10-24 12:21:27 -0700</bug_when>
    <thetext>This register used to show up in the used register set because of
how the DFG kept track of used register. I changed this in my
work on online caching because we don&apos;t want to spill these registers
when we have a GetByIdFlush/PutByIdFlush and we use the used register set
as the metric of how to spill. That said, these registers should be locked
and not used as scratch registers by the scratch register allocator. The
reason is that our inline cache may fail and jump to the slow path. The slow
path then uses the base&apos;s tag register. If the inline cache used the base&apos;s tag
register as a scratch and it fails and jumps to the slow path, we have a problem.
The most obvious solution is to just make StructureStubInfo aware of the base&apos;s tag
register so that it can lock it when allocating a scratch.

Note that this doesn&apos;t mean that we can trample this register when making a call.
We can totally trample this as long as the inline cache succeeds. The problem is 
only when we trample it and then jump to the slow path</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136435</commentid>
    <comment_count>1</comment_count>
      <attachid>264026</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-10-25 15:47:02 -0700</bug_when>
    <thetext>Created attachment 264026
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136448</commentid>
    <comment_count>2</comment_count>
      <attachid>264026</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-10-25 18:06:50 -0700</bug_when>
    <thetext>Comment on attachment 264026
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136449</commentid>
    <comment_count>3</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-10-25 18:15:10 -0700</bug_when>
    <thetext>...Can has regression test?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136476</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-10-25 22:16:12 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; ...Can has regression test?
Yeah. 
I was thinking I should create one.
I&apos;ll write one tomorrow before landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136600</commentid>
    <comment_count>5</comment_count>
      <attachid>264064</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-10-26 12:46:18 -0700</bug_when>
    <thetext>Created attachment 264064
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1136601</commentid>
    <comment_count>6</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-10-26 12:49:37 -0700</bug_when>
    <thetext>landed in:
http://trac.webkit.org/changeset/191594</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264026</attachid>
            <date>2015-10-25 15:47:02 -0700</date>
            <delta_ts>2015-10-26 12:46:18 -0700</delta_ts>
            <desc>patch</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>5058</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTkxNTUwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDM2IEBA
CisyMDE1LTEwLTI1ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IHIxOTA3MzUgQ2F1c2VkIHVzIHRvIG1heWJlIHRyYW1wbGUgdGhlIGJhc2UncyB0YWctR1BSIG9u
IDMyLWJpdCBpbmxpbmUgY2FjaGUgd2hlbiB0aGUgY2FjaGUgYWxsb2NhdGVzIGEgc2NyYXRjaCBy
ZWdpc3RlciBhbmQgdGhlbiBqdW1wcyB0byB0aGUgc2xvdyBwYXRoCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTA1MzIKKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBUaGUgYmFzZSdzIHRhZyByZWdpc3RlciB1
c2VkIHRvIHNob3cgdXAgaW4gdGhlIHVzZWQgcmVnaXN0ZXIgc2V0CisgICAgICAgIGJlZm9yZSBy
MTkwNzM1IGJlY2F1c2Ugb2YgaG93IHRoZSBERkcga2VwdCB0cmFjayBvZiB1c2VkIHJlZ2lzdGVy
LiBJIGNoYW5nZWQgdGhpcyAKKyAgICAgICAgaW4gbXkgd29yayBvbiBpbmxpbmUgY2FjaGluZyBi
ZWNhdXNlIHdlIGRvbid0IHdhbnQgdG8gc3BpbGwgdGhlc2UgcmVnaXN0ZXJzCisgICAgICAgIHdo
ZW4gd2UgaGF2ZSBhIEdldEJ5SWRGbHVzaC9QdXRCeUlkRmx1c2ggYW5kIHdlIHVzZSB0aGUgdXNl
ZCByZWdpc3RlciBzZXQKKyAgICAgICAgYXMgdGhlIG1ldHJpYyBvZiB3aGF0IHRvIHNwaWxsLiBU
aGF0IHNhaWQsIHRoZXNlIHJlZ2lzdGVycyBzaG91bGQgYmUgbG9ja2VkCisgICAgICAgIGFuZCBu
b3QgdXNlZCBhcyBzY3JhdGNoIHJlZ2lzdGVycyBieSB0aGUgc2NyYXRjaCByZWdpc3RlciBhbGxv
Y2F0b3IuIFRoZQorICAgICAgICByZWFzb24gaXMgdGhhdCBvdXIgaW5saW5lIGNhY2hlIG1heSBm
YWlsIGFuZCBqdW1wIHRvIHRoZSBzbG93IHBhdGguIFRoZSBzbG93CisgICAgICAgIHBhdGggdGhl
biB1c2VzIHRoZSBiYXNlJ3MgdGFnIHJlZ2lzdGVyLiBJZiB0aGUgaW5saW5lIGNhY2hlIHVzZWQg
dGhlIGJhc2UncyB0YWcKKyAgICAgICAgcmVnaXN0ZXIgYXMgYSBzY3JhdGNoIGFuZCB0aGUgaW5s
aW5lIGNhY2hlIGZhaWxzIGFuZCBqdW1wcyB0byB0aGUgc2xvdyBwYXRoLCB3ZQorICAgICAgICBo
YXZlIGEgcHJvYmxlbSBiZWNhdXNlIHRoZSB0YWcgbWF5IG5vdyBiZSB0cmFtcGxlZC4KKworICAg
ICAgICBOb3RlIHRoYXQgdGhpcyBkb2Vzbid0IG1lYW4gdGhhdCB3ZSBjYW4ndCB0cmFtcGxlIHRo
ZSBiYXNlJ3MgdGFnIHJlZ2lzdGVyIHdoZW4gbWFraW5nCisgICAgICAgIGEgY2FsbC4gV2UgY2Fu
IHRvdGFsbHkgdHJhbXBsZSB0aGUgcmVnaXN0ZXIgYXMgbG9uZyBhcyB0aGUgaW5saW5lIGNhY2hl
IHN1Y2NlZWRzIGluIGEgR2V0QnlJZEZsdXNoL1B1dEJ5SWRGbHVzaC4KKyAgICAgICAgVGhlIHBy
b2JsZW0gaXMgb25seSB3aGVuIHdlIHRyYW1wbGUgaXQgYW5kIHRoZW4ganVtcCB0byB0aGUgc2xv
dyBwYXRoLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgdGhpcyBidWcgYnkgbWFraW5nIFN0
cnVjdHVyZVN0dWJJbmZvIGtlZXAgdHJhY2sgb2YgdGhlIGJhc2UncworICAgICAgICB0YWcgR1BS
LiBQb2x5bW9ycGhpY0FjY2VzcyB0aGVuIGxvY2tzIHRoaXMgcmVnaXN0ZXIgd2hlbiB1c2luZyB0
aGUgU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yLgorCisgICAgICAgICogYnl0ZWNvZGUvUG9seW1v
cnBoaWNBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpQb2x5bW9ycGhpY0FjY2Vzczo6cmVnZW5l
cmF0ZSk6CisgICAgICAgICogYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaDoKKyAgICAgICAg
KiBkZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwOgorICAgICAgICAoSlNDOjpERkc6OlNwZWN1bGF0
aXZlSklUOjpjb21waWxlSW4pOgorICAgICAgICAqIGppdC9KSVRJbmxpbmVDYWNoZUdlbmVyYXRv
ci5jcHA6CisgICAgICAgIChKU0M6OkpJVEJ5SWRHZW5lcmF0b3I6OkpJVEJ5SWRHZW5lcmF0b3Ip
OgorCiAyMDE1LTEwLTI0ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAg
IFRlYWNoIGNyZWF0ZV9oYXNoX3RhYmxlIHRvIG9taXQgYnVpbHRpbnMgbWFjcm9zIHdoZW4gZ2Vu
ZXJhdGluZyB0YWJsZXMgZm9yIG5hdGl2ZS1vbmx5IG9iamVjdHMKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAkocmV2
aXNpb24gMTkxNTEyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3Jw
aGljQWNjZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODcyLDYgKzg3Miw5IEBAIHZvaWQgQWNj
ZXNzQ2FzZTo6Z2VuZXJhdGUoQWNjZXNzR2VuZXJhdGkKIAogICAgICAgICBTY3JhdGNoUmVnaXN0
ZXJBbGxvY2F0b3IgYWxsb2NhdG9yKHN0dWJJbmZvLnBhdGNoLnVzZWRSZWdpc3RlcnMpOwogICAg
ICAgICBhbGxvY2F0b3IubG9jayhiYXNlR1BSKTsKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAg
ICAgICBhbGxvY2F0b3IubG9jayhzdGF0aWNfY2FzdDxHUFJSZWc+KHN0dWJJbmZvLnBhdGNoLmJh
c2VUYWdHUFIpKTsKKyNlbmRpZgogICAgICAgICBhbGxvY2F0b3IubG9jayh2YWx1ZVJlZ3MpOwog
ICAgICAgICBhbGxvY2F0b3IubG9jayhzY3JhdGNoR1BSKTsKIApAQCAtMTIzMyw2ICsxMjM2LDkg
QEAgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyIFBvbHltb3JwaGljQWNjZXNzOgogICAgIHN0YXRlLmFs
bG9jYXRvciA9ICZhbGxvY2F0b3I7CiAgICAgYWxsb2NhdG9yLmxvY2soc3RhdGUuYmFzZUdQUik7
CiAgICAgYWxsb2NhdG9yLmxvY2soc3RhdGUudmFsdWVSZWdzKTsKKyNpZiBVU0UoSlNWQUxVRTMy
XzY0KQorICAgIGFsbG9jYXRvci5sb2NrKHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0
Y2guYmFzZVRhZ0dQUikpOworI2VuZGlmCiAKICAgICBzdGF0ZS5zY3JhdGNoR1BSID0gYWxsb2Nh
dG9yLmFsbG9jYXRlU2NyYXRjaEdQUigpOwogICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmgJKHJldmlzaW9uIDE5MTUx
MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMzQsNiArMTM0LDcgQEAgcHVibGljOgogICAgICAgICBpbnQ4
X3QgYmFzZUdQUjsKICNpZiBVU0UoSlNWQUxVRTMyXzY0KQogICAgICAgICBpbnQ4X3QgdmFsdWVU
YWdHUFI7CisgICAgICAgIGludDhfdCBiYXNlVGFnR1BSOwogI2VuZGlmCiAgICAgICAgIGludDhf
dCB2YWx1ZUdQUjsKICAgICAgICAgUmVnaXN0ZXJTZXQgdXNlZFJlZ2lzdGVyczsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZp
c2lvbiAxOTE1MTIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYwLDYgKzk2MCw3IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVJbihOb2RlKiBub2QKICAgICAgICAgICAgIHN0dWJJbmZvLT5wYXRjaC52
YWx1ZUdQUiA9IHN0YXRpY19jYXN0PGludDhfdD4ocmVzdWx0R1BSKTsKICNpZiBVU0UoSlNWQUxV
RTMyXzY0KQogICAgICAgICAgICAgc3R1YkluZm8tPnBhdGNoLnZhbHVlVGFnR1BSID0gc3RhdGlj
X2Nhc3Q8aW50OF90PihJbnZhbGlkR1BSUmVnKTsKKyAgICAgICAgICAgIHN0dWJJbmZvLT5wYXRj
aC5iYXNlVGFnR1BSID0gc3RhdGljX2Nhc3Q8aW50OF90PihJbnZhbGlkR1BSUmVnKTsKICNlbmRp
ZgogICAgICAgICAgICAgc3R1YkluZm8tPnBhdGNoLnVzZWRSZWdpc3RlcnMgPSB1c2VkUmVnaXN0
ZXJzKCk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVH
ZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
SW5saW5lQ2FjaGVHZW5lcmF0b3IuY3BwCShyZXZpc2lvbiAxOTE1MTIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVElubGluZUNhY2hlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjEsNiArNjEsNyBAQCBKSVRCeUlkR2VuZXJhdG9yOjpKSVRCeUlkR2VuZXJhdG9yKAog
ICAgIG1fc3R1YkluZm8tPnBhdGNoLmJhc2VHUFIgPSBzdGF0aWNfY2FzdDxpbnQ4X3Q+KGJhc2Uu
cGF5bG9hZEdQUigpKTsKICAgICBtX3N0dWJJbmZvLT5wYXRjaC52YWx1ZUdQUiA9IHN0YXRpY19j
YXN0PGludDhfdD4odmFsdWUucGF5bG9hZEdQUigpKTsKICNpZiBVU0UoSlNWQUxVRTMyXzY0KQor
ICAgIG1fc3R1YkluZm8tPnBhdGNoLmJhc2VUYWdHUFIgPSBzdGF0aWNfY2FzdDxpbnQ4X3Q+KGJh
c2UudGFnR1BSKCkpOwogICAgIG1fc3R1YkluZm8tPnBhdGNoLnZhbHVlVGFnR1BSID0gc3RhdGlj
X2Nhc3Q8aW50OF90Pih2YWx1ZS50YWdHUFIoKSk7CiAjZW5kaWYKIH0K
</data>
<flag name="review"
          id="289155"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>264064</attachid>
            <date>2015-10-26 12:46:18 -0700</date>
            <delta_ts>2015-10-26 12:46:18 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>b-backup.diff</filename>
            <type>text/plain</type>
            <size>6585</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTkxNTkzKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQyIEBA
CisyMDE1LTEwLTI2ICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IHIxOTA3MzUgQ2F1c2VkIHVzIHRvIG1heWJlIHRyYW1wbGUgdGhlIGJhc2UncyB0YWctR1BSIG9u
IDMyLWJpdCBpbmxpbmUgY2FjaGUgd2hlbiB0aGUgY2FjaGUgYWxsb2NhdGVzIGEgc2NyYXRjaCBy
ZWdpc3RlciBhbmQgdGhlbiBqdW1wcyB0byB0aGUgc2xvdyBwYXRoCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTA1MzIKKworICAgICAgICBSZXZpZXdl
ZCBieSBHZW9mZnJleSBHYXJlbi4KKworICAgICAgICBUaGUgYmFzZSdzIHRhZyByZWdpc3RlciB1
c2VkIHRvIHNob3cgdXAgaW4gdGhlIHVzZWQgcmVnaXN0ZXIgc2V0CisgICAgICAgIGJlZm9yZSBy
MTkwNzM1IGJlY2F1c2Ugb2YgaG93IHRoZSBERkcga2VwdCB0cmFjayBvZiB1c2VkIHJlZ2lzdGVy
LiBJIGNoYW5nZWQgdGhpcyAKKyAgICAgICAgaW4gbXkgd29yayBvbiBpbmxpbmUgY2FjaGluZyBi
ZWNhdXNlIHdlIGRvbid0IHdhbnQgdG8gc3BpbGwgdGhlc2UgcmVnaXN0ZXJzCisgICAgICAgIHdo
ZW4gd2UgaGF2ZSBhIEdldEJ5SWRGbHVzaC9QdXRCeUlkRmx1c2ggYW5kIHdlIHVzZSB0aGUgdXNl
ZCByZWdpc3RlciBzZXQKKyAgICAgICAgYXMgdGhlIG1ldHJpYyBvZiB3aGF0IHRvIHNwaWxsLiBU
aGF0IHNhaWQsIHRoZXNlIHJlZ2lzdGVycyBzaG91bGQgYmUgbG9ja2VkCisgICAgICAgIGFuZCBu
b3QgdXNlZCBhcyBzY3JhdGNoIHJlZ2lzdGVycyBieSB0aGUgc2NyYXRjaCByZWdpc3RlciBhbGxv
Y2F0b3IuIFRoZQorICAgICAgICByZWFzb24gaXMgdGhhdCBvdXIgaW5saW5lIGNhY2hlIG1heSBm
YWlsIGFuZCBqdW1wIHRvIHRoZSBzbG93IHBhdGguIFRoZSBzbG93CisgICAgICAgIHBhdGggdGhl
biB1c2VzIHRoZSBiYXNlJ3MgdGFnIHJlZ2lzdGVyLiBJZiB0aGUgaW5saW5lIGNhY2hlIHVzZWQg
dGhlIGJhc2UncyB0YWcKKyAgICAgICAgcmVnaXN0ZXIgYXMgYSBzY3JhdGNoIGFuZCB0aGUgaW5s
aW5lIGNhY2hlIGZhaWxzIGFuZCBqdW1wcyB0byB0aGUgc2xvdyBwYXRoLCB3ZQorICAgICAgICBo
YXZlIGEgcHJvYmxlbSBiZWNhdXNlIHRoZSB0YWcgbWF5IG5vdyBiZSB0cmFtcGxlZC4KKworICAg
ICAgICBOb3RlIHRoYXQgdGhpcyBkb2Vzbid0IG1lYW4gdGhhdCB3ZSBjYW4ndCB0cmFtcGxlIHRo
ZSBiYXNlJ3MgdGFnIHJlZ2lzdGVyIHdoZW4gbWFraW5nCisgICAgICAgIGEgY2FsbC4gV2UgY2Fu
IHRvdGFsbHkgdHJhbXBsZSB0aGUgcmVnaXN0ZXIgYXMgbG9uZyBhcyB0aGUgaW5saW5lIGNhY2hl
IHN1Y2NlZWRzIGluIGEgR2V0QnlJZEZsdXNoL1B1dEJ5SWRGbHVzaC4KKyAgICAgICAgVGhlIHBy
b2JsZW0gaXMgb25seSB3aGVuIHdlIHRyYW1wbGUgaXQgYW5kIHRoZW4ganVtcCB0byB0aGUgc2xv
dyBwYXRoLgorCisgICAgICAgIFRoaXMgcGF0Y2ggZml4ZXMgdGhpcyBidWcgYnkgbWFraW5nIFN0
cnVjdHVyZVN0dWJJbmZvIGtlZXAgdHJhY2sgb2YgdGhlIGJhc2UncworICAgICAgICB0YWcgR1BS
LiBQb2x5bW9ycGhpY0FjY2VzcyB0aGVuIGxvY2tzIHRoaXMgcmVnaXN0ZXIgd2hlbiB1c2luZyB0
aGUgU2NyYXRjaFJlZ2lzdGVyQWxsb2NhdG9yLgorCisgICAgICAgICogYnl0ZWNvZGUvUG9seW1v
cnBoaWNBY2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpBY2Nlc3NDYXNlOjpnZW5lcmF0ZSk6Cisg
ICAgICAgIChKU0M6OlBvbHltb3JwaGljQWNjZXNzOjpyZWdlbmVyYXRlKToKKyAgICAgICAgKiBi
eXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5oOgorICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2
ZUpJVC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGVJbik6
CisgICAgICAgICogaml0L0pJVElubGluZUNhY2hlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpT
Qzo6SklUQnlJZEdlbmVyYXRvcjo6SklUQnlJZEdlbmVyYXRvcik6CisgICAgICAgICogdGVzdHMv
c3RyZXNzL3JlZ3Jlc3MtMTUwNTMyLmpzOiBBZGRlZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAg
ICAgIChyYW5kb21GdW5jdGlvbik6CisgICAgICAgIChmb28pOgorICAgICAgICAoaS5zd2l0Y2gp
OgorCiAyMDE1LTEwLTI0ICBCcmlhbiBCdXJnICA8YmJ1cmdAYXBwbGUuY29tPgogCiAgICAgICAg
IFRlYWNoIGNyZWF0ZV9oYXNoX3RhYmxlIHRvIG9taXQgYnVpbHRpbnMgbWFjcm9zIHdoZW4gZ2Vu
ZXJhdGluZyB0YWJsZXMgZm9yIG5hdGl2ZS1vbmx5IG9iamVjdHMKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ieXRlY29kZS9Qb2x5bW9ycGhpY0FjY2Vzcy5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3JwaGljQWNjZXNzLmNwcAkocmV2
aXNpb24gMTkxNTkzKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1BvbHltb3Jw
aGljQWNjZXNzLmNwcAkod29ya2luZyBjb3B5KQpAQCAtODcyLDYgKzg3Miw5IEBAIHZvaWQgQWNj
ZXNzQ2FzZTo6Z2VuZXJhdGUoQWNjZXNzR2VuZXJhdGkKIAogICAgICAgICBTY3JhdGNoUmVnaXN0
ZXJBbGxvY2F0b3IgYWxsb2NhdG9yKHN0dWJJbmZvLnBhdGNoLnVzZWRSZWdpc3RlcnMpOwogICAg
ICAgICBhbGxvY2F0b3IubG9jayhiYXNlR1BSKTsKKyNpZiBVU0UoSlNWQUxVRTMyXzY0KQorICAg
ICAgICBhbGxvY2F0b3IubG9jayhzdGF0aWNfY2FzdDxHUFJSZWc+KHN0dWJJbmZvLnBhdGNoLmJh
c2VUYWdHUFIpKTsKKyNlbmRpZgogICAgICAgICBhbGxvY2F0b3IubG9jayh2YWx1ZVJlZ3MpOwog
ICAgICAgICBhbGxvY2F0b3IubG9jayhzY3JhdGNoR1BSKTsKIApAQCAtMTIzMyw2ICsxMjM2LDkg
QEAgTWFjcm9Bc3NlbWJsZXJDb2RlUHRyIFBvbHltb3JwaGljQWNjZXNzOgogICAgIHN0YXRlLmFs
bG9jYXRvciA9ICZhbGxvY2F0b3I7CiAgICAgYWxsb2NhdG9yLmxvY2soc3RhdGUuYmFzZUdQUik7
CiAgICAgYWxsb2NhdG9yLmxvY2soc3RhdGUudmFsdWVSZWdzKTsKKyNpZiBVU0UoSlNWQUxVRTMy
XzY0KQorICAgIGFsbG9jYXRvci5sb2NrKHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0
Y2guYmFzZVRhZ0dQUikpOworI2VuZGlmCiAKICAgICBzdGF0ZS5zY3JhdGNoR1BSID0gYWxsb2Nh
dG9yLmFsbG9jYXRlU2NyYXRjaEdQUigpOwogICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmgJKHJldmlzaW9uIDE5MTU5
MykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9TdHJ1Y3R1cmVTdHViSW5mby5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xMzQsNiArMTM0LDcgQEAgcHVibGljOgogICAgICAgICBpbnQ4
X3QgYmFzZUdQUjsKICNpZiBVU0UoSlNWQUxVRTMyXzY0KQogICAgICAgICBpbnQ4X3QgdmFsdWVU
YWdHUFI7CisgICAgICAgIGludDhfdCBiYXNlVGFnR1BSOwogI2VuZGlmCiAgICAgICAgIGludDhf
dCB2YWx1ZUdQUjsKICAgICAgICAgUmVnaXN0ZXJTZXQgdXNlZFJlZ2lzdGVyczsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQuY3BwCShyZXZp
c2lvbiAxOTE1OTMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTYwLDYgKzk2MCw3IEBAIHZvaWQgU3BlY3VsYXRp
dmVKSVQ6OmNvbXBpbGVJbihOb2RlKiBub2QKICAgICAgICAgICAgIHN0dWJJbmZvLT5wYXRjaC52
YWx1ZUdQUiA9IHN0YXRpY19jYXN0PGludDhfdD4ocmVzdWx0R1BSKTsKICNpZiBVU0UoSlNWQUxV
RTMyXzY0KQogICAgICAgICAgICAgc3R1YkluZm8tPnBhdGNoLnZhbHVlVGFnR1BSID0gc3RhdGlj
X2Nhc3Q8aW50OF90PihJbnZhbGlkR1BSUmVnKTsKKyAgICAgICAgICAgIHN0dWJJbmZvLT5wYXRj
aC5iYXNlVGFnR1BSID0gc3RhdGljX2Nhc3Q8aW50OF90PihJbnZhbGlkR1BSUmVnKTsKICNlbmRp
ZgogICAgICAgICAgICAgc3R1YkluZm8tPnBhdGNoLnVzZWRSZWdpc3RlcnMgPSB1c2VkUmVnaXN0
ZXJzKCk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUSW5saW5lQ2FjaGVH
ZW5lcmF0b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklU
SW5saW5lQ2FjaGVHZW5lcmF0b3IuY3BwCShyZXZpc2lvbiAxOTE1OTMpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvaml0L0pJVElubGluZUNhY2hlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtNjEsNiArNjEsNyBAQCBKSVRCeUlkR2VuZXJhdG9yOjpKSVRCeUlkR2VuZXJhdG9yKAog
ICAgIG1fc3R1YkluZm8tPnBhdGNoLmJhc2VHUFIgPSBzdGF0aWNfY2FzdDxpbnQ4X3Q+KGJhc2Uu
cGF5bG9hZEdQUigpKTsKICAgICBtX3N0dWJJbmZvLT5wYXRjaC52YWx1ZUdQUiA9IHN0YXRpY19j
YXN0PGludDhfdD4odmFsdWUucGF5bG9hZEdQUigpKTsKICNpZiBVU0UoSlNWQUxVRTMyXzY0KQor
ICAgIG1fc3R1YkluZm8tPnBhdGNoLmJhc2VUYWdHUFIgPSBzdGF0aWNfY2FzdDxpbnQ4X3Q+KGJh
c2UudGFnR1BSKCkpOwogICAgIG1fc3R1YkluZm8tPnBhdGNoLnZhbHVlVGFnR1BSID0gc3RhdGlj
X2Nhc3Q8aW50OF90Pih2YWx1ZS50YWdHUFIoKSk7CiAjZW5kaWYKIH0KSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvcmVncmVzcy0xNTA1MzIuanMKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9yZWdyZXNzLTE1MDUzMi5qcwko
cmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvcmVncmVz
cy0xNTA1MzIuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSw0MSBAQAorLy8gTWFrZXMgc3Vy
ZSB3ZSBkb24ndCB1c2UgYmFzZSdzIHRhZyByZWdpc3RlciBvbiAzMi1iaXQgd2hlbiBhbiBpbmxp
bmUgY2FjaGUgZmFpbHMgYW5kIGp1bXBzIHRvIHRoZSBzbG93IHBhdGgKKy8vIGJlY2F1c2UgdGhl
IHNsb3cgcGF0aCBkZXBlbmRzIG9uIHRoZSBiYXNlIGJlaW5nIHByZXNlbnQuCisKK2Z1bmN0aW9u
IGFzc2VydChiKSB7CisgICAgaWYgKCFiKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3IoImJhZGRk
Iik7Cit9Citub0lubGluZShhc3NlcnQpOworCitsZXQgY3VzdG9tR2V0dGVyID0gY3JlYXRlQ3Vz
dG9tR2V0dGVyT2JqZWN0KCk7CitsZXQgb3RoZXJPYmogPSB7CisgICAgY3VzdG9tR2V0dGVyOiAy
MAorfTsKK2Z1bmN0aW9uIHJhbmRvbUZ1bmN0aW9uKCkge30KK25vSW5saW5lKHJhbmRvbUZ1bmN0
aW9uKTsKKworZnVuY3Rpb24gZm9vKG8sIGMpIHsKKyAgICBsZXQgYmF6ICA9IG8uY3VzdG9tR2V0
dGVyOworICAgIGlmIChjKSB7CisgICAgICAgIG8gPSA0MjsKKyAgICB9CisgICAgbGV0IGpheiA9
IG8uZm9vOworICAgIGxldCBrYXogPSBqYXogKyAiaGV5IjsKKyAgICBsZXQgcmF6ID0ga2F6ICsg
ImhleSI7CisgICAgbGV0IHJlc3VsdCA9IG8uY3VzdG9tR2V0dGVyOworICAgIHJhbmRvbUZ1bmN0
aW9uKCFjLCBiYXosIGpheiwga2F6LCByYXopOworICAgIHJldHVybiByZXN1bHQ7Cit9Citub0lu
bGluZShmb28pOworCitmb3IgKGxldCBpID0gMDsgaSA8IDEwMDAwOyBpKyspIHsKKyAgICBzd2l0
Y2ggKGkgJSAyKSB7CisgICAgY2FzZSAwOgorICAgICAgICBhc3NlcnQoZm9vKGN1c3RvbUdldHRl
cikgPT09IDEwMCk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgMToKKyAgICAgICAgYXNzZXJ0
KGZvbyhvdGhlck9iaikgPT09IDIwKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorfQorYXNzZXJ0
KGZvbyh7aGVsbG86IDIwLCB3b3JsZDo1MCwgY3VzdG9tR2V0dGVyOiA0MH0pID09PSA0MCk7IC8v
IE1ha2Ugc3VyZSB3ZSBkb24ndCB0cmFtcGxlIHJlZ2lzdGVycyBpbiAiby5jdXN0b21HZXR0ZXIi
IGlubGluZSBjYWNoZSBmYWlsdXJlIGluIGZvby4K
</data>

          </attachment>
      

    </bug>

</bugzilla>