<?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>150039</bug_id>
          
          <creation_ts>2015-10-12 11:20:38 -0700</creation_ts>
          <short_desc>Each *ById inline cache in the FTL must have its own CallSiteIndex</short_desc>
          <delta_ts>2015-10-12 13:38:39 -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>
          
          <blocked>149409</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sukolsak</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1132381</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-10-12 11:20:38 -0700</bug_when>
    <thetext>Currently, we create the CallSiteIndex when lowering to LLVM. This is wrong, FTL
might duplicate the inline cache patchpoint, in which case, each patchpoint
will have its own unique set of registers describing it. Therefore, it should
also have a unique call site index. This is strictly necessary for implementing
try/catch in the FTL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132436</commentid>
    <comment_count>1</comment_count>
      <attachid>262911</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-10-12 12:36:25 -0700</bug_when>
    <thetext>Created attachment 262911
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132441</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-10-12 12:37:45 -0700</bug_when>
    <thetext>Attachment 262911 did not pass style-queue:


ERROR: Source/JavaScriptCore/ftl/FTLInlineCacheDescriptor.h:85:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
ERROR: Source/JavaScriptCore/ftl/FTLInlineCacheDescriptor.h:149:  Wrong number of spaces before statement. (expected: 12)  [whitespace/indent] [4]
Total errors found: 2 in 7 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>1132442</commentid>
    <comment_count>3</comment_count>
      <attachid>262911</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2015-10-12 12:39:57 -0700</bug_when>
    <thetext>Comment on attachment 262911
patch

r=me

&gt; Source/JavaScriptCore/dfg/DFGCommonData.cpp:60
&gt; +CallSiteIndex CommonData::addUniqueCallSiteIndexForCodeOrigin(CodeOrigin codeOrigin)

I would take &quot;ForCodeOrigin&quot; out of this function name. In a language like C++, where type is a part of argument signature, you can save a lot on wordiness that way. (Note that you won&apos;t lose information at the call site or inside the callee, since both places call the argument &quot;codeOrigin&quot;. And you can&apos;t make a mistake and pass something else because you&apos;ll get a compile error.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1132464</commentid>
    <comment_count>4</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2015-10-12 13:38:39 -0700</bug_when>
    <thetext>Thanks for the suggestion. I agree that &quot;ForCodeOrigin&quot; is unnecessary in the name.

landed in:
http://trac.webkit.org/changeset/190885</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>262911</attachid>
            <date>2015-10-12 12:36:25 -0700</date>
            <delta_ts>2015-10-12 12:38:21 -0700</delta_ts>
            <desc>patch</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>14336</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTkwODgwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ3IEBA
CisyMDE1LTEwLTEyICBTYWFtIGJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IEVhY2ggKkJ5SWQgaW5saW5lIGNhY2hlIGluIHRoZSBGVEwgbXVzdCBoYXZlIGl0cyBvd24gQ2Fs
bFNpdGVJbmRleAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTUwMDM5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgV2hlbiBsb3dlcmluZyB0byBMTFZNLCB3ZSBjcmVhdGUgYSBwYXRjaHBvaW50IGludHJpbnNp
YyBmb3IgZWFjaAorICAgICAgICAqQnlJZCBpbiBERkcgSVIuIExMVk0gbWF5IGNob29zZSB0byBk
dXBsaWNhdGUgdGhlc2UgcGF0Y2hwb2ludHMuCisgICAgICAgIFRoZXJlZm9yZSwgd2Ugd2FudCBl
YWNoIHJlc3VsdGluZyBpbmxpbmUgY2FjaGUgdG8gaGF2ZSBhIHVuaXF1ZQorICAgICAgICBDYWxs
U2l0ZUluZGV4IGJlY2F1c2UgZWFjaCBpbmxpbmUgY2FjaGUgd2lsbCBoYXZlIGl0cyBvd24gc2V0
IG9mIAorICAgICAgICB1c2VkIHJlZ2lzdGVycy4gVGhpcyBjaGFuZ2UgaXMgbmVjZXNzYXJ5IHdo
ZW4gd2UgaW1wbGVtZW50IHRyeS9jYXRjaCAKKyAgICAgICAgaW4gdGhlIEZUTCBiZWNhdXNlIGFu
IGlubGluZSBjYWNoZSB3aWxsIGFzayBmb3IgdGhlIHNldCBvZiB1c2VkIAorICAgICAgICByZWdp
c3RlcnMgaXQgd2lsbCBuZWVkIHRvIHJlc3RvcmUgaW4gdGhlIGV2ZW50IG9mIGFuIGV4Y2VwdGlv
biAKKyAgICAgICAgYmVpbmcgdGhyb3duLiBJdCBhc2tzIGZvciB0aGlzIHNldCBvZiByZWdpc3Rl
cnMgYnkgZ2l2aW5nIEpJVENvZGUKKyAgICAgICAgYSBDYWxsU2l0ZUluZGV4LiBCZWNhdXNlIGVh
Y2ggY29ycmVzcG9uZGluZyBpbmxpbmUgY2FjaGUgdGhhdCByZXN1bHRzCisgICAgICAgIGZyb20g
YSBkdXBsaWNhdGVkIHBhdGNocG9pbnQgbWF5IGFsbCBhc2sgdGhpcyBmb3IgdGhpcyBzZXQgb2Yg
cmVnaXN0ZXJzLCAKKyAgICAgICAgd2UgbXVzdCBhc3NpZ24gZWFjaCBpbmxpbmUgY2FjaGUgYSB1
bmlxdWUgQ2FsbFNpdGVJbmRleC4KKworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6
CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6bmV3RXhjZXB0aW9uSGFuZGxpbmdDYWxsU2l0ZUlu
ZGV4KToKKyAgICAgICAgKiBkZmcvREZHQ29tbW9uRGF0YS5jcHA6CisgICAgICAgIChKU0M6OkRG
Rzo6Q29tbW9uRGF0YTo6YWRkQ29kZU9yaWdpbik6CisgICAgICAgIChKU0M6OkRGRzo6Q29tbW9u
RGF0YTo6YWRkVW5pcXVlQ2FsbFNpdGVJbmRleEZvckNvZGVPcmlnaW4pOgorICAgICAgICAoSlND
OjpERkc6OkNvbW1vbkRhdGE6OmFkZENvZGVPcmlnaW5VbmNvbmRpdGlvbmFsbHkpOiBEZWxldGVk
LgorICAgICAgICAqIGRmZy9ERkdDb21tb25EYXRhLmg6CisgICAgICAgICogZnRsL0ZUTENvbXBp
bGUuY3BwOgorICAgICAgICAoSlNDOjpGVEw6Om1tQWxsb2NhdGVEYXRhU2VjdGlvbik6CisgICAg
ICAgICogZnRsL0ZUTElubGluZUNhY2hlRGVzY3JpcHRvci5oOgorICAgICAgICAoSlNDOjpGVEw6
OklubGluZUNhY2hlRGVzY3JpcHRvcjo6SW5saW5lQ2FjaGVEZXNjcmlwdG9yKToKKyAgICAgICAg
KEpTQzo6RlRMOjpJbmxpbmVDYWNoZURlc2NyaXB0b3I6OnN0YWNrbWFwSUQpOgorICAgICAgICAo
SlNDOjpGVEw6OklubGluZUNhY2hlRGVzY3JpcHRvcjo6Y29kZU9yaWdpbik6CisgICAgICAgIChK
U0M6OkZUTDo6SW5saW5lQ2FjaGVEZXNjcmlwdG9yOjp1aWQpOgorICAgICAgICAoSlNDOjpGVEw6
OkdldEJ5SWREZXNjcmlwdG9yOjpHZXRCeUlkRGVzY3JpcHRvcik6CisgICAgICAgIChKU0M6OkZU
TDo6UHV0QnlJZERlc2NyaXB0b3I6OlB1dEJ5SWREZXNjcmlwdG9yKToKKyAgICAgICAgKEpTQzo6
RlRMOjpDaGVja0luRGVzY3JpcHRvcjo6Q2hlY2tJbkRlc2NyaXB0b3IpOgorICAgICAgICAoSlND
OjpGVEw6OkxhenlTbG93UGF0aERlc2NyaXB0b3I6OkxhenlTbG93UGF0aERlc2NyaXB0b3IpOgor
ICAgICAgICAoSlNDOjpGVEw6OklubGluZUNhY2hlRGVzY3JpcHRvcjo6Y2FsbFNpdGVJbmRleCk6
IERlbGV0ZWQuCisgICAgICAgICogZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcDoKKyAgICAgICAg
KEpTQzo6RlRMOjpERkc6Okxvd2VyREZHVG9MTFZNOjpjb21waWxlUHV0QnlJZCk6CisgICAgICAg
IChKU0M6OkZUTDo6REZHOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUluKToKKyAgICAgICAgKEpT
Qzo6RlRMOjpERkc6Okxvd2VyREZHVG9MTFZNOjpnZXRCeUlkKToKKyAgICAgICAgKEpTQzo6RlRM
OjpERkc6Okxvd2VyREZHVG9MTFZNOjpsYXp5U2xvd1BhdGgpOgorCiAyMDE1LTEwLTEyICBGaWxp
cCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgZml4IG5v
bi1GVEwgYnVpbGQgZm9yIHJlYWwuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
ZGUvQ29kZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0
ZWNvZGUvQ29kZUJsb2NrLmNwcAkocmV2aXNpb24gMTkwODcyKQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTI5NTEsNyAr
Mjk1MSw3IEBAIENhbGxTaXRlSW5kZXggQ29kZUJsb2NrOjpuZXdFeGNlcHRpb25IYW4KICAgICBS
RUxFQVNFX0FTU0VSVChjYW5HZXRDb2RlT3JpZ2luKG9yaWdpbmFsQ2FsbFNpdGUpKTsKICAgICBB
U1NFUlQoISFoYW5kbGVyRm9ySW5kZXgob3JpZ2luYWxDYWxsU2l0ZS5iaXRzKCkpKTsKICAgICBD
b2RlT3JpZ2luIG9yaWdpbmFsT3JpZ2luID0gY29kZU9yaWdpbihvcmlnaW5hbENhbGxTaXRlKTsK
LSAgICByZXR1cm4gbV9qaXRDb2RlLT5kZmdDb21tb24oKS0+YWRkQ29kZU9yaWdpblVuY29uZGl0
aW9uYWxseShvcmlnaW5hbE9yaWdpbik7CisgICAgcmV0dXJuIG1faml0Q29kZS0+ZGZnQ29tbW9u
KCktPmFkZFVuaXF1ZUNhbGxTaXRlSW5kZXhGb3JDb2RlT3JpZ2luKG9yaWdpbmFsT3JpZ2luKTsK
ICNlbHNlCiAgICAgLy8gV2UgbmV2ZXIgY3JlYXRlIG5ldyBvbi10aGUtZmx5IGV4Y2VwdGlvbiBo
YW5kbGluZwogICAgIC8vIGNhbGwgc2l0ZXMgb3V0c2lkZSB0aGUgREZHL0ZUTCBpbmxpbmUgY2Fj
aGVzLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb25EYXRhLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbkRhdGEuY3Bw
CShyZXZpc2lvbiAxOTA4NzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1v
bkRhdGEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC01Nyw3ICs1Nyw3IEBAIENhbGxTaXRlSW5kZXgg
Q29tbW9uRGF0YTo6YWRkQ29kZU9yaWdpbigKICAgICByZXR1cm4gQ2FsbFNpdGVJbmRleChpbmRl
eCk7CiB9CiAKLUNhbGxTaXRlSW5kZXggQ29tbW9uRGF0YTo6YWRkQ29kZU9yaWdpblVuY29uZGl0
aW9uYWxseShDb2RlT3JpZ2luIGNvZGVPcmlnaW4pCitDYWxsU2l0ZUluZGV4IENvbW1vbkRhdGE6
OmFkZFVuaXF1ZUNhbGxTaXRlSW5kZXhGb3JDb2RlT3JpZ2luKENvZGVPcmlnaW4gY29kZU9yaWdp
bikKIHsKICAgICBpZiAoY2FsbFNpdGVJbmRleEZyZWVMaXN0LnNpemUoKSkKICAgICAgICAgcmV0
dXJuIENhbGxTaXRlSW5kZXgoY2FsbFNpdGVJbmRleEZyZWVMaXN0LnRha2VBbnkoKSk7CkluZGV4
OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbkRhdGEuaAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0NvbW1vbkRhdGEuaAkocmV2aXNpb24gMTkw
ODcyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb25EYXRhLmgJKHdvcmtp
bmcgY29weSkKQEAgLTgwLDcgKzgwLDcgQEAgcHVibGljOgogICAgIAogICAgIHZvaWQgbm90aWZ5
Q29tcGlsaW5nU3RydWN0dXJlVHJhbnNpdGlvbihQbGFuJiwgQ29kZUJsb2NrKiwgTm9kZSopOwog
ICAgIENhbGxTaXRlSW5kZXggYWRkQ29kZU9yaWdpbihDb2RlT3JpZ2luKTsKLSAgICBDYWxsU2l0
ZUluZGV4IGFkZENvZGVPcmlnaW5VbmNvbmRpdGlvbmFsbHkoQ29kZU9yaWdpbik7CisgICAgQ2Fs
bFNpdGVJbmRleCBhZGRVbmlxdWVDYWxsU2l0ZUluZGV4Rm9yQ29kZU9yaWdpbihDb2RlT3JpZ2lu
KTsKICAgICBDYWxsU2l0ZUluZGV4IGxhc3RDYWxsU2l0ZSgpIGNvbnN0OwogICAgIHZvaWQgcmVt
b3ZlQ2FsbFNpdGVJbmRleChDYWxsU2l0ZUluZGV4KTsKICAgICAKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9mdGwvRlRMQ29tcGlsZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcAkocmV2aXNpb24gMTkwODcyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDb21waWxlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNDU5
LDcgKzQ1OSw3IEBAIHN0YXRpYyB2b2lkIGZpeEZ1bmN0aW9uQmFzZWRPblN0YWNrTWFwcygKICAg
ICAgICAgICAgICAgICBjb250aW51ZTsKICAgICAgICAgICAgIH0KICAgICAgICAgICAgIAotICAg
ICAgICAgICAgQ29kZU9yaWdpbiBjb2RlT3JpZ2luID0gc3RhdGUuaml0Q29kZS0+Y29tbW9uLmNv
ZGVPcmlnaW5zW2dldEJ5SWQuY2FsbFNpdGVJbmRleCgpLmJpdHMoKV07CisgICAgICAgICAgICBD
b2RlT3JpZ2luIGNvZGVPcmlnaW4gPSBnZXRCeUlkLmNvZGVPcmlnaW4oKTsKICAgICAgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBpdGVyLT52YWx1ZS5zaXplKCk7ICsraSkgewogICAg
ICAgICAgICAgICAgIFN0YWNrTWFwczo6UmVjb3JkJiByZWNvcmQgPSBpdGVyLT52YWx1ZVtpXTsK
ICAgICAgICAgICAgIApAQCAtNDY5LDcgKzQ2OSw3IEBAIHN0YXRpYyB2b2lkIGZpeEZ1bmN0aW9u
QmFzZWRPblN0YWNrTWFwcygKICAgICAgICAgICAgICAgICBHUFJSZWcgYmFzZSA9IHJlY29yZC5s
b2NhdGlvbnNbMV0uZGlyZWN0R1BSKCk7CiAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAg
ICAgSklUR2V0QnlJZEdlbmVyYXRvciBnZW4oCi0gICAgICAgICAgICAgICAgICAgIGNvZGVCbG9j
aywgY29kZU9yaWdpbiwgZ2V0QnlJZC5jYWxsU2l0ZUluZGV4KCksIHVzZWRSZWdpc3RlcnMsIEpT
VmFsdWVSZWdzKGJhc2UpLAorICAgICAgICAgICAgICAgICAgICBjb2RlQmxvY2ssIGNvZGVPcmln
aW4sIHN0YXRlLmppdENvZGUtPmNvbW1vbi5hZGRVbmlxdWVDYWxsU2l0ZUluZGV4Rm9yQ29kZU9y
aWdpbihjb2RlT3JpZ2luKSwgdXNlZFJlZ2lzdGVycywgSlNWYWx1ZVJlZ3MoYmFzZSksCiAgICAg
ICAgICAgICAgICAgICAgIEpTVmFsdWVSZWdzKHJlc3VsdCkpOwogICAgICAgICAgICAgICAgIAog
ICAgICAgICAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpMYWJlbCBiZWdpbiA9IHNsb3dQYXRoSklU
LmxhYmVsKCk7CkBAIC00OTgsNyArNDk4LDcgQEAgc3RhdGljIHZvaWQgZml4RnVuY3Rpb25CYXNl
ZE9uU3RhY2tNYXBzKAogICAgICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQog
ICAgICAgICAgICAgCi0gICAgICAgICAgICBDb2RlT3JpZ2luIGNvZGVPcmlnaW4gPSBzdGF0ZS5q
aXRDb2RlLT5jb21tb24uY29kZU9yaWdpbnNbcHV0QnlJZC5jYWxsU2l0ZUluZGV4KCkuYml0cygp
XTsKKyAgICAgICAgICAgIENvZGVPcmlnaW4gY29kZU9yaWdpbiA9IHB1dEJ5SWQuY29kZU9yaWdp
bigpOwogICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGl0ZXItPnZhbHVlLnNp
emUoKTsgKytpKSB7CiAgICAgICAgICAgICAgICAgU3RhY2tNYXBzOjpSZWNvcmQmIHJlY29yZCA9
IGl0ZXItPnZhbHVlW2ldOwogICAgICAgICAgICAgICAgIApAQCAtNTA4LDcgKzUwOCw3IEBAIHN0
YXRpYyB2b2lkIGZpeEZ1bmN0aW9uQmFzZWRPblN0YWNrTWFwcygKICAgICAgICAgICAgICAgICBH
UFJSZWcgdmFsdWUgPSByZWNvcmQubG9jYXRpb25zWzFdLmRpcmVjdEdQUigpOwogICAgICAgICAg
ICAgICAgIAogICAgICAgICAgICAgICAgIEpJVFB1dEJ5SWRHZW5lcmF0b3IgZ2VuKAotICAgICAg
ICAgICAgICAgICAgICBjb2RlQmxvY2ssIGNvZGVPcmlnaW4sIHB1dEJ5SWQuY2FsbFNpdGVJbmRl
eCgpLCB1c2VkUmVnaXN0ZXJzLCBKU1ZhbHVlUmVncyhiYXNlKSwKKyAgICAgICAgICAgICAgICAg
ICAgY29kZUJsb2NrLCBjb2RlT3JpZ2luLCBzdGF0ZS5qaXRDb2RlLT5jb21tb24uYWRkVW5pcXVl
Q2FsbFNpdGVJbmRleEZvckNvZGVPcmlnaW4oY29kZU9yaWdpbiksIHVzZWRSZWdpc3RlcnMsIEpT
VmFsdWVSZWdzKGJhc2UpLAogICAgICAgICAgICAgICAgICAgICBKU1ZhbHVlUmVncyh2YWx1ZSks
IEdQUkluZm86OnBhdGNocG9pbnRTY3JhdGNoUmVnaXN0ZXIsIHB1dEJ5SWQuZWNtYU1vZGUoKSwg
cHV0QnlJZC5wdXRLaW5kKCkpOwogICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgIE1h
Y3JvQXNzZW1ibGVyOjpMYWJlbCBiZWdpbiA9IHNsb3dQYXRoSklULmxhYmVsKCk7CkBAIC01Mzgs
NyArNTM4LDcgQEAgc3RhdGljIHZvaWQgZml4RnVuY3Rpb25CYXNlZE9uU3RhY2tNYXBzKAogICAg
ICAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICAgICAgfQogICAgICAgICAgICAgCi0gICAg
ICAgICAgICBDb2RlT3JpZ2luIGNvZGVPcmlnaW4gPSBzdGF0ZS5qaXRDb2RlLT5jb21tb24uY29k
ZU9yaWdpbnNbY2hlY2tJbi5jYWxsU2l0ZUluZGV4KCkuYml0cygpXTsKKyAgICAgICAgICAgIENv
ZGVPcmlnaW4gY29kZU9yaWdpbiA9IGNoZWNrSW4uY29kZU9yaWdpbigpOwogICAgICAgICAgICAg
Zm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IGl0ZXItPnZhbHVlLnNpemUoKTsgKytpKSB7CiAgICAg
ICAgICAgICAgICAgU3RhY2tNYXBzOjpSZWNvcmQmIHJlY29yZCA9IGl0ZXItPnZhbHVlW2ldOwog
ICAgICAgICAgICAgICAgIFJlZ2lzdGVyU2V0IHVzZWRSZWdpc3RlcnMgPSB1c2VkUmVnaXN0ZXJz
Rm9yKHJlY29yZCk7CkBAIC01NDYsNyArNTQ2LDcgQEAgc3RhdGljIHZvaWQgZml4RnVuY3Rpb25C
YXNlZE9uU3RhY2tNYXBzKAogICAgICAgICAgICAgICAgIEdQUlJlZyBvYmogPSByZWNvcmQubG9j
YXRpb25zWzFdLmRpcmVjdEdQUigpOwogICAgICAgICAgICAgICAgIFN0cnVjdHVyZVN0dWJJbmZv
KiBzdHViSW5mbyA9IGNvZGVCbG9jay0+YWRkU3R1YkluZm8oQWNjZXNzVHlwZTo6SW4pOyAKICAg
ICAgICAgICAgICAgICBzdHViSW5mby0+Y29kZU9yaWdpbiA9IGNvZGVPcmlnaW47Ci0gICAgICAg
ICAgICAgICAgc3R1YkluZm8tPmNhbGxTaXRlSW5kZXggPSBjaGVja0luLmNhbGxTaXRlSW5kZXgo
KTsKKyAgICAgICAgICAgICAgICBzdHViSW5mby0+Y2FsbFNpdGVJbmRleCA9IHN0YXRlLmppdENv
ZGUtPmNvbW1vbi5hZGRVbmlxdWVDYWxsU2l0ZUluZGV4Rm9yQ29kZU9yaWdpbihjb2RlT3JpZ2lu
KTsKICAgICAgICAgICAgICAgICBzdHViSW5mby0+cGF0Y2guYmFzZUdQUiA9IHN0YXRpY19jYXN0
PGludDhfdD4ob2JqKTsKICAgICAgICAgICAgICAgICBzdHViSW5mby0+cGF0Y2gudmFsdWVHUFIg
PSBzdGF0aWNfY2FzdDxpbnQ4X3Q+KHJlc3VsdCk7CiAgICAgICAgICAgICAgICAgc3R1YkluZm8t
PnBhdGNoLnVzZWRSZWdpc3RlcnMgPSB1c2VkUmVnaXN0ZXJzOwpAQCAtNTc1LDcgKzU3NSw3IEBA
IHN0YXRpYyB2b2lkIGZpeEZ1bmN0aW9uQmFzZWRPblN0YWNrTWFwcygKICAgICAgICAgICAgICAg
ICAvLyBJdCB3YXMgb3B0aW1pemVkIG91dC4KICAgICAgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgICAgIH0KLQorICAgICAgICAgICAgQ29kZU9yaWdpbiBjb2RlT3JpZ2luID0gZGVzY3Jp
cHRvci5jb2RlT3JpZ2luKCk7CiAgICAgICAgICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwg
aXRlci0+dmFsdWUuc2l6ZSgpOyArK2kpIHsKICAgICAgICAgICAgICAgICBTdGFja01hcHM6OlJl
Y29yZCYgcmVjb3JkID0gaXRlci0+dmFsdWVbaV07CiAgICAgICAgICAgICAgICAgUmVnaXN0ZXJT
ZXQgdXNlZFJlZ2lzdGVycyA9IHVzZWRSZWdpc3RlcnNGb3IocmVjb3JkKTsKQEAgLTU5MCw3ICs1
OTAsNyBAQCBzdGF0aWMgdm9pZCBmaXhGdW5jdGlvbkJhc2VkT25TdGFja01hcHMoCiAgICAgICAg
ICAgICAgICAgICAgIHN0YXRlLmZpbmFsaXplci0+aGFuZGxlRXhjZXB0aW9uc0xpbmtCdWZmZXIt
PmVudHJ5cG9pbnQoKTsKIAogICAgICAgICAgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxMYXp5U2xv
d1BhdGg+IGxhenlTbG93UGF0aCA9IHN0ZDo6bWFrZV91bmlxdWU8TGF6eVNsb3dQYXRoPigKLSAg
ICAgICAgICAgICAgICAgICAgcGF0Y2hwb2ludCwgZXhjZXB0aW9uVGFyZ2V0LCB1c2VkUmVnaXN0
ZXJzLCBkZXNjcmlwdG9yLmNhbGxTaXRlSW5kZXgoKSwKKyAgICAgICAgICAgICAgICAgICAgcGF0
Y2hwb2ludCwgZXhjZXB0aW9uVGFyZ2V0LCB1c2VkUmVnaXN0ZXJzLCBzdGF0ZS5qaXRDb2RlLT5j
b21tb24uYWRkVW5pcXVlQ2FsbFNpdGVJbmRleEZvckNvZGVPcmlnaW4oY29kZU9yaWdpbiksCiAg
ICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0b3IubV9saW5rZXItPnJ1bihsb2NhdGlvbnMpKTsK
IAogICAgICAgICAgICAgICAgIENDYWxsSGVscGVyczo6TGFiZWwgYmVnaW4gPSBzbG93UGF0aEpJ
VC5sYWJlbCgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExJbmxpbmVDYWNo
ZURlc2NyaXB0b3IuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZU
TElubGluZUNhY2hlRGVzY3JpcHRvci5oCShyZXZpc2lvbiAxOTA4NzIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZnRsL0ZUTElubGluZUNhY2hlRGVzY3JpcHRvci5oCSh3b3JraW5nIGNvcHkp
CkBAIC00MSwyMyArNDEsMjIgQEAgY2xhc3MgTG9jYXRpb247CiBjbGFzcyBJbmxpbmVDYWNoZURl
c2NyaXB0b3IgewogcHVibGljOgogICAgIElubGluZUNhY2hlRGVzY3JpcHRvcigpIAotICAgICAg
ICA6IG1fY2FsbFNpdGVJbmRleChVSU5UX01BWCkgCiAgICAgeyB9CiAgICAgCi0gICAgSW5saW5l
Q2FjaGVEZXNjcmlwdG9yKHVuc2lnbmVkIHN0YWNrbWFwSUQsIENhbGxTaXRlSW5kZXggY2FsbFNp
dGUsIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQpCisgICAgSW5saW5lQ2FjaGVEZXNjcmlwdG9yKHVu
c2lnbmVkIHN0YWNrbWFwSUQsIENvZGVPcmlnaW4gY29kZU9yaWdpbiwgVW5pcXVlZFN0cmluZ0lt
cGwqIHVpZCkKICAgICAgICAgOiBtX3N0YWNrbWFwSUQoc3RhY2ttYXBJRCkKLSAgICAgICAgLCBt
X2NhbGxTaXRlSW5kZXgoY2FsbFNpdGUpCisgICAgICAgICwgbV9jb2RlT3JpZ2luKGNvZGVPcmln
aW4pCiAgICAgICAgICwgbV91aWQodWlkKQogICAgIHsKICAgICB9CiAgICAgCiAgICAgdW5zaWdu
ZWQgc3RhY2ttYXBJRCgpIGNvbnN0IHsgcmV0dXJuIG1fc3RhY2ttYXBJRDsgfQotICAgIENhbGxT
aXRlSW5kZXggY2FsbFNpdGVJbmRleCgpIGNvbnN0IHsgcmV0dXJuIG1fY2FsbFNpdGVJbmRleDsg
fQorICAgIENvZGVPcmlnaW4gY29kZU9yaWdpbigpIGNvbnN0IHsgcmV0dXJuIG1fY29kZU9yaWdp
bjsgfQogICAgIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQoKSBjb25zdCB7IHJldHVybiBtX3VpZDsg
fQogICAgIAogcHJpdmF0ZToKICAgICB1bnNpZ25lZCBtX3N0YWNrbWFwSUQ7Ci0gICAgQ2FsbFNp
dGVJbmRleCBtX2NhbGxTaXRlSW5kZXg7CisgICAgQ29kZU9yaWdpbiBtX2NvZGVPcmlnaW47CiAg
ICAgVW5pcXVlZFN0cmluZ0ltcGwqIG1fdWlkOwogICAgIAogcHVibGljOgpAQCAtNjgsOCArNjcs
OCBAQCBjbGFzcyBHZXRCeUlkRGVzY3JpcHRvciA6IHB1YmxpYyBJbmxpbmVDCiBwdWJsaWM6CiAg
ICAgR2V0QnlJZERlc2NyaXB0b3IoKSB7IH0KICAgICAKLSAgICBHZXRCeUlkRGVzY3JpcHRvcih1
bnNpZ25lZCBzdGFja21hcElELCBDYWxsU2l0ZUluZGV4IGNhbGxTaXRlLCBVbmlxdWVkU3RyaW5n
SW1wbCogdWlkKQotICAgICAgICA6IElubGluZUNhY2hlRGVzY3JpcHRvcihzdGFja21hcElELCBj
YWxsU2l0ZSwgdWlkKQorICAgIEdldEJ5SWREZXNjcmlwdG9yKHVuc2lnbmVkIHN0YWNrbWFwSUQs
IENvZGVPcmlnaW4gY29kZU9yaWdpbiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKKyAgICAgICAg
OiBJbmxpbmVDYWNoZURlc2NyaXB0b3Ioc3RhY2ttYXBJRCwgY29kZU9yaWdpbiwgdWlkKQogICAg
IHsKICAgICB9CiAgICAgCkBAIC04MSw5ICs4MCw5IEBAIHB1YmxpYzoKICAgICBQdXRCeUlkRGVz
Y3JpcHRvcigpIHsgfQogICAgIAogICAgIFB1dEJ5SWREZXNjcmlwdG9yKAotICAgICAgICB1bnNp
Z25lZCBzdGFja21hcElELCBDYWxsU2l0ZUluZGV4IGNhbGxTaXRlLCBVbmlxdWVkU3RyaW5nSW1w
bCogdWlkLAorICAgICAgICB1bnNpZ25lZCBzdGFja21hcElELCBDb2RlT3JpZ2luIGNvZGVPcmln
aW4sIFVuaXF1ZWRTdHJpbmdJbXBsKiB1aWQsCiAgICAgICAgIEVDTUFNb2RlIGVjbWFNb2RlLCBQ
dXRLaW5kIHB1dEtpbmQpCi0gICAgICAgIDogSW5saW5lQ2FjaGVEZXNjcmlwdG9yKHN0YWNrbWFw
SUQsIGNhbGxTaXRlLCB1aWQpCisgICAgICAgIDogSW5saW5lQ2FjaGVEZXNjcmlwdG9yKHN0YWNr
bWFwSUQsIGNvZGVPcmlnaW4sIHVpZCkKICAgICAgICAgLCBtX2VjbWFNb2RlKGVjbWFNb2RlKQog
ICAgICAgICAsIG1fcHV0S2luZChwdXRLaW5kKQogICAgIHsKQEAgLTExNiw4ICsxMTUsOCBAQCBj
bGFzcyBDaGVja0luRGVzY3JpcHRvciA6IHB1YmxpYyBJbmxpbmVDCiBwdWJsaWM6CiAgICAgQ2hl
Y2tJbkRlc2NyaXB0b3IoKSB7IH0KICAgICAKLSAgICBDaGVja0luRGVzY3JpcHRvcih1bnNpZ25l
ZCBzdGFja21hcElELCBDYWxsU2l0ZUluZGV4IGNhbGxTaXRlLCBVbmlxdWVkU3RyaW5nSW1wbCog
dWlkKQotICAgICAgICA6IElubGluZUNhY2hlRGVzY3JpcHRvcihzdGFja21hcElELCBjYWxsU2l0
ZSwgdWlkKQorICAgIENoZWNrSW5EZXNjcmlwdG9yKHVuc2lnbmVkIHN0YWNrbWFwSUQsIENvZGVP
cmlnaW4gY29kZU9yaWdpbiwgVW5pcXVlZFN0cmluZ0ltcGwqIHVpZCkKKyAgICAgICAgOiBJbmxp
bmVDYWNoZURlc2NyaXB0b3Ioc3RhY2ttYXBJRCwgY29kZU9yaWdpbiwgdWlkKQogICAgIHsKICAg
ICB9CiAgICAgCkBAIC0xNDUsOSArMTQ0LDkgQEAgcHVibGljOgogICAgIExhenlTbG93UGF0aERl
c2NyaXB0b3IoKSB7IH0KIAogICAgIExhenlTbG93UGF0aERlc2NyaXB0b3IoCi0gICAgICAgIHVu
c2lnbmVkIHN0YWNrbWFwSUQsIENhbGxTaXRlSW5kZXggY2FsbFNpdGUsCisgICAgICAgIHVuc2ln
bmVkIHN0YWNrbWFwSUQsIENvZGVPcmlnaW4gY29kZU9yaWdpbiwKICAgICAgICAgUmVmUHRyPExh
enlTbG93UGF0aExpbmtlclRhc2s+IGxpbmtlcikKLSAgICAgICAgOiBJbmxpbmVDYWNoZURlc2Ny
aXB0b3Ioc3RhY2ttYXBJRCwgY2FsbFNpdGUsIG51bGxwdHIpCisgICAgICAgIDogSW5saW5lQ2Fj
aGVEZXNjcmlwdG9yKHN0YWNrbWFwSUQsIGNvZGVPcmlnaW4sIG51bGxwdHIpCiAgICAgICAgICwg
bV9saW5rZXIobGlua2VyKQogICAgIHsKICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvZnRsL0ZUTExvd2VyREZHVG9MTFZNLmNwcAkocmV2aXNpb24gMTkwODcyKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTIyNzUsNyArMjI3NSw3IEBAIHByaXZhdGU6CiAgICAgICAgIHNldEluc3RydWN0
aW9uQ2FsbGluZ0NvbnZlbnRpb24oY2FsbCwgTExWTUFueVJlZ0NhbGxDb252KTsKICAgICAgICAg
CiAgICAgICAgIG1fZnRsU3RhdGUucHV0QnlJZHMuYXBwZW5kKFB1dEJ5SWREZXNjcmlwdG9yKAot
ICAgICAgICAgICAgc3RhY2ttYXBJRCwgbV9mdGxTdGF0ZS5qaXRDb2RlLT5jb21tb24uYWRkQ29k
ZU9yaWdpbihtX25vZGUtPm9yaWdpbi5zZW1hbnRpYyksIHVpZCwKKyAgICAgICAgICAgIHN0YWNr
bWFwSUQsIG1fbm9kZS0+b3JpZ2luLnNlbWFudGljLCB1aWQsCiAgICAgICAgICAgICBtX2dyYXBo
LmV4ZWN1dGFibGVGb3IobV9ub2RlLT5vcmlnaW4uc2VtYW50aWMpLT5lY21hTW9kZSgpLAogICAg
ICAgICAgICAgbV9ub2RlLT5vcCgpID09IFB1dEJ5SWREaXJlY3QgPyBEaXJlY3QgOiBOb3REaXJl
Y3QpKTsKICAgICB9CkBAIC01MTI2LDcgKzUxMjYsNyBAQCBwcml2YXRlOgogCiAgICAgICAgICAg
ICAgICAgc2V0SW5zdHJ1Y3Rpb25DYWxsaW5nQ29udmVudGlvbihjYWxsLCBMTFZNQW55UmVnQ2Fs
bENvbnYpOwogCi0gICAgICAgICAgICAgICAgbV9mdGxTdGF0ZS5jaGVja0lucy5hcHBlbmQoQ2hl
Y2tJbkRlc2NyaXB0b3Ioc3RhY2ttYXBJRCwgbV9mdGxTdGF0ZS5qaXRDb2RlLT5jb21tb24uYWRk
Q29kZU9yaWdpbihtX25vZGUtPm9yaWdpbi5zZW1hbnRpYyksIHN0cikpOworICAgICAgICAgICAg
ICAgIG1fZnRsU3RhdGUuY2hlY2tJbnMuYXBwZW5kKENoZWNrSW5EZXNjcmlwdG9yKHN0YWNrbWFw
SUQsIG1fbm9kZS0+b3JpZ2luLnNlbWFudGljLCBzdHIpKTsKICAgICAgICAgICAgICAgICBzZXRK
U1ZhbHVlKGNhbGwpOwogICAgICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIH0KQEAg
LTYxMTYsNyArNjExNiw3IEBAIHByaXZhdGU6CiAgICAgICAgICAgICBjb25zdE51bGwobV9vdXQu
cmVmOCksIG1fb3V0LmNvbnN0SW50MzIoMSksIGJhc2UpOwogICAgICAgICBzZXRJbnN0cnVjdGlv
bkNhbGxpbmdDb252ZW50aW9uKGNhbGwsIExMVk1BbnlSZWdDYWxsQ29udik7CiAgICAgICAgIAot
ICAgICAgICBtX2Z0bFN0YXRlLmdldEJ5SWRzLmFwcGVuZChHZXRCeUlkRGVzY3JpcHRvcihzdGFj
a21hcElELCBtX2Z0bFN0YXRlLmppdENvZGUtPmNvbW1vbi5hZGRDb2RlT3JpZ2luKG1fbm9kZS0+
b3JpZ2luLnNlbWFudGljKSwgdWlkKSk7CisgICAgICAgIG1fZnRsU3RhdGUuZ2V0QnlJZHMuYXBw
ZW5kKEdldEJ5SWREZXNjcmlwdG9yKHN0YWNrbWFwSUQsIG1fbm9kZS0+b3JpZ2luLnNlbWFudGlj
LCB1aWQpKTsKICAgICAgICAgCiAgICAgICAgIHJldHVybiBjYWxsOwogICAgIH0KQEAgLTczNDQs
MTQgKzczNDQsMTEgQEAgcHJpdmF0ZToKICAgICAgICAgYXJndW1lbnRzLmFwcGVuZFZlY3Rvcih1
c2VyQXJndW1lbnRzKTsKICAgICAgICAgTFZhbHVlIGNhbGwgPSBtX291dC5jYWxsKG1fb3V0LnBh
dGNocG9pbnRJbnQ2NEludHJpbnNpYygpLCBhcmd1bWVudHMpOwogICAgICAgICBzZXRJbnN0cnVj
dGlvbkNhbGxpbmdDb252ZW50aW9uKGNhbGwsIExMVk1BbnlSZWdDYWxsQ29udik7Ci0KLSAgICAg
ICAgQ2FsbFNpdGVJbmRleCBjYWxsU2l0ZUluZGV4ID0KLSAgICAgICAgICAgIG1fZnRsU3RhdGUu
aml0Q29kZS0+Y29tbW9uLmFkZENvZGVPcmlnaW4obV9ub2RlLT5vcmlnaW4uc2VtYW50aWMpOwog
ICAgICAgICAKICAgICAgICAgUmVmUHRyPExhenlTbG93UGF0aExpbmtlclRhc2s+IGxpbmtlciA9
CiAgICAgICAgICAgICBjcmVhdGVTaGFyZWRUYXNrPExhenlTbG93UGF0aExpbmtlckZ1bmN0aW9u
PihmdW5jdG9yKTsKIAotICAgICAgICBtX2Z0bFN0YXRlLmxhenlTbG93UGF0aHMuYXBwZW5kKExh
enlTbG93UGF0aERlc2NyaXB0b3Ioc3RhY2ttYXBJRCwgY2FsbFNpdGVJbmRleCwgbGlua2VyKSk7
CisgICAgICAgIG1fZnRsU3RhdGUubGF6eVNsb3dQYXRocy5hcHBlbmQoTGF6eVNsb3dQYXRoRGVz
Y3JpcHRvcihzdGFja21hcElELCBtX25vZGUtPm9yaWdpbi5zZW1hbnRpYywgbGlua2VyKSk7CiAK
ICAgICAgICAgcmV0dXJuIGNhbGw7CiAgICAgfQo=
</data>
<flag name="review"
          id="288092"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
      

    </bug>

</bugzilla>