<?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>116630</bug_id>
          
          <creation_ts>2013-05-22 12:42:28 -0700</creation_ts>
          <short_desc>fourthTier: It should be possible to use more than one compiler thread</short_desc>
          <delta_ts>2013-05-22 13:42:20 -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>
          
          <blocked>112836</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenberg</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>892495</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-05-22 12:42:28 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892497</commentid>
    <comment_count>1</comment_count>
      <attachid>202614</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-05-22 12:45:31 -0700</bug_when>
    <thetext>Created attachment 202614
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892499</commentid>
    <comment_count>2</comment_count>
      <attachid>202614</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-05-22 12:46:39 -0700</bug_when>
    <thetext>Comment on attachment 202614
the patch

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

&gt; Source/JavaScriptCore/runtime/SymbolTable.h:371
&gt;      {
&gt; -        ConcurrentJITLocker locker(m_lock);
&gt; -        return get(locker, key);
&gt; +        SymbolTableEntry result;
&gt; +        {
&gt; +            ConcurrentJITLocker locker(m_lock);
&gt; +            result = get(locker, key);
&gt; +        }
&gt; +        return result;
&gt;      }
&gt;      

I&apos;ll investigate if this is necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892506</commentid>
    <comment_count>3</comment_count>
      <attachid>202614</attachid>
    <who name="Mark Hahnenberg">mhahnenberg</who>
    <bug_when>2013-05-22 12:56:26 -0700</bug_when>
    <thetext>Comment on attachment 202614
the patch

r=me as long as reverting the symbol table stuff is okay to revert.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892519</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-05-22 13:41:48 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/150536</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>892521</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-05-22 13:42:20 -0700</bug_when>
    <thetext>(In reply to comment #2)
&gt; (From update of attachment 202614 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=202614&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/runtime/SymbolTable.h:371
&gt; &gt;      {
&gt; &gt; -        ConcurrentJITLocker locker(m_lock);
&gt; &gt; -        return get(locker, key);
&gt; &gt; +        SymbolTableEntry result;
&gt; &gt; +        {
&gt; &gt; +            ConcurrentJITLocker locker(m_lock);
&gt; &gt; +            result = get(locker, key);
&gt; &gt; +        }
&gt; &gt; +        return result;
&gt; &gt;      }
&gt; &gt;      
&gt; 
&gt; I&apos;ll investigate if this is necessary.

And it wasn&apos;t necessary.  I backed this out before landing.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>202614</attachid>
            <date>2013-05-22 12:45:31 -0700</date>
            <delta_ts>2013-05-22 12:56:26 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>11351</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTUwNTMxKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ5IEBA
CisyMDEzLTA1LTIyICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
Zm91cnRoVGllcjogSXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIHVzZSBtb3JlIHRoYW4gb25lIGNv
bXBpbGVyIHRocmVhZAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTE2NjMwCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAg
ICAgIAorICAgICAgICBUaGlzIGdpdmVzIHVzIHRoZSBhYmlsaXR5IHRvIHVzZSBtb3JlIGNvbXBp
bGVyIHRocmVhZHMsIGJ1dCBkb2Vzbid0IGFjdHVhbGx5CisgICAgICAgIGVuYWJsZSB0aGUgZnVu
Y3Rpb25hbGl0eSBiZWNhdXNlIGl0IGlzbid0IGEgc3BlZWQtdXAgb24gYW55IGJlbmNobWFyay4g
SXQgY2FuCisgICAgICAgIGV2ZW4gYmUgYSBzbG93LWRvd24uIFRoaXMgYWxzbyBhZGRzIHRoZSBh
YmlsaXR5IHRvIGRpc2FibGUgY29uY3VycmVudAorICAgICAgICBjb21waWxhdGlvbiBpZiB3ZSdy
ZSBvbiBhIHVuaXByb2Nlc3NvciBtYWNoaW5lLCBhbmQgYWRkcyBtb3JlIGxvZ2dpbmcgdG8gdGhl
CisgICAgICAgIHdvcmtsaXN0IGNvZGUgdG8gYWxsb3cgdXMgdG8gaW52ZXN0aWdhdGUgaG93IG1h
bnkgdGhyZWFkcyBhcmUgYWN0aXZlLiBJdAorICAgICAgICBhcHBlYXJzIHRoYXQgZXZlbiBvbiB0
aGUgbW9zdCBjb21waWxlci1oZWF2eSBiZW5jaG1hcmtzLCB3ZSBuZXZlciBoYXZlIGVub3VnaAor
ICAgICAgICB3b3JrIGZvciBtb3JlIHRoYW4gNCB0aHJlYWRzLCBhbmQgZXZlbiB0aGVuIHRoZSA0
IHRocmVhZHMgYXJlIGFsbCBhY3RpdmUgZm9yCisgICAgICAgIGEgc2hvcnQgdGltZS4KKyAgICAg
ICAgCisgICAgICAgIFNvbWV0aGluZyB0aGF0IGhhdmluZyBtb3JlIHRocmVhZHMgZG9lcyBhY2Nv
bXBsaXNoIGlzIHRoYXQgaXQgc2hha2VzIG91dCBidWdzLgorICAgICAgICBUaGlzIHBhdGNoIGZp
eGVzIGEgYnVnIHdpdGggV2F0Y2hwb2ludCBub3QgYmVpbmcgdGhyZWFkLXNhZmUgcmVmLWNvdW50
ZWQsCisgICAgICAgIHdoaWNoIGVuYWJsaW5nIDcgY29tcGlsYXRpb24gdGhyZWFkcyBkaWQgY2F0
Y2guCisgICAgICAgIAorICAgICAgICBBcyBpdCBzdGFuZHMsIHRoaXMgcGF0Y2ggaXMgcGVyZm9y
bWFuY2UtbmV1dHJhbCBhbmQganVzdCBmaXhlcyBidWdzIGFuZCBhZGRzCisgICAgICAgIHNvbWUg
b3B0aW9ucy4KKworICAgICAgICAqIGJ5dGVjb2RlL1dhdGNocG9pbnQuaDoKKyAgICAgICAgKiBk
ZmcvREZHQ29tbW9uLmg6CisgICAgICAgIChKU0M6OkRGRzo6ZW5hYmxlQ29uY3VycmVudEpJVCk6
CisgICAgICAgICogZGZnL0RGR1dvcmtsaXN0LmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpXb3Jr
bGlzdDo6V29ya2xpc3QpOgorICAgICAgICAoSlNDOjpERkc6OldvcmtsaXN0Ojp+V29ya2xpc3Qp
OgorICAgICAgICAoSlNDOjpERkc6OldvcmtsaXN0OjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAg
IChKU0M6OkRGRzo6V29ya2xpc3Q6OmNyZWF0ZSk6CisgICAgICAgIChKU0M6OkRGRzo6V29ya2xp
c3Q6OmVucXVldWUpOgorICAgICAgICAoSlNDOjpERkc6OldvcmtsaXN0Ojp3YWl0VW50aWxBbGxQ
bGFuc0ZvclZNQXJlUmVhZHkpOgorICAgICAgICAoSlNDOjpERkc6OldvcmtsaXN0OjpkdW1wKToK
KyAgICAgICAgKEpTQzo6REZHOjpXb3JrbGlzdDo6cnVuVGhyZWFkKToKKyAgICAgICAgKEpTQzo6
REZHOjppbml0aWFsaXplR2xvYmFsV29ya2xpc3RPbmNlKToKKyAgICAgICAgKiBkZmcvREZHV29y
a2xpc3QuaDoKKyAgICAgICAgKiBydW50aW1lL09wdGlvbnMuY3BwOgorICAgICAgICAoSlNDOjpj
b21wdXRlTnVtYmVyT2ZXb3JrZXJUaHJlYWRzKToKKyAgICAgICAgKEpTQyk6CisgICAgICAgIChK
U0M6OmNvbXB1dGVOdW1iZXJPZkdDTWFya2Vycyk6CisgICAgICAgICogcnVudGltZS9PcHRpb25z
Lmg6CisgICAgICAgIChKU0MpOgorICAgICAgICAqIHJ1bnRpbWUvU3ltYm9sVGFibGUuaDoKKyAg
ICAgICAgKEpTQzo6U3ltYm9sVGFibGU6OmdldCk6CisKIDIwMTMtMDUtMTggIEZpbGlwIFBpemxv
ICA8ZnBpemxvQGFwcGxlLmNvbT4KIAogICAgICAgICBGVEwgc2hvdWxkIGZvcmNlIExMVk0gdG8g
dXNlIG91ciBvd24gSklUIG1lbW9yeSBhbGxvY2F0b3IsIGFuZCB3ZSBzaG91bGRuJ3QgaGF2ZSB0
byBrZWVwIGFyb3VuZCBhbiBMTFZNRXhlY3V0aW9uRW5naW5lUmVmIHRvIGtlZXAgY29kZSBhbGl2
ZQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1dhdGNocG9pbnQuaAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvV2F0Y2hwb2ludC5oCShy
ZXZpc2lvbiAxNTA0NzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvV2F0Y2hw
b2ludC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNiw4ICsyNiw4IEBACiAjaWZuZGVmIFdhdGNocG9p
bnRfaAogI2RlZmluZSBXYXRjaHBvaW50X2gKIAotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+
CiAjaW5jbHVkZSA8d3RmL1NlbnRpbmVsTGlua2VkTGlzdC5oPgorI2luY2x1ZGUgPHd0Zi9UaHJl
YWRTYWZlUmVmQ291bnRlZC5oPgogCiBuYW1lc3BhY2UgSlNDIHsKIApAQCAtNDksNyArNDksNyBA
QCBlbnVtIEluaXRpYWxXYXRjaHBvaW50U2V0TW9kZSB7IEluaXRpYWxpCiAKIGNsYXNzIElubGlu
ZVdhdGNocG9pbnRTZXQ7CiAKLWNsYXNzIFdhdGNocG9pbnRTZXQgOiBwdWJsaWMgUmVmQ291bnRl
ZDxXYXRjaHBvaW50U2V0PiB7CitjbGFzcyBXYXRjaHBvaW50U2V0IDogcHVibGljIFRocmVhZFNh
ZmVSZWZDb3VudGVkPFdhdGNocG9pbnRTZXQ+IHsKIHB1YmxpYzoKICAgICBXYXRjaHBvaW50U2V0
KEluaXRpYWxXYXRjaHBvaW50U2V0TW9kZSk7CiAgICAgfldhdGNocG9pbnRTZXQoKTsKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQ29tbW9uLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb24uaAkocmV2aXNpb24gMTUwNDcyKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdDb21tb24uaAkod29ya2luZyBjb3B5KQpAQCAt
MTU3LDcgKzE1Nyw3IEBAIGlubGluZSBib29sIHZhbGlkYXRpb25FbmFibGVkKCkKIGlubGluZSBi
b29sIGVuYWJsZUNvbmN1cnJlbnRKSVQoKQogewogI2lmIEVOQUJMRShDT05DVVJSRU5UX0pJVCkK
LSAgICByZXR1cm4gT3B0aW9uczo6ZW5hYmxlQ29uY3VycmVudEpJVCgpOworICAgIHJldHVybiBP
cHRpb25zOjplbmFibGVDb25jdXJyZW50SklUKCkgJiYgT3B0aW9uczo6bnVtYmVyT2ZDb21waWxl
clRocmVhZHMoKTsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOwogI2VuZGlmCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1dvcmtsaXN0LmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1dvcmtsaXN0LmNwcAkocmV2aXNpb24gMTUwNDcyKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdXb3JrbGlzdC5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTM1LDI0ICszNSwzNCBAQAogbmFtZXNwYWNlIEpTQyB7IG5hbWVzcGFjZSBERkcgewog
CiBXb3JrbGlzdDo6V29ya2xpc3QoKQorICAgIDogbV9udW1iZXJPZkFjdGl2ZVRocmVhZHMoMCkK
IHsKIH0KIAogV29ya2xpc3Q6On5Xb3JrbGlzdCgpCiB7Ci0gICAgbV9xdWV1ZS5hcHBlbmQobnVs
bHB0cik7IC8vIFVzZSBudWxsIHBsYW4gdG8gaW5kaWNhdGUgdGhhdCB3ZSB3YW50IHRoZSB0aHJl
YWQgdG8gdGVybWluYXRlLgotICAgIHdhaXRGb3JUaHJlYWRDb21wbGV0aW9uKG1fdGhyZWFkKTsK
KyAgICB7CisgICAgICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX2xvY2spOworICAgICAgICBmb3Ig
KHVuc2lnbmVkIGkgPSBtX3RocmVhZHMuc2l6ZSgpOyBpLS07KQorICAgICAgICAgICAgbV9xdWV1
ZS5hcHBlbmQobnVsbHB0cik7IC8vIFVzZSBudWxsIHBsYW4gdG8gaW5kaWNhdGUgdGhhdCB3ZSB3
YW50IHRoZSB0aHJlYWQgdG8gdGVybWluYXRlLgorICAgICAgICBtX3BsYW5FbnF1ZXVlZC5icm9h
ZGNhc3QoKTsKKyAgICB9CisgICAgZm9yICh1bnNpZ25lZCBpID0gbV90aHJlYWRzLnNpemUoKTsg
aS0tOykKKyAgICAgICAgd2FpdEZvclRocmVhZENvbXBsZXRpb24obV90aHJlYWRzW2ldKTsKKyAg
ICBBU1NFUlQoIW1fbnVtYmVyT2ZBY3RpdmVUaHJlYWRzKTsKIH0KIAotdm9pZCBXb3JrbGlzdDo6
ZmluaXNoQ3JlYXRpb24oKQordm9pZCBXb3JrbGlzdDo6ZmluaXNoQ3JlYXRpb24odW5zaWduZWQg
bnVtYmVyT2ZUaHJlYWRzKQogewotICAgIG1fdGhyZWFkID0gY3JlYXRlVGhyZWFkKHRocmVhZEZ1
bmN0aW9uLCB0aGlzLCAiSlNDIENvbXBpbGF0aW9uIFRocmVhZCIpOworICAgIFJFTEVBU0VfQVNT
RVJUKG51bWJlck9mVGhyZWFkcyk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gbnVtYmVyT2ZUaHJl
YWRzOyBpLS07KQorICAgICAgICBtX3RocmVhZHMuYXBwZW5kKGNyZWF0ZVRocmVhZCh0aHJlYWRG
dW5jdGlvbiwgdGhpcywgIkpTQyBDb21waWxhdGlvbiBUaHJlYWQiKSk7CiB9CiAKLVBhc3NSZWZQ
dHI8V29ya2xpc3Q+IFdvcmtsaXN0OjpjcmVhdGUoKQorUGFzc1JlZlB0cjxXb3JrbGlzdD4gV29y
a2xpc3Q6OmNyZWF0ZSh1bnNpZ25lZCBudW1iZXJPZlRocmVhZHMpCiB7CiAgICAgUmVmUHRyPFdv
cmtsaXN0PiByZXN1bHQgPSBhZG9wdFJlZihuZXcgV29ya2xpc3QoKSk7Ci0gICAgcmVzdWx0LT5m
aW5pc2hDcmVhdGlvbigpOworICAgIHJlc3VsdC0+ZmluaXNoQ3JlYXRpb24obnVtYmVyT2ZUaHJl
YWRzKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQogCkBAIC02Nyw3ICs3Nyw3IEBAIHZvaWQgV29y
a2xpc3Q6OmVucXVldWUoUGFzc1JlZlB0cjxQbGFuPiAKICAgICBBU1NFUlQobV9wbGFucy5maW5k
KHBsYW4tPmtleSgpKSA9PSBtX3BsYW5zLmVuZCgpKTsKICAgICBtX3BsYW5zLmFkZChwbGFuLT5r
ZXkoKSwgcGxhbik7CiAgICAgbV9xdWV1ZS5hcHBlbmQocGxhbik7Ci0gICAgbV9jb25kaXRpb24u
YnJvYWRjYXN0KCk7CisgICAgbV9wbGFuRW5xdWV1ZWQuc2lnbmFsKCk7CiB9CiAKIFdvcmtsaXN0
OjpTdGF0ZSBXb3JrbGlzdDo6Y29tcGlsYXRpb25TdGF0ZShDb2RlQmxvY2sqIHByb2ZpbGVkQmxv
Y2spCkBAIC0xMTAsNyArMTIwLDcgQEAgdm9pZCBXb3JrbGlzdDo6d2FpdFVudGlsQWxsUGxhbnNG
b3JWTUFyZQogICAgICAgICBpZiAoYWxsQXJlQ29tcGlsZWQpCiAgICAgICAgICAgICBicmVhazsK
ICAgICAgICAgCi0gICAgICAgIG1fY29uZGl0aW9uLndhaXQobV9sb2NrKTsKKyAgICAgICAgbV9w
bGFuQ29tcGlsZWQud2FpdChtX2xvY2spOwogICAgIH0KIH0KIApAQCAtMTk1LDExICsyMDUsMTUg
QEAgdm9pZCBXb3JrbGlzdDo6ZHVtcChjb25zdCBNdXRleExvY2tlciYsIAogewogICAgIG91dC5w
cmludCgKICAgICAgICAgIldvcmtsaXN0KCIsIFJhd1BvaW50ZXIodGhpcyksICIpW1F1ZXVlIExl
bmd0aCA9ICIsIG1fcXVldWUuc2l6ZSgpLAotICAgICAgICAiLCBNYXAgU2l6ZSA9ICIsIG1fcGxh
bnMuc2l6ZSgpLCAiXSIpOworICAgICAgICAiLCBNYXAgU2l6ZSA9ICIsIG1fcGxhbnMuc2l6ZSgp
LCAiLCBOdW0gUmVhZHkgPSAiLCBtX3JlYWR5UGxhbnMuc2l6ZSgpLAorICAgICAgICAiLCBOdW0g
QWN0aXZlIFRocmVhZHMgPSAiLCBtX251bWJlck9mQWN0aXZlVGhyZWFkcywgIi8iLCBtX3RocmVh
ZHMuc2l6ZSgpLCAiXSIpOwogfQogCiB2b2lkIFdvcmtsaXN0OjpydW5UaHJlYWQoKQogeworICAg
IGlmIChPcHRpb25zOjp2ZXJib3NlQ29tcGlsYXRpb25RdWV1ZSgpKQorICAgICAgICBkYXRhTG9n
KCp0aGlzLCAiOiBUaHJlYWQgc3RhcnRlZFxuIik7CisgICAgCiAgICAgTG9uZ0xpdmVkU3RhdGUg
bG9uZ0xpdmVkU3RhdGU7CiAgICAgCiAgICAgZm9yICg7OykgewpAQCAtMjA3LDEyICsyMjEsMjAg
QEAgdm9pZCBXb3JrbGlzdDo6cnVuVGhyZWFkKCkKICAgICAgICAgewogICAgICAgICAgICAgTXV0
ZXhMb2NrZXIgbG9ja2VyKG1fbG9jayk7CiAgICAgICAgICAgICB3aGlsZSAobV9xdWV1ZS5pc0Vt
cHR5KCkpCi0gICAgICAgICAgICAgICAgbV9jb25kaXRpb24ud2FpdChtX2xvY2spOworICAgICAg
ICAgICAgICAgIG1fcGxhbkVucXVldWVkLndhaXQobV9sb2NrKTsKICAgICAgICAgICAgIHBsYW4g
PSBtX3F1ZXVlLnRha2VGaXJzdCgpOworICAgICAgICAgICAgaWYgKHBsYW4pCisgICAgICAgICAg
ICAgICAgbV9udW1iZXJPZkFjdGl2ZVRocmVhZHMrKzsKICAgICAgICAgfQogICAgICAgICAKLSAg
ICAgICAgaWYgKCFwbGFuKQorICAgICAgICBpZiAoIXBsYW4pIHsKKyAgICAgICAgICAgIGlmIChP
cHRpb25zOjp2ZXJib3NlQ29tcGlsYXRpb25RdWV1ZSgpKQorICAgICAgICAgICAgICAgIGRhdGFM
b2coKnRoaXMsICI6IFRocmVhZCBzaHV0dGluZyBkb3duXG4iKTsKICAgICAgICAgICAgIHJldHVy
bjsKKyAgICAgICAgfQorICAgICAgICAKKyAgICAgICAgaWYgKE9wdGlvbnM6OnZlcmJvc2VDb21w
aWxhdGlvblF1ZXVlKCkpCisgICAgICAgICAgICBkYXRhTG9nKCp0aGlzLCAiOiBDb21waWxpbmcg
IiwgKnBsYW4tPmtleSgpLCAiIGFzeW5jaHJvbm91c2x5XG4iKTsKICAgICAgICAgCiAgICAgICAg
IHBsYW4tPmNvbXBpbGVJblRocmVhZChsb25nTGl2ZWRTdGF0ZSk7CiAgICAgICAgIApAQCAtMjI4
LDcgKzI1MCw4IEBAIHZvaWQgV29ya2xpc3Q6OnJ1blRocmVhZCgpCiAgICAgICAgICAgICAKICAg
ICAgICAgICAgIG1fcmVhZHlQbGFucy5hcHBlbmQocGxhbik7CiAgICAgICAgICAgICAKLSAgICAg
ICAgICAgIG1fY29uZGl0aW9uLmJyb2FkY2FzdCgpOworICAgICAgICAgICAgbV9wbGFuQ29tcGls
ZWQuYnJvYWRjYXN0KCk7CisgICAgICAgICAgICBtX251bWJlck9mQWN0aXZlVGhyZWFkcy0tOwog
ICAgICAgICB9CiAgICAgfQogfQpAQCAtMjQzLDcgKzI2NiwxNCBAQCBzdGF0aWMgV29ya2xpc3Qq
IHRoZUdsb2JhbFdvcmtsaXN0OwogCiBzdGF0aWMgdm9pZCBpbml0aWFsaXplR2xvYmFsV29ya2xp
c3RPbmNlKCkKIHsKLSAgICB0aGVHbG9iYWxXb3JrbGlzdCA9IFdvcmtsaXN0OjpjcmVhdGUoKS5s
ZWFrUmVmKCk7CisgICAgdW5zaWduZWQgbnVtYmVyT2ZUaHJlYWRzOworICAgIAorICAgIGlmIChP
cHRpb25zOjp1c2VFeHBlcmltZW50YWxGVEwoKSkKKyAgICAgICAgbnVtYmVyT2ZUaHJlYWRzID0g
MTsgLy8gV2UgZG9uJ3QgeWV0IHVzZSBMTFZNIGluIGEgdGhyZWFkLXNhZmUgd2F5LgorICAgIGVs
c2UKKyAgICAgICAgbnVtYmVyT2ZUaHJlYWRzID0gT3B0aW9uczo6bnVtYmVyT2ZDb21waWxlclRo
cmVhZHMoKTsKKyAgICAKKyAgICB0aGVHbG9iYWxXb3JrbGlzdCA9IFdvcmtsaXN0OjpjcmVhdGUo
bnVtYmVyT2ZUaHJlYWRzKS5sZWFrUmVmKCk7CiB9CiAKIFdvcmtsaXN0KiBnbG9iYWxXb3JrbGlz
dCgpCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1dvcmtsaXN0LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdXb3JrbGlzdC5oCShyZXZpc2lv
biAxNTA0NzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1dvcmtsaXN0LmgJKHdv
cmtpbmcgY29weSkKQEAgLTQ1LDcgKzQ1LDcgQEAgcHVibGljOgogCiAgICAgfldvcmtsaXN0KCk7
CiAgICAgCi0gICAgc3RhdGljIFBhc3NSZWZQdHI8V29ya2xpc3Q+IGNyZWF0ZSgpOworICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFdvcmtsaXN0PiBjcmVhdGUodW5zaWduZWQgbnVtYmVyT2ZUaHJlYWRz
KTsKICAgICAKICAgICB2b2lkIGVucXVldWUoUGFzc1JlZlB0cjxQbGFuPik7CiAgICAgCkBAIC02
NSw3ICs2NSw3IEBAIHB1YmxpYzoKICAgICAKIHByaXZhdGU6CiAgICAgV29ya2xpc3QoKTsKLSAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKCk7CisgICAgdm9pZCBmaW5pc2hDcmVhdGlvbih1bnNpZ25l
ZCBudW1iZXJPZlRocmVhZHMpOwogICAgIAogICAgIHZvaWQgcnVuVGhyZWFkKCk7CiAgICAgc3Rh
dGljIHZvaWQgdGhyZWFkRnVuY3Rpb24odm9pZCogYXJndW1lbnQpOwpAQCAtODksMTEgKzg5LDEw
IEBAIHByaXZhdGU6CiAgICAgVmVjdG9yPFJlZlB0cjxQbGFuPiwgMTY+IG1fcmVhZHlQbGFuczsK
ICAgICAKICAgICBtdXRhYmxlIE11dGV4IG1fbG9jazsKLSAgICAvLyBXZSBicm9hZGNhc3Qgb24g
dGhpcyBjb25kaXRpb24gd2hlbmV2ZXI6Ci0gICAgLy8gLSBTb21ldGhpbmcgaXMgZW5xdWV1ZWQu
Ci0gICAgLy8gLSBTb21ldGhpbmcgaXMgY29tcGxldGVkLgotICAgIFRocmVhZENvbmRpdGlvbiBt
X2NvbmRpdGlvbjsKLSAgICBUaHJlYWRJZGVudGlmaWVyIG1fdGhyZWFkOworICAgIFRocmVhZENv
bmRpdGlvbiBtX3BsYW5FbnF1ZXVlZDsKKyAgICBUaHJlYWRDb25kaXRpb24gbV9wbGFuQ29tcGls
ZWQ7CisgICAgVmVjdG9yPFRocmVhZElkZW50aWZpZXI+IG1fdGhyZWFkczsKKyAgICB1bnNpZ25l
ZCBtX251bWJlck9mQWN0aXZlVGhyZWFkczsKIH07CiAKIC8vIEZvciBub3cgd2UgdXNlIGEgc2lu
Z2xlIGdsb2JhbCB3b3JrbGlzdC4gSXQncyBub3QgY2xlYXIgdGhhdCB0aGlzCkluZGV4OiBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmNwcAkocmV2aXNpb24gMTUwNDcyKQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTg3LDIyICs4NywyNiBAQCB2b2lkIG92ZXJyaWRlT3B0aW9uV2l0aEhldXJpc3RpYyhU
JiB2YXJpCiAjZW5kaWYKIH0KIAotc3RhdGljIHVuc2lnbmVkIGNvbXB1dGVOdW1iZXJPZkdDTWFy
a2VycyhpbnQgbWF4TnVtYmVyT2ZHQ01hcmtlcnMpCitzdGF0aWMgdW5zaWduZWQgY29tcHV0ZU51
bWJlck9mV29ya2VyVGhyZWFkcyhpbnQgbWF4TnVtYmVyT2ZXb3JrZXJUaHJlYWRzKQogewotICAg
IGludCBjcHVzVG9Vc2UgPSAxOwotCi0jaWYgRU5BQkxFKFBBUkFMTEVMX0dDKQotICAgIGNwdXNU
b1VzZSA9IHN0ZDo6bWluKFdURjo6bnVtYmVyT2ZQcm9jZXNzb3JDb3JlcygpLCBtYXhOdW1iZXJP
ZkdDTWFya2Vycyk7CisgICAgaW50IGNwdXNUb1VzZSA9IHN0ZDo6bWluKFdURjo6bnVtYmVyT2ZQ
cm9jZXNzb3JDb3JlcygpLCBtYXhOdW1iZXJPZldvcmtlclRocmVhZHMpOwogCiAgICAgLy8gQmUg
cGFyYW5vaWQsIGl0IGlzIHRoZSBPUyB3ZSdyZSBkZWFsaW5nIHdpdGgsIGFmdGVyIGFsbC4KICAg
ICBBU1NFUlQoY3B1c1RvVXNlID49IDEpOwogICAgIGlmIChjcHVzVG9Vc2UgPCAxKQogICAgICAg
ICBjcHVzVG9Vc2UgPSAxOworICAgIAorICAgIHJldHVybiBjcHVzVG9Vc2U7Cit9CisKK3N0YXRp
YyB1bnNpZ25lZCBjb21wdXRlTnVtYmVyT2ZHQ01hcmtlcnModW5zaWduZWQgbWF4TnVtYmVyT2ZH
Q01hcmtlcnMpCit7CisjaWYgRU5BQkxFKFBBUkFMTEVMX0dDKQorICAgIHJldHVybiBjb21wdXRl
TnVtYmVyT2ZXb3JrZXJUaHJlYWRzKG1heE51bWJlck9mR0NNYXJrZXJzKTsKICNlbHNlCiAgICAg
VU5VU0VEX1BBUkFNKG1heE51bWJlck9mR0NNYXJrZXJzKTsKKyAgICByZXR1cm4gMTsKICNlbmRp
ZgotCi0gICAgcmV0dXJuIGNwdXNUb1VzZTsKIH0KIAogT3B0aW9uczo6RW50cnkgT3B0aW9uczo6
c19vcHRpb25zW09wdGlvbnM6Om51bWJlck9mT3B0aW9uc107CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3Jp
cHRDb3JlL3J1bnRpbWUvT3B0aW9ucy5oCShyZXZpc2lvbiAxNTA0NzIpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvcnVudGltZS9PcHRpb25zLmgJKHdvcmtpbmcgY29weSkKQEAgLTkyLDYgKzky
LDcgQEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgdih1bnNpZ25lZCwgbGx2bU9wdGltaXphdGlvbkxl
dmVsLCAyKSBcCiAgICAgXAogICAgIHYoYm9vbCwgZW5hYmxlQ29uY3VycmVudEpJVCwgdHJ1ZSkg
XAorICAgIHYodW5zaWduZWQsIG51bWJlck9mQ29tcGlsZXJUaHJlYWRzLCBjb21wdXRlTnVtYmVy
T2ZXb3JrZXJUaHJlYWRzKDIpIC0gMSkgXAogICAgIFwKICAgICB2KGJvb2wsIGVuYWJsZVByb2Zp
bGVyLCBmYWxzZSkgXAogICAgIFwKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1l
L1N5bWJvbFRhYmxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRp
bWUvU3ltYm9sVGFibGUuaAkocmV2aXNpb24gMTUwNDcyKQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvU3ltYm9sVGFibGUuaAkod29ya2luZyBjb3B5KQpAQCAtMzYxLDggKzM2MSwx
MiBAQCBwdWJsaWM6CiAgICAgCiAgICAgU3ltYm9sVGFibGVFbnRyeSBnZXQoU3RyaW5nSW1wbCog
a2V5KQogICAgIHsKLSAgICAgICAgQ29uY3VycmVudEpJVExvY2tlciBsb2NrZXIobV9sb2NrKTsK
LSAgICAgICAgcmV0dXJuIGdldChsb2NrZXIsIGtleSk7CisgICAgICAgIFN5bWJvbFRhYmxlRW50
cnkgcmVzdWx0OworICAgICAgICB7CisgICAgICAgICAgICBDb25jdXJyZW50SklUTG9ja2VyIGxv
Y2tlcihtX2xvY2spOworICAgICAgICAgICAgcmVzdWx0ID0gZ2V0KGxvY2tlciwga2V5KTsKKyAg
ICAgICAgfQorICAgICAgICByZXR1cm4gcmVzdWx0OwogICAgIH0KICAgICAKICAgICBTeW1ib2xU
YWJsZUVudHJ5IGlubGluZUdldChjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiwgU3RyaW5nSW1w
bCoga2V5KQo=
</data>
<flag name="review"
          id="224002"
          type_id="1"
          status="+"
          setter="mhahnenberg"
    />
          </attachment>
      

    </bug>

</bugzilla>