<?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>69989</bug_id>
          
          <creation_ts>2011-10-12 19:13:41 -0700</creation_ts>
          <short_desc>DFG CFA does not filter structures aggressively enough.</short_desc>
          <delta_ts>2011-10-12 19:19:56 -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>All</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="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>482964</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-10-12 19:13:41 -0700</bug_when>
    <thetext>If you have an abstract value like (Array, TOP) and you filter it against Final then you should get (None, []) - i.e. there does not exist a structure for any value within the abstract value&apos;s set, since the abstract value&apos;s set is empty.  This was causing some annoying ASSERTs.

I fixed this issue and added even more ASSERTs to catch it sooner.  I tested this against a bunch of websites and it seems to work.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482965</commentid>
    <comment_count>1</comment_count>
      <attachid>110793</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-10-12 19:15:10 -0700</bug_when>
    <thetext>Created attachment 110793
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482967</commentid>
    <comment_count>2</comment_count>
      <attachid>110795</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-10-12 19:16:16 -0700</bug_when>
    <thetext>Created attachment 110795
the patch - revert some debug stuff</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>482969</commentid>
    <comment_count>3</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-10-12 19:19:56 -0700</bug_when>
    <thetext>Landed in r97334.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110793</attachid>
            <date>2011-10-12 19:15:10 -0700</date>
            <delta_ts>2011-10-12 19:16:16 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>fixcfa_patch_1.diff</filename>
            <type>text/plain</type>
            <size>5099</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTczMzMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTEtMTAtMTIgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBE
RkcgQ0ZBIGRvZXMgbm90IGZpbHRlciBzdHJ1Y3R1cmVzIGFnZ3Jlc3NpdmVseSBlbm91Z2guCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZGZnL0RGR0Fi
c3RyYWN0VmFsdWUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdFZhbHVlOjpjbGVhcik6
CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RWYWx1ZTo6bWFrZVRvcCk6CisgICAgICAgIChK
U0M6OkRGRzo6QWJzdHJhY3RWYWx1ZTo6Y2xvYmJlclN0cnVjdHVyZXMpOgorICAgICAgICAoSlND
OjpERkc6OkFic3RyYWN0VmFsdWU6OnNldCk6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RW
YWx1ZTo6bWVyZ2UpOgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0VmFsdWU6OmZpbHRlcik6
CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RWYWx1ZTo6Y2hlY2tDb25zaXN0ZW5jeSk6CisK
IDIwMTEtMTAtMTIgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZW1vdmUgRU5BQkxFKFhIVE1MTVApIGFuZCBhc3NvY2lhdGVkIGNvZGUKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RWYWx1ZS5oCShyZXZpc2lvbiA5NzMxOCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RWYWx1ZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMTksNiArMzE5LDcgQEAgc3RydWN0IEFic3RyYWN0VmFsdWUgewogICAgIHsK
ICAgICAgICAgbV90eXBlID0gUHJlZGljdE5vbmU7CiAgICAgICAgIG1fc3RydWN0dXJlLmNsZWFy
KCk7CisgICAgICAgIGNoZWNrQ29uc2lzdGVuY3koKTsKICAgICB9CiAgICAgCiAgICAgYm9vbCBp
c0NsZWFyKCkKQEAgLTMzMCwxNiArMzMxLDE2IEBAIHN0cnVjdCBBYnN0cmFjdFZhbHVlIHsKICAg
ICB7CiAgICAgICAgIG1fdHlwZSA9IFByZWRpY3RUb3A7CiAgICAgICAgIG1fc3RydWN0dXJlLm1h
a2VUb3AoKTsKKyAgICAgICAgY2hlY2tDb25zaXN0ZW5jeSgpOwogICAgIH0KICAgICAKICAgICB2
b2lkIGNsb2JiZXJTdHJ1Y3R1cmVzKCkKICAgICB7Ci0gICAgICAgIGlmIChtX3R5cGUgJiBQcmVk
aWN0Q2VsbCkgeworICAgICAgICBpZiAobV90eXBlICYgUHJlZGljdENlbGwpCiAgICAgICAgICAg
ICBtX3N0cnVjdHVyZS5tYWtlVG9wKCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0K
LSAgICAgICAgCi0gICAgICAgIEFTU0VSVChtX3N0cnVjdHVyZS5pc0NsZWFyKCkpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBBU1NFUlQobV9zdHJ1Y3R1cmUuaXNDbGVhcigpKTsKKyAgICAg
ICAgY2hlY2tDb25zaXN0ZW5jeSgpOwogICAgIH0KICAgICAKICAgICBib29sIGlzVG9wKCkgY29u
c3QKQEAgLTM2MSw2ICszNjIsOCBAQCBzdHJ1Y3QgQWJzdHJhY3RWYWx1ZSB7CiAgICAgICAgICAg
ICBtX3N0cnVjdHVyZS5hZGQodmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSgpKTsKICAgICAgICAg
CiAgICAgICAgIG1fdHlwZSA9IHByZWRpY3Rpb25Gcm9tVmFsdWUodmFsdWUpOworICAgICAgICAK
KyAgICAgICAgY2hlY2tDb25zaXN0ZW5jeSgpOwogICAgIH0KICAgICAKICAgICB2b2lkIHNldChT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSkKQEAgLTM2OSw2ICszNzIsOCBAQCBzdHJ1Y3QgQWJzdHJhY3RW
YWx1ZSB7CiAgICAgICAgIG1fc3RydWN0dXJlLmFkZChzdHJ1Y3R1cmUpOwogICAgICAgICAKICAg
ICAgICAgbV90eXBlID0gcHJlZGljdGlvbkZyb21TdHJ1Y3R1cmUoc3RydWN0dXJlKTsKKyAgICAg
ICAgCisgICAgICAgIGNoZWNrQ29uc2lzdGVuY3koKTsKICAgICB9CiAgICAgCiAgICAgdm9pZCBz
ZXQoUHJlZGljdGVkVHlwZSB0eXBlKQpAQCAtMzc4LDYgKzM4Myw3IEBAIHN0cnVjdCBBYnN0cmFj
dFZhbHVlIHsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbV9zdHJ1Y3R1cmUuY2xlYXIoKTsK
ICAgICAgICAgbV90eXBlID0gdHlwZTsKKyAgICAgICAgY2hlY2tDb25zaXN0ZW5jeSgpOwogICAg
IH0KICAgICAKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgQWJzdHJhY3RWYWx1ZSYgb3RoZXIp
IGNvbnN0CkBAIC0zODcsNyArMzkzLDkgQEAgc3RydWN0IEFic3RyYWN0VmFsdWUgewogICAgIAog
ICAgIGJvb2wgbWVyZ2UoY29uc3QgQWJzdHJhY3RWYWx1ZSYgb3RoZXIpCiAgICAgewotICAgICAg
ICByZXR1cm4gbWVyZ2VQcmVkaWN0aW9uKG1fdHlwZSwgb3RoZXIubV90eXBlKSB8IG1fc3RydWN0
dXJlLmFkZEFsbChvdGhlci5tX3N0cnVjdHVyZSk7CisgICAgICAgIGJvb2wgcmVzdWx0ID0gbWVy
Z2VQcmVkaWN0aW9uKG1fdHlwZSwgb3RoZXIubV90eXBlKSB8IG1fc3RydWN0dXJlLmFkZEFsbChv
dGhlci5tX3N0cnVjdHVyZSk7CisgICAgICAgIGNoZWNrQ29uc2lzdGVuY3koKTsKKyAgICAgICAg
cmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAgCiAgICAgdm9pZCBtZXJnZShQcmVkaWN0ZWRUeXBl
IHR5cGUpCkBAIC0zOTYsNiArNDA0LDggQEAgc3RydWN0IEFic3RyYWN0VmFsdWUgewogICAgICAg
ICAKICAgICAgICAgaWYgKHR5cGUgJiBQcmVkaWN0Q2VsbCkKICAgICAgICAgICAgIG1fc3RydWN0
dXJlLm1ha2VUb3AoKTsKKworICAgICAgICBjaGVja0NvbnNpc3RlbmN5KCk7CiAgICAgfQogICAg
IAogICAgIHZvaWQgZmlsdGVyKGNvbnN0IFN0cnVjdHVyZVNldCYgb3RoZXIpCkBAIC00MDksNiAr
NDE5LDcgQEAgc3RydWN0IEFic3RyYWN0VmFsdWUgewogICAgICAgICAvLyBzdXJlIHRoYXQgbmV3
IGluZm9ybWF0aW9uIGdsZWFuZWQgZnJvbSB0aGUgUHJlZGljdGVkVHlwZSBuZWVkcyB0byBiZSBm
ZWQgYmFjawogICAgICAgICAvLyBpbnRvIHRoZSBpbmZvcm1hdGlvbiBnbGVhbmVkIGZyb20gdGhl
IFN0cnVjdHVyZVNldC4KICAgICAgICAgbV9zdHJ1Y3R1cmUuZmlsdGVyKG1fdHlwZSk7CisgICAg
ICAgIGNoZWNrQ29uc2lzdGVuY3koKTsKICAgICB9CiAgICAgCiAgICAgdm9pZCBmaWx0ZXIoUHJl
ZGljdGVkVHlwZSB0eXBlKQpAQCAtNDE2LDcgKzQyNywxMyBAQCBzdHJ1Y3QgQWJzdHJhY3RWYWx1
ZSB7CiAgICAgICAgIGlmICh0eXBlID09IFByZWRpY3RUb3ApCiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIG1fdHlwZSAmPSB0eXBlOwotICAgICAgICBtX3N0cnVjdHVyZS5maWx0ZXIodHlw
ZSk7CisgICAgICAgIAorICAgICAgICAvLyBJdCdzIHBvc3NpYmxlIHRoYXQgcHJpb3IgdG8gdGhp
cyBmaWx0ZXIoKSBjYWxsIHdlIGhhZCwgc2F5LCAoRmluYWwsIFRPUCksIGFuZAorICAgICAgICAv
LyB0aGUgcGFzc2VkIHR5cGUgaXMgQXJyYXkuIEF0IHRoaXMgcG9pbnQgd2UnbGwgaGF2ZSAoTm9u
ZSwgVE9QKS4gVGhlIGJlc3Qgd2F5CisgICAgICAgIC8vIHRvIGVuc3VyZSB0aGF0IHRoZSBzdHJ1
Y3R1cmUgZmlsdGVyaW5nIGRvZXMgdGhlIHJpZ2h0IHRoaW5nIGlzIHRvIGZpbHRlciBvbgorICAg
ICAgICAvLyB0aGUgbmV3IHR5cGUgKE5vbmUpIHJhdGhlciB0aGFuIHRoZSBvbmUgcGFzc2VkIChB
cnJheSkuCisgICAgICAgIG1fc3RydWN0dXJlLmZpbHRlcihtX3R5cGUpOworICAgICAgICBjaGVj
a0NvbnNpc3RlbmN5KCk7CiAgICAgfQogICAgIAogICAgIGJvb2wgdmFsaWRhdGUoSlNWYWx1ZSB2
YWx1ZSkgY29uc3QKQEAgLTQzOCw2ICs0NTUsMTcgQEAgc3RydWN0IEFic3RyYWN0VmFsdWUgewog
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgCisgICAgdm9pZCBjaGVja0NvbnNpc3Rl
bmN5KCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmICghKG1fdHlwZSAmIFByZWRpY3RDZWxsKSkK
KyAgICAgICAgICAgIEFTU0VSVChtX3N0cnVjdHVyZS5pc0NsZWFyKCkpOworICAgICAgICAKKyAg
ICAgICAgLy8gTm90ZSB0aGF0IGl0J3MgcG9zc2libGUgZm9yIGEgcHJlZGljdGlvbiBsaWtlIChG
aW5hbCwgW10pLiBUaGlzIHJlYWxseSBtZWFucyB0aGF0CisgICAgICAgIC8vIHRoZSB2YWx1ZSBp
cyBib3R0b20gYW5kIHRoYXQgYW55IGNvZGUgdGhhdCB1c2VzIHRoZSB2YWx1ZSBpcyB1bnJlYWNo
YWJsZS4gQnV0CisgICAgICAgIC8vIHdlIGRvbid0IHdhbnQgdG8gZ2V0IHBlZGFudGljIGFib3V0
IHRoaXMgYXMgaXQgd291bGQgb25seSBpbmNyZWFzZSB0aGUgY29tcHV0YXRpb25hbAorICAgICAg
ICAvLyBjb21wbGV4aXR5IG9mIHRoZSBjb2RlLgorICAgIH0KKyAgICAKICNpZm5kZWYgTkRFQlVH
CiAgICAgdm9pZCBkdW1wKEZJTEUqIG91dCkKICAgICB7CkluZGV4OiBUb29scy9UZXN0V2ViS2l0
QVBJL1Rlc3RzL1dURi9NZXRhQWxsb2NhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBUb29scy9UZXN0
V2ViS2l0QVBJL1Rlc3RzL1dURi9NZXRhQWxsb2NhdG9yLmNwcAkocmV2aXNpb24gOTczMTgpCisr
KyBUb29scy9UZXN0V2ViS2l0QVBJL1Rlc3RzL1dURi9NZXRhQWxsb2NhdG9yLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtNzE3LDYgKzcxNyw3IEBAIFRFU1RfRihNZXRhQWxsb2NhdG9yVGVzdCwgUmVw
ZWF0QWxsb2NGcmUKIAogVEVTVF9GKE1ldGFBbGxvY2F0b3JUZXN0LCBSZXBlYXRBbGxvY0ZyZWUz
MlRocmljZSkKIHsKKyAgICBFWFBFQ1RfVFJVRShmYWxzZSk7CiAgICAgdGVzdFJlcGVhdEFsbG9j
RnJlZSgzMiwgMzIsIDMyLCAwKTsKIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>110795</attachid>
            <date>2011-10-12 19:16:16 -0700</date>
            <delta_ts>2011-10-12 19:19:05 -0700</delta_ts>
            <desc>the patch - revert some debug stuff</desc>
            <filename>fixcfa_patch_1.diff</filename>
            <type>text/plain</type>
            <size>4651</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gOTczMzMpCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTkgQEAK
KzIwMTEtMTAtMTIgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KKworICAgICAgICBE
RkcgQ0ZBIGRvZXMgbm90IGZpbHRlciBzdHJ1Y3R1cmVzIGFnZ3Jlc3NpdmVseSBlbm91Z2guCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD02OTk4OQorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZGZnL0RGR0Fi
c3RyYWN0VmFsdWUuaDoKKyAgICAgICAgKEpTQzo6REZHOjpBYnN0cmFjdFZhbHVlOjpjbGVhcik6
CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RWYWx1ZTo6bWFrZVRvcCk6CisgICAgICAgIChK
U0M6OkRGRzo6QWJzdHJhY3RWYWx1ZTo6Y2xvYmJlclN0cnVjdHVyZXMpOgorICAgICAgICAoSlND
OjpERkc6OkFic3RyYWN0VmFsdWU6OnNldCk6CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RW
YWx1ZTo6bWVyZ2UpOgorICAgICAgICAoSlNDOjpERkc6OkFic3RyYWN0VmFsdWU6OmZpbHRlcik6
CisgICAgICAgIChKU0M6OkRGRzo6QWJzdHJhY3RWYWx1ZTo6Y2hlY2tDb25zaXN0ZW5jeSk6CisK
IDIwMTEtMTAtMTIgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBS
ZW1vdmUgRU5BQkxFKFhIVE1MTVApIGFuZCBhc3NvY2lhdGVkIGNvZGUKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RWYWx1ZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RWYWx1ZS5oCShyZXZpc2lvbiA5NzMxOCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RWYWx1ZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0zMTksNiArMzE5LDcgQEAgc3RydWN0IEFic3RyYWN0VmFsdWUgewogICAgIHsK
ICAgICAgICAgbV90eXBlID0gUHJlZGljdE5vbmU7CiAgICAgICAgIG1fc3RydWN0dXJlLmNsZWFy
KCk7CisgICAgICAgIGNoZWNrQ29uc2lzdGVuY3koKTsKICAgICB9CiAgICAgCiAgICAgYm9vbCBp
c0NsZWFyKCkKQEAgLTMzMCwxNiArMzMxLDE2IEBAIHN0cnVjdCBBYnN0cmFjdFZhbHVlIHsKICAg
ICB7CiAgICAgICAgIG1fdHlwZSA9IFByZWRpY3RUb3A7CiAgICAgICAgIG1fc3RydWN0dXJlLm1h
a2VUb3AoKTsKKyAgICAgICAgY2hlY2tDb25zaXN0ZW5jeSgpOwogICAgIH0KICAgICAKICAgICB2
b2lkIGNsb2JiZXJTdHJ1Y3R1cmVzKCkKICAgICB7Ci0gICAgICAgIGlmIChtX3R5cGUgJiBQcmVk
aWN0Q2VsbCkgeworICAgICAgICBpZiAobV90eXBlICYgUHJlZGljdENlbGwpCiAgICAgICAgICAg
ICBtX3N0cnVjdHVyZS5tYWtlVG9wKCk7Ci0gICAgICAgICAgICByZXR1cm47Ci0gICAgICAgIH0K
LSAgICAgICAgCi0gICAgICAgIEFTU0VSVChtX3N0cnVjdHVyZS5pc0NsZWFyKCkpOworICAgICAg
ICBlbHNlCisgICAgICAgICAgICBBU1NFUlQobV9zdHJ1Y3R1cmUuaXNDbGVhcigpKTsKKyAgICAg
ICAgY2hlY2tDb25zaXN0ZW5jeSgpOwogICAgIH0KICAgICAKICAgICBib29sIGlzVG9wKCkgY29u
c3QKQEAgLTM2MSw2ICszNjIsOCBAQCBzdHJ1Y3QgQWJzdHJhY3RWYWx1ZSB7CiAgICAgICAgICAg
ICBtX3N0cnVjdHVyZS5hZGQodmFsdWUuYXNDZWxsKCktPnN0cnVjdHVyZSgpKTsKICAgICAgICAg
CiAgICAgICAgIG1fdHlwZSA9IHByZWRpY3Rpb25Gcm9tVmFsdWUodmFsdWUpOworICAgICAgICAK
KyAgICAgICAgY2hlY2tDb25zaXN0ZW5jeSgpOwogICAgIH0KICAgICAKICAgICB2b2lkIHNldChT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSkKQEAgLTM2OSw2ICszNzIsOCBAQCBzdHJ1Y3QgQWJzdHJhY3RW
YWx1ZSB7CiAgICAgICAgIG1fc3RydWN0dXJlLmFkZChzdHJ1Y3R1cmUpOwogICAgICAgICAKICAg
ICAgICAgbV90eXBlID0gcHJlZGljdGlvbkZyb21TdHJ1Y3R1cmUoc3RydWN0dXJlKTsKKyAgICAg
ICAgCisgICAgICAgIGNoZWNrQ29uc2lzdGVuY3koKTsKICAgICB9CiAgICAgCiAgICAgdm9pZCBz
ZXQoUHJlZGljdGVkVHlwZSB0eXBlKQpAQCAtMzc4LDYgKzM4Myw3IEBAIHN0cnVjdCBBYnN0cmFj
dFZhbHVlIHsKICAgICAgICAgZWxzZQogICAgICAgICAgICAgbV9zdHJ1Y3R1cmUuY2xlYXIoKTsK
ICAgICAgICAgbV90eXBlID0gdHlwZTsKKyAgICAgICAgY2hlY2tDb25zaXN0ZW5jeSgpOwogICAg
IH0KICAgICAKICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgQWJzdHJhY3RWYWx1ZSYgb3RoZXIp
IGNvbnN0CkBAIC0zODcsNyArMzkzLDkgQEAgc3RydWN0IEFic3RyYWN0VmFsdWUgewogICAgIAog
ICAgIGJvb2wgbWVyZ2UoY29uc3QgQWJzdHJhY3RWYWx1ZSYgb3RoZXIpCiAgICAgewotICAgICAg
ICByZXR1cm4gbWVyZ2VQcmVkaWN0aW9uKG1fdHlwZSwgb3RoZXIubV90eXBlKSB8IG1fc3RydWN0
dXJlLmFkZEFsbChvdGhlci5tX3N0cnVjdHVyZSk7CisgICAgICAgIGJvb2wgcmVzdWx0ID0gbWVy
Z2VQcmVkaWN0aW9uKG1fdHlwZSwgb3RoZXIubV90eXBlKSB8IG1fc3RydWN0dXJlLmFkZEFsbChv
dGhlci5tX3N0cnVjdHVyZSk7CisgICAgICAgIGNoZWNrQ29uc2lzdGVuY3koKTsKKyAgICAgICAg
cmV0dXJuIHJlc3VsdDsKICAgICB9CiAgICAgCiAgICAgdm9pZCBtZXJnZShQcmVkaWN0ZWRUeXBl
IHR5cGUpCkBAIC0zOTYsNiArNDA0LDggQEAgc3RydWN0IEFic3RyYWN0VmFsdWUgewogICAgICAg
ICAKICAgICAgICAgaWYgKHR5cGUgJiBQcmVkaWN0Q2VsbCkKICAgICAgICAgICAgIG1fc3RydWN0
dXJlLm1ha2VUb3AoKTsKKworICAgICAgICBjaGVja0NvbnNpc3RlbmN5KCk7CiAgICAgfQogICAg
IAogICAgIHZvaWQgZmlsdGVyKGNvbnN0IFN0cnVjdHVyZVNldCYgb3RoZXIpCkBAIC00MDksNiAr
NDE5LDcgQEAgc3RydWN0IEFic3RyYWN0VmFsdWUgewogICAgICAgICAvLyBzdXJlIHRoYXQgbmV3
IGluZm9ybWF0aW9uIGdsZWFuZWQgZnJvbSB0aGUgUHJlZGljdGVkVHlwZSBuZWVkcyB0byBiZSBm
ZWQgYmFjawogICAgICAgICAvLyBpbnRvIHRoZSBpbmZvcm1hdGlvbiBnbGVhbmVkIGZyb20gdGhl
IFN0cnVjdHVyZVNldC4KICAgICAgICAgbV9zdHJ1Y3R1cmUuZmlsdGVyKG1fdHlwZSk7CisgICAg
ICAgIGNoZWNrQ29uc2lzdGVuY3koKTsKICAgICB9CiAgICAgCiAgICAgdm9pZCBmaWx0ZXIoUHJl
ZGljdGVkVHlwZSB0eXBlKQpAQCAtNDE2LDcgKzQyNywxMyBAQCBzdHJ1Y3QgQWJzdHJhY3RWYWx1
ZSB7CiAgICAgICAgIGlmICh0eXBlID09IFByZWRpY3RUb3ApCiAgICAgICAgICAgICByZXR1cm47
CiAgICAgICAgIG1fdHlwZSAmPSB0eXBlOwotICAgICAgICBtX3N0cnVjdHVyZS5maWx0ZXIodHlw
ZSk7CisgICAgICAgIAorICAgICAgICAvLyBJdCdzIHBvc3NpYmxlIHRoYXQgcHJpb3IgdG8gdGhp
cyBmaWx0ZXIoKSBjYWxsIHdlIGhhZCwgc2F5LCAoRmluYWwsIFRPUCksIGFuZAorICAgICAgICAv
LyB0aGUgcGFzc2VkIHR5cGUgaXMgQXJyYXkuIEF0IHRoaXMgcG9pbnQgd2UnbGwgaGF2ZSAoTm9u
ZSwgVE9QKS4gVGhlIGJlc3Qgd2F5CisgICAgICAgIC8vIHRvIGVuc3VyZSB0aGF0IHRoZSBzdHJ1
Y3R1cmUgZmlsdGVyaW5nIGRvZXMgdGhlIHJpZ2h0IHRoaW5nIGlzIHRvIGZpbHRlciBvbgorICAg
ICAgICAvLyB0aGUgbmV3IHR5cGUgKE5vbmUpIHJhdGhlciB0aGFuIHRoZSBvbmUgcGFzc2VkIChB
cnJheSkuCisgICAgICAgIG1fc3RydWN0dXJlLmZpbHRlcihtX3R5cGUpOworICAgICAgICBjaGVj
a0NvbnNpc3RlbmN5KCk7CiAgICAgfQogICAgIAogICAgIGJvb2wgdmFsaWRhdGUoSlNWYWx1ZSB2
YWx1ZSkgY29uc3QKQEAgLTQzOCw2ICs0NTUsMTcgQEAgc3RydWN0IEFic3RyYWN0VmFsdWUgewog
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgCisgICAgdm9pZCBjaGVja0NvbnNpc3Rl
bmN5KCkgY29uc3QKKyAgICB7CisgICAgICAgIGlmICghKG1fdHlwZSAmIFByZWRpY3RDZWxsKSkK
KyAgICAgICAgICAgIEFTU0VSVChtX3N0cnVjdHVyZS5pc0NsZWFyKCkpOworICAgICAgICAKKyAg
ICAgICAgLy8gTm90ZSB0aGF0IGl0J3MgcG9zc2libGUgZm9yIGEgcHJlZGljdGlvbiBsaWtlIChG
aW5hbCwgW10pLiBUaGlzIHJlYWxseSBtZWFucyB0aGF0CisgICAgICAgIC8vIHRoZSB2YWx1ZSBp
cyBib3R0b20gYW5kIHRoYXQgYW55IGNvZGUgdGhhdCB1c2VzIHRoZSB2YWx1ZSBpcyB1bnJlYWNo
YWJsZS4gQnV0CisgICAgICAgIC8vIHdlIGRvbid0IHdhbnQgdG8gZ2V0IHBlZGFudGljIGFib3V0
IHRoaXMgYXMgaXQgd291bGQgb25seSBpbmNyZWFzZSB0aGUgY29tcHV0YXRpb25hbAorICAgICAg
ICAvLyBjb21wbGV4aXR5IG9mIHRoZSBjb2RlLgorICAgIH0KKyAgICAKICNpZm5kZWYgTkRFQlVH
CiAgICAgdm9pZCBkdW1wKEZJTEUqIG91dCkKICAgICB7Cg==
</data>
<flag name="review"
          id="108406"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>