<?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>187852</bug_id>
          
          <creation_ts>2018-07-20 03:06:38 -0700</creation_ts>
          <short_desc>[JSC] A bit performance improvement for Object.assign by cleaning up code</short_desc>
          <delta_ts>2018-07-20 11:29:21 -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>New Bugs</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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yusuke Suzuki">ysuzuki</reporter>
          <assigned_to name="Yusuke Suzuki">ysuzuki</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>saam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1443729</commentid>
    <comment_count>0</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-07-20 03:06:38 -0700</bug_when>
    <thetext>[JSC] A bit performance improvement for Object.assign by cleaning up code</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443730</commentid>
    <comment_count>1</comment_count>
      <attachid>345438</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-07-20 03:09:17 -0700</bug_when>
    <thetext>Created attachment 345438
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443832</commentid>
    <comment_count>2</comment_count>
      <attachid>345438</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2018-07-20 10:57:48 -0700</bug_when>
    <thetext>Comment on attachment 345438
Patch

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

r=me

&gt; Source/JavaScriptCore/ChangeLog:11
&gt; +        2. canDoFastPath is not necessary. Restructuring the code to clean up things.

I agree this is a bit ugly, but the reason I wrote it that way so was we don&apos;t try to use the Structure* after the source could have potentially transitioned.

I would vote for just loading the structure twice instead of keeping a variable around that points to something that may no longer be source&apos;s structure. (LLVM should CSE the structure load anyways)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443856</commentid>
    <comment_count>3</comment_count>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2018-07-20 11:28:33 -0700</bug_when>
    <thetext>Committed r234058: &lt;https://trac.webkit.org/changeset/234058&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1443857</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2018-07-20 11:29:21 -0700</bug_when>
    <thetext>&lt;rdar://problem/42437911&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>345438</attachid>
            <date>2018-07-20 03:09:17 -0700</date>
            <delta_ts>2018-07-20 10:57:48 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-187852-20180720190916.patch</filename>
            <type>text/plain</type>
            <size>8192</size>
            <attacher name="Yusuke Suzuki">ysuzuki</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjM0MDM4CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCAy
ZWFiMWZlYjU4ZTM0MTI5Yzk0MGFiNjg5YTVjNjIyNTU2NTJmOWQyLi45MGU1ZGQ2NGJhMTIwN2M2
Y2RmZWZhY2RiYjg3OGJkZjcyZmU2NWI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwyNCBAQAorMjAxOC0wNy0yMCAgWXVzdWtlIFN1enVraSAgPHV0YXRhbmUudGVhQGdtYWls
LmNvbT4KKworICAgICAgICBbSlNDXSBBIGJpdCBwZXJmb3JtYW5jZSBpbXByb3ZlbWVudCBmb3Ig
T2JqZWN0LmFzc2lnbiBieSBjbGVhbmluZyB1cCBjb2RlCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODc4NTIKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBXZSBjbGVhbiB1cCBPYmplY3QuYXNzaWduIGNvZGUg
YSBiaXQuCisKKyAgICAgICAgMS4gVmVjdG9yIGFuZCBNYXJrZWRBcmd1bWVudEJ1ZmZlciBhcmUg
ZXh0cmFjdGVkIG91dCBmcm9tIHRoZSBsb29wIHNpbmNlIHJlcGVhdGVkbHkgY3JlYXRpbmcgTWFy
a2VkQXJndW1lbnRCdWZmZXIgaXMgY29zdGx5LgorICAgICAgICAyLiBjYW5Eb0Zhc3RQYXRoIGlz
IG5vdCBuZWNlc3NhcnkuIFJlc3RydWN0dXJpbmcgdGhlIGNvZGUgdG8gY2xlYW4gdXAgdGhpbmdz
LgorCisgICAgICAgIEl0IGltcHJvdmVzIHRoZSBwZXJmb3JtYW5jZSBhIGJpdC4KKworICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYmFzZWxpbmUgICAgICAgICAgICAgICAgICBw
YXRjaGVkCisKKyAgICAgICAgb2JqZWN0LWFzc2lnbi5lczYgICAgICAyMzcuNzcxOSstNS41MTc1
ICAgICAgICAgIDIzMS4yODU2Ky00LjY5MDcgICAgICAgICAgbWlnaHQgYmUgMS4wMjgweCBmYXN0
ZXIKKworICAgICAgICAqIHJ1bnRpbWUvT2JqZWN0Q29uc3RydWN0b3IuY3BwOgorICAgICAgICAo
SlNDOjpvYmplY3RDb25zdHJ1Y3RvckFzc2lnbik6CisKIDIwMTgtMDctMTkgIENhcmxvcyBHYXJj
aWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtHTElCXSBqc2NfY29u
dGV4dF9ldmFsdWF0ZV9pbl9vYmplY3QoKSBzaG91bGQgcmVjZWl2ZSBhbiBpbnN0YW5jZSB3aGVu
IGEgSlNDQ2xhc3MgaXMgZ2l2ZW4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9y
dW50aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50
aW1lL09iamVjdENvbnN0cnVjdG9yLmNwcAppbmRleCAyNzQ3MWVlYzYwZGQ0YjlhZGYwNjRmN2Qx
ODljZmMwYzFkMGRlNzgxLi4zNzllMmE1NjBlZGE3N2YxNWNlNDMzZThlNTlhYzFjMzI2NGY0NjQy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PYmplY3RDb25zdHJ1
Y3Rvci5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT2JqZWN0Q29uc3Ry
dWN0b3IuY3BwCkBAIC0zMDQsNiArMzA0LDggQEAgRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FM
TCBvYmplY3RDb25zdHJ1Y3RvckFzc2lnbihFeGVjU3RhdGUqIGV4ZWMpCiAgICAgLy8gaHR0cHM6
Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE4NTM1OAogICAgIGJvb2wgdGFyZ2V0
Q2FuUGVyZm9ybUZhc3RQdXQgPSBqc0R5bmFtaWNDYXN0PEpTRmluYWxPYmplY3QqPih2bSwgdGFy
Z2V0KSAmJiB0YXJnZXQtPmNhblBlcmZvcm1GYXN0UHV0SW5saW5lRXhjbHVkaW5nUHJvdG8odm0p
OwogCisgICAgVmVjdG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIDg+IHByb3BlcnRpZXM7
CisgICAgTWFya2VkQXJndW1lbnRCdWZmZXIgdmFsdWVzOwogICAgIHVuc2lnbmVkIGFyZ3NDb3Vu
dCA9IGV4ZWMtPmFyZ3VtZW50Q291bnQoKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAxOyBpIDwg
YXJnc0NvdW50OyArK2kpIHsKICAgICAgICAgSlNWYWx1ZSBzb3VyY2VWYWx1ZSA9IGV4ZWMtPnVu
Y2hlY2tlZEFyZ3VtZW50KGkpOwpAQCAtMzE4LDY2ICszMjAsNjAgQEAgRW5jb2RlZEpTVmFsdWUg
SlNDX0hPU1RfQ0FMTCBvYmplY3RDb25zdHJ1Y3RvckFzc2lnbihFeGVjU3RhdGUqIGV4ZWMpCiAg
ICAgICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihzY29wZSwgeyB9KTsKICAgICAgICAg
ICAgIH0KIAotICAgICAgICAgICAgYm9vbCBjYW5Eb0Zhc3RQYXRoOwotICAgICAgICAgICAgVmVj
dG9yPFJlZlB0cjxVbmlxdWVkU3RyaW5nSW1wbD4sIDg+IHByb3BlcnRpZXM7Ci0gICAgICAgICAg
ICBNYXJrZWRBcmd1bWVudEJ1ZmZlciB2YWx1ZXM7Ci0gICAgICAgICAgICB7Ci0gICAgICAgICAg
ICAgICAgYXV0byBjYW5QZXJmb3JtRmFzdFByb3BlcnR5RW51bWVyYXRpb25Gb3JPYmplY3RBc3Np
Z24gPSBbXSAoU3RydWN0dXJlKiBzdHJ1Y3R1cmUpIHsKLSAgICAgICAgICAgICAgICAgICAgaWYg
KHN0cnVjdHVyZS0+dHlwZUluZm8oKS5vdmVycmlkZXNHZXRPd25Qcm9wZXJ0eVNsb3QoKSkKLSAg
ICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAgICAgICAgICAgICAgICAgICAg
aWYgKHN0cnVjdHVyZS0+dHlwZUluZm8oKS5vdmVycmlkZXNHZXRQcm9wZXJ0eU5hbWVzKCkpCi0g
ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAg
IC8vIEZJWE1FOiBJbmRleGVkIHByb3BlcnRpZXMgY2FuIGJlIGhhbmRsZWQuCi0gICAgICAgICAg
ICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xODUz
NTgKLSAgICAgICAgICAgICAgICAgICAgaWYgKGhhc0luZGV4ZWRQcm9wZXJ0aWVzKHN0cnVjdHVy
ZS0+aW5kZXhpbmdUeXBlKCkpKQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgICAgICAgICAgICAgICAgICBpZiAoc3RydWN0dXJlLT5oYXNHZXR0ZXJTZXR0ZXJQcm9w
ZXJ0aWVzKCkpCi0gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAg
ICAgICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmlzVW5jYWNoZWFibGVEaWN0aW9uYXJ5KCkpCi0g
ICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgICAgICAgICAgICAgICAg
IC8vIENhbm5vdCBwZXJmb3JtIGZhc3QgW1tQdXRdXSB0byB8dGFyZ2V0fCBpZiB0aGUgcHJvcGVy
dHkgbmFtZXMgb2YgdGhlIHxzb3VyY2V8IGNvbnRhaW4gIl9fcHJvdG9fXyIuCi0gICAgICAgICAg
ICAgICAgICAgIGlmIChzdHJ1Y3R1cmUtPmhhc1VuZGVyc2NvcmVQcm90b1Byb3BlcnR5RXhjbHVk
aW5nT3JpZ2luYWxQcm90bygpKQotICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNl
OwotICAgICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKLSAgICAgICAgICAgICAgICB9Owot
Ci0gICAgICAgICAgICAgICAgU3RydWN0dXJlKiBzdHJ1Y3R1cmUgPSBzb3VyY2UtPnN0cnVjdHVy
ZSh2bSk7Ci0gICAgICAgICAgICAgICAgY2FuRG9GYXN0UGF0aCA9IGNhblBlcmZvcm1GYXN0UHJv
cGVydHlFbnVtZXJhdGlvbkZvck9iamVjdEFzc2lnbihzdHJ1Y3R1cmUpOwotICAgICAgICAgICAg
ICAgIGlmIChjYW5Eb0Zhc3RQYXRoKSB7Ci0gICAgICAgICAgICAgICAgICAgIC8vIHxzb3VyY2V8
IFN0cnVjdHVyZSBkb2VzIG5vdCBoYXZlIGFueSBnZXR0ZXJzLiBBbmQgdGFyZ2V0IGNhbiBwZXJm
b3JtIGZhc3QgcHV0LgotICAgICAgICAgICAgICAgICAgICAvLyBTbyBlbnVtZXJhdGluZyBwcm9w
ZXJ0aWVzIGFuZCBwdXR0aW5nIHByb3BlcnRpZXMgYXJlIG5vbiBvYnNlcnZhYmxlLgotCi0gICAg
ICAgICAgICAgICAgICAgIC8vIEZJWE1FOiBJdCBkb2Vzbid0IHNlZW0gbGlrZSB3ZSBzaG91bGQg
aGF2ZSB0byBkbyB0aGlzIGluIHR3byBwaGFzZXMsIGJ1dAotICAgICAgICAgICAgICAgICAgICAv
LyB3ZSdyZSBydW5uaW5nIGludG8gY3Jhc2hlcyB3aGVyZSBpdCBhcHBlYXJzIHRoYXQgc291cmNl
IGlzIHRyYW5zaXRpb25pbmcKLSAgICAgICAgICAgICAgICAgICAgLy8gdW5kZXIgdXMsIGFuZCBl
dmVuIGVuZHMgdXAgaW4gYSBzdGF0ZSB3aGVyZSBpdCBoYXMgYSBudWxsIGJ1dHRlcmZseS4gTXkK
LSAgICAgICAgICAgICAgICAgICAgLy8gbGVhZGluZyBoeXBvdGhlc2lzIGhlcmUgaXMgdGhhdCB3
ZSBmaXJlIHNvbWUgdmFsdWUgcmVwbGFjZW1lbnQgd2F0Y2hwb2ludAotICAgICAgICAgICAgICAg
ICAgICAvLyB0aGF0IGVuZHMgdXAgdHJhbnNpdGlvbmluZyB0aGUgc3RydWN0dXJlIHVuZGVybmVh
dGggdXMuCi0gICAgICAgICAgICAgICAgICAgIC8vIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0xODc4MzcKLQotICAgICAgICAgICAgICAgICAgICBzdHJ1Y3R1cmUtPmZv
ckVhY2hQcm9wZXJ0eSh2bSwgWyZdIChjb25zdCBQcm9wZXJ0eU1hcEVudHJ5JiBlbnRyeSkgLT4g
Ym9vbCB7Ci0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoZW50cnkuYXR0cmlidXRlcyAmIFBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKLQotICAgICAgICAgICAgICAgICAgICAgICAgUHJvcGVydHlOYW1lIHByb3Bl
cnR5TmFtZShlbnRyeS5rZXkpOwotICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByb3BlcnR5
TmFtZS5pc1ByaXZhdGVOYW1lKCkpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJu
IHRydWU7Ci0gICAgICAgICAgICAgICAgICAgICAgICAKLSAgICAgICAgICAgICAgICAgICAgICAg
IHByb3BlcnRpZXMuYXBwZW5kKGVudHJ5LmtleSk7Ci0gICAgICAgICAgICAgICAgICAgICAgICB2
YWx1ZXMuYXBwZW5kV2l0aENyYXNoT25PdmVyZmxvdyhzb3VyY2UtPmdldERpcmVjdChlbnRyeS5v
ZmZzZXQpKTsKKyAgICAgICAgICAgIGF1dG8gY2FuUGVyZm9ybUZhc3RQcm9wZXJ0eUVudW1lcmF0
aW9uRm9yT2JqZWN0QXNzaWduID0gW10gKFN0cnVjdHVyZSogc3RydWN0dXJlKSB7CisgICAgICAg
ICAgICAgICAgaWYgKHN0cnVjdHVyZS0+dHlwZUluZm8oKS5vdmVycmlkZXNHZXRPd25Qcm9wZXJ0
eVNsb3QoKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAg
ICAgIGlmIChzdHJ1Y3R1cmUtPnR5cGVJbmZvKCkub3ZlcnJpZGVzR2V0UHJvcGVydHlOYW1lcygp
KQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgLy8g
RklYTUU6IEluZGV4ZWQgcHJvcGVydGllcyBjYW4gYmUgaGFuZGxlZC4KKyAgICAgICAgICAgICAg
ICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg1MzU4CisgICAg
ICAgICAgICAgICAgaWYgKGhhc0luZGV4ZWRQcm9wZXJ0aWVzKHN0cnVjdHVyZS0+aW5kZXhpbmdU
eXBlKCkpKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAg
ICAgaWYgKHN0cnVjdHVyZS0+aGFzR2V0dGVyU2V0dGVyUHJvcGVydGllcygpKQorICAgICAgICAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+
aXNVbmNhY2hlYWJsZURpY3Rpb25hcnkoKSkKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgICAgICAgICAgICAgIC8vIENhbm5vdCBwZXJmb3JtIGZhc3QgW1tQdXRdXSB0byB8
dGFyZ2V0fCBpZiB0aGUgcHJvcGVydHkgbmFtZXMgb2YgdGhlIHxzb3VyY2V8IGNvbnRhaW4gIl9f
cHJvdG9fXyIuCisgICAgICAgICAgICAgICAgaWYgKHN0cnVjdHVyZS0+aGFzVW5kZXJzY29yZVBy
b3RvUHJvcGVydHlFeGNsdWRpbmdPcmlnaW5hbFByb3RvKCkpCisgICAgICAgICAgICAgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgICAg
IH07CisKKyAgICAgICAgICAgIFN0cnVjdHVyZSogc3RydWN0dXJlID0gc291cmNlLT5zdHJ1Y3R1
cmUodm0pOworICAgICAgICAgICAgaWYgKGNhblBlcmZvcm1GYXN0UHJvcGVydHlFbnVtZXJhdGlv
bkZvck9iamVjdEFzc2lnbihzdHJ1Y3R1cmUpKSB7CisgICAgICAgICAgICAgICAgLy8gfHNvdXJj
ZXwgU3RydWN0dXJlIGRvZXMgbm90IGhhdmUgYW55IGdldHRlcnMuIEFuZCB0YXJnZXQgY2FuIHBl
cmZvcm0gZmFzdCBwdXQuCisgICAgICAgICAgICAgICAgLy8gU28gZW51bWVyYXRpbmcgcHJvcGVy
dGllcyBhbmQgcHV0dGluZyBwcm9wZXJ0aWVzIGFyZSBub24gb2JzZXJ2YWJsZS4KKworICAgICAg
ICAgICAgICAgIC8vIEZJWE1FOiBJdCBkb2Vzbid0IHNlZW0gbGlrZSB3ZSBzaG91bGQgaGF2ZSB0
byBkbyB0aGlzIGluIHR3byBwaGFzZXMsIGJ1dAorICAgICAgICAgICAgICAgIC8vIHdlJ3JlIHJ1
bm5pbmcgaW50byBjcmFzaGVzIHdoZXJlIGl0IGFwcGVhcnMgdGhhdCBzb3VyY2UgaXMgdHJhbnNp
dGlvbmluZworICAgICAgICAgICAgICAgIC8vIHVuZGVyIHVzLCBhbmQgZXZlbiBlbmRzIHVwIGlu
IGEgc3RhdGUgd2hlcmUgaXQgaGFzIGEgbnVsbCBidXR0ZXJmbHkuIE15CisgICAgICAgICAgICAg
ICAgLy8gbGVhZGluZyBoeXBvdGhlc2lzIGhlcmUgaXMgdGhhdCB3ZSBmaXJlIHNvbWUgdmFsdWUg
cmVwbGFjZW1lbnQgd2F0Y2hwb2ludAorICAgICAgICAgICAgICAgIC8vIHRoYXQgZW5kcyB1cCB0
cmFuc2l0aW9uaW5nIHRoZSBzdHJ1Y3R1cmUgdW5kZXJuZWF0aCB1cy4KKyAgICAgICAgICAgICAg
ICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTg3ODM3CisKKyAg
ICAgICAgICAgICAgICAvLyBEbyBub3QgY2xlYXIgc2luY2UgVmVjdG9yOjpjbGVhciBzaHJpbmtz
IHRoZSBiYWNraW5nIHN0b3JlLgorICAgICAgICAgICAgICAgIHByb3BlcnRpZXMucmVzaXplKDAp
OworICAgICAgICAgICAgICAgIHZhbHVlcy5jbGVhcigpOworICAgICAgICAgICAgICAgIHN0cnVj
dHVyZS0+Zm9yRWFjaFByb3BlcnR5KHZtLCBbJl0gKGNvbnN0IFByb3BlcnR5TWFwRW50cnkmIGVu
dHJ5KSAtPiBib29sIHsKKyAgICAgICAgICAgICAgICAgICAgaWYgKGVudHJ5LmF0dHJpYnV0ZXMg
JiBQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pCisgICAgICAgICAgICAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKIAorICAgICAgICAgICAgICAgICAgICBQcm9wZXJ0eU5hbWUgcHJvcGVydHlO
YW1lKGVudHJ5LmtleSk7CisgICAgICAgICAgICAgICAgICAgIGlmIChwcm9wZXJ0eU5hbWUuaXNQ
cml2YXRlTmFtZSgpKQogICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7Ci0gICAg
ICAgICAgICAgICAgICAgIH0pOwotICAgICAgICAgICAgICAgIH0KLSAgICAgICAgICAgIH0KIAot
ICAgICAgICAgICAgaWYgKGNhbkRvRmFzdFBhdGgpIHsKKyAgICAgICAgICAgICAgICAgICAgcHJv
cGVydGllcy5hcHBlbmQoZW50cnkua2V5KTsKKyAgICAgICAgICAgICAgICAgICAgdmFsdWVzLmFw
cGVuZFdpdGhDcmFzaE9uT3ZlcmZsb3coc291cmNlLT5nZXREaXJlY3QoZW50cnkub2Zmc2V0KSk7
CisKKyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgICAgICAgICAgfSk7
CisKICAgICAgICAgICAgICAgICBmb3IgKHNpemVfdCBpID0gMDsgaSA8IHByb3BlcnRpZXMuc2l6
ZSgpOyArK2kpIHsKICAgICAgICAgICAgICAgICAgICAgLy8gRklYTUU6IFdlIGNvdWxkIHB1dCBw
cm9wZXJ0aWVzIGluIGEgYmF0Y2hpbmcgbWFubmVyIHRvIGFjY2VsZXJhdGUgT2JqZWN0LmFzc2ln
biBtb3JlLgogICAgICAgICAgICAgICAgICAgICAvLyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTg1MzU4CiAgICAgICAgICAgICAgICAgICAgIFB1dFByb3BlcnR5U2xv
dCBwdXRQcm9wZXJ0eVNsb3QodGFyZ2V0LCB0cnVlKTsKICAgICAgICAgICAgICAgICAgICAgdGFy
Z2V0LT5wdXRPd25EYXRhUHJvcGVydHkodm0sIHByb3BlcnRpZXNbaV0uZ2V0KCksIHZhbHVlcy5h
dChpKSwgcHV0UHJvcGVydHlTbG90KTsKICAgICAgICAgICAgICAgICB9Ci0KICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgfQo=
</data>
<flag name="review"
          id="363386"
          type_id="1"
          status="+"
          setter="saam"
    />
          </attachment>
      

    </bug>

</bugzilla>