<?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>133042</bug_id>
          
          <creation_ts>2014-05-17 22:47:27 -0700</creation_ts>
          <short_desc>[ftlopt] Factor out how CallLinkStatus uses exit site data</short_desc>
          <delta_ts>2014-05-18 10:33:29 -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>130756</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>1010048</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-05-17 22:47:27 -0700</bug_when>
    <thetext>We need to query exit site data while holding a different lock then when we query all of the other data.  Currently, CallLinkStatus knows what to query but it does so behind an opaque API that assumes that it&apos;s querying the CallLinkInfo for a op_call/op_construct instruction.  This would make it difficult to integrate with a different Status class that wants to use a CallLinkInfo that is embedded inside a stub, like GetByIdStatus or PutByIdStatus - those will only see that there is a CallLinkInfo for which to compute status while they are already holding the &quot;wrong&quot; lock for computing exit site data.  We should refactor things so that:

- You can ask CallLinkStatus to compute exit site data - essentially an opaque data token - without giving it the CallLinkInfo.
- You can pass the exit site data and the CallLinkInfo and get a complete CallLinkStatus.
- Do what you do now - i.e. we shouldn&apos;t change the existing API that just does all of this for you.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010050</commentid>
    <comment_count>1</comment_count>
      <attachid>231648</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-05-17 22:55:49 -0700</bug_when>
    <thetext>Created attachment 231648
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1010086</commentid>
    <comment_count>2</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2014-05-18 10:33:29 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/169014</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>231648</attachid>
            <date>2014-05-17 22:55:49 -0700</date>
            <delta_ts>2014-05-18 09:34:12 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>8016</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTY5MDA2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI2IEBA
CisyMDE0LTA1LTE3ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
RmFjdG9yIG91dCBob3cgQ2FsbExpbmtTdGF0dXMgdXNlcyBleGl0IHNpdGUgZGF0YQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTMzMDQyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisgICAgICAgIAorICAgICAgICBUaGlzIG1h
a2VzIGl0IGVhc2llciB0byB1c2UgQ2FsbExpbmtTdGF0dXMgZnJvbSBjbGllbnRzIHRoYXQgYXJl
IGNhbGxpbmcgaW50byBhZnRlcgorICAgICAgICBhbHJlYWR5IGhvbGRpbmcgc29tZSBvZiB0aGUg
cmVsZXZhbnQgbG9ja3MuIFRoaXMgaXMgbmVjZXNzYXJ5IGJlY2F1c2Ugd2UgdXNlIGEgIm9uZSBs
b2NrCisgICAgICAgIGF0IGEgdGltZSIgcG9saWN5IGZvciBDb2RlQmxvY2sgbG9ja3M6IGlmIHlv
dSBob2xkIG9uZSB0aGVuIHlvdSdyZSBub3QgYWxsb3dlZCB0byBhY3F1aXJlCisgICAgICAgIGFu
eSBvZiB0aGUgb3RoZXJzLiBTbywgYW55IGNvZGUgdGhhdCBuZWVkcyB0byBsb2NrIG11bHRpcGxl
IENvZGVCbG9jayBsb2NrcyBuZWVkcyB0byBzb3J0CisgICAgICAgIG9mIGxvY2sgb25lLCBkbyBz
b21lIHN0dWZmLCByZWxlYXNlIGl0LCB0aGVuIGxvY2sgYW5vdGhlciwgYW5kIHRoZW4gZG8gbW9y
ZSBzdHVmZi4gVGhlCisgICAgICAgIGV4aXQgc2l0ZSBkYXRhIGNvcnJlc3BvbmRzIHRvIHRoZSBz
dHVmZiB5b3UgZG8gd2hpbGUgaG9sZGluZyB0aGUgYmFzZWxpbmUgbG9jaywgd2hpbGUgdGhlCisg
ICAgICAgIENhbGxMaW5rSW5mbyBtZXRob2QgY29ycmVzcG9uZHMgdG8gdGhlIHN0dWZmIHlvdSBk
byB3aGlsZSBob2xkaW5nIHRoZSBDYWxsTGlua0luZm8gb3duZXIncworICAgICAgICBsb2NrLgor
CisgICAgICAgICogYnl0ZWNvZGUvQ2FsbExpbmtTdGF0dXMuY3BwOgorICAgICAgICAoSlNDOjpD
YWxsTGlua1N0YXR1czo6Y29tcHV0ZUZvcik6CisgICAgICAgIChKU0M6OkNhbGxMaW5rU3RhdHVz
Ojpjb21wdXRlRXhpdFNpdGVEYXRhKToKKyAgICAgICAgKEpTQzo6Q2FsbExpbmtTdGF0dXM6OmNv
bXB1dGVERkdTdGF0dXNlcyk6CisgICAgICAgICogYnl0ZWNvZGUvQ2FsbExpbmtTdGF0dXMuaDoK
KyAgICAgICAgKEpTQzo6Q2FsbExpbmtTdGF0dXM6OkV4aXRTaXRlRGF0YTo6RXhpdFNpdGVEYXRh
KToKKwogMjAxNC0wNS0xNyAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAg
ICAgIFtmdGxvcHRdIElubGluZUNhbGxGcmFtZTo6aXNDYWxsIHNob3VsZCBiZSBhbiBlbnVtZXJh
dGlvbgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxMaW5rU3RhdHVz
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExp
bmtTdGF0dXMuY3BwCShyZXZpc2lvbiAxNjg5OTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
Ynl0ZWNvZGUvQ2FsbExpbmtTdGF0dXMuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xMjQsMjggKzEy
NCwzOCBAQCBDYWxsTGlua1N0YXR1cyBDYWxsTGlua1N0YXR1czo6Y29tcHV0ZUZvCiAgICAgVU5V
U0VEX1BBUkFNKGJ5dGVjb2RlSW5kZXgpOwogICAgIFVOVVNFRF9QQVJBTShtYXApOwogI2lmIEVO
QUJMRShERkdfSklUKQotICAgIGlmIChwcm9maWxlZEJsb2NrLT5oYXNFeGl0U2l0ZShsb2NrZXIs
IERGRzo6RnJlcXVlbnRFeGl0U2l0ZShieXRlY29kZUluZGV4LCBCYWRDYWNoZSkpCi0gICAgICAg
IHx8IHByb2ZpbGVkQmxvY2stPmhhc0V4aXRTaXRlKGxvY2tlciwgREZHOjpGcmVxdWVudEV4aXRT
aXRlKGJ5dGVjb2RlSW5kZXgsIEJhZENhY2hlV2F0Y2hwb2ludCkpCi0gICAgICAgIHx8IHByb2Zp
bGVkQmxvY2stPmhhc0V4aXRTaXRlKGxvY2tlciwgREZHOjpGcmVxdWVudEV4aXRTaXRlKGJ5dGVj
b2RlSW5kZXgsIEJhZEV4ZWN1dGFibGUpKSkKKyAgICBFeGl0U2l0ZURhdGEgZXhpdFNpdGVEYXRh
ID0gY29tcHV0ZUV4aXRTaXRlRGF0YShsb2NrZXIsIHByb2ZpbGVkQmxvY2ssIGJ5dGVjb2RlSW5k
ZXgpOworICAgIGlmIChleGl0U2l0ZURhdGEubV90YWtlc1Nsb3dQYXRoKQogICAgICAgICByZXR1
cm4gdGFrZXNTbG93UGF0aCgpOwogICAgIAogICAgIENhbGxMaW5rSW5mbyogY2FsbExpbmtJbmZv
ID0gbWFwLmdldChDb2RlT3JpZ2luKGJ5dGVjb2RlSW5kZXgpKTsKICAgICBpZiAoIWNhbGxMaW5r
SW5mbykKICAgICAgICAgcmV0dXJuIGNvbXB1dGVGcm9tTExJbnQobG9ja2VyLCBwcm9maWxlZEJs
b2NrLCBieXRlY29kZUluZGV4KTsKICAgICAKLSAgICBDYWxsTGlua1N0YXR1cyByZXN1bHQgPSBj
b21wdXRlRm9yKGxvY2tlciwgKmNhbGxMaW5rSW5mbyk7Ci0gICAgaWYgKCFyZXN1bHQpCi0gICAg
ICAgIHJldHVybiBjb21wdXRlRnJvbUxMSW50KGxvY2tlciwgcHJvZmlsZWRCbG9jaywgYnl0ZWNv
ZGVJbmRleCk7Ci0gICAgCi0gICAgaWYgKHByb2ZpbGVkQmxvY2stPmhhc0V4aXRTaXRlKGxvY2tl
ciwgREZHOjpGcmVxdWVudEV4aXRTaXRlKGJ5dGVjb2RlSW5kZXgsIEJhZEZ1bmN0aW9uKSkpCi0g
ICAgICAgIHJlc3VsdC5tYWtlQ2xvc3VyZUNhbGwoKTsKLSAgICAKLSAgICByZXR1cm4gcmVzdWx0
OworICAgIHJldHVybiBjb21wdXRlRm9yKGxvY2tlciwgKmNhbGxMaW5rSW5mbywgZXhpdFNpdGVE
YXRhKTsKICNlbHNlCiAgICAgcmV0dXJuIENhbGxMaW5rU3RhdHVzKCk7CiAjZW5kaWYKIH0KIAor
Q2FsbExpbmtTdGF0dXM6OkV4aXRTaXRlRGF0YSBDYWxsTGlua1N0YXR1czo6Y29tcHV0ZUV4aXRT
aXRlRGF0YSgKKyAgICBjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiBsb2NrZXIsIENvZGVCbG9j
ayogcHJvZmlsZWRCbG9jaywgdW5zaWduZWQgYnl0ZWNvZGVJbmRleCwKKyAgICBFeGl0aW5nSklU
VHlwZSBleGl0aW5nSklUVHlwZSkKK3sKKyAgICBFeGl0U2l0ZURhdGEgZXhpdFNpdGVEYXRhOwor
ICAgIAorI2lmIEVOQUJMRShERkdfSklUKQorICAgIGV4aXRTaXRlRGF0YS5tX3Rha2VzU2xvd1Bh
dGggPQorICAgICAgICBwcm9maWxlZEJsb2NrLT5oYXNFeGl0U2l0ZShsb2NrZXIsIERGRzo6RnJl
cXVlbnRFeGl0U2l0ZShieXRlY29kZUluZGV4LCBCYWRDYWNoZSwgZXhpdGluZ0pJVFR5cGUpKQor
ICAgICAgICB8fCBwcm9maWxlZEJsb2NrLT5oYXNFeGl0U2l0ZShsb2NrZXIsIERGRzo6RnJlcXVl
bnRFeGl0U2l0ZShieXRlY29kZUluZGV4LCBCYWRDYWNoZVdhdGNocG9pbnQsIGV4aXRpbmdKSVRU
eXBlKSkKKyAgICAgICAgfHwgcHJvZmlsZWRCbG9jay0+aGFzRXhpdFNpdGUobG9ja2VyLCBERkc6
OkZyZXF1ZW50RXhpdFNpdGUoYnl0ZWNvZGVJbmRleCwgQmFkRXhlY3V0YWJsZSwgZXhpdGluZ0pJ
VFR5cGUpKTsKKyAgICBleGl0U2l0ZURhdGEubV9iYWRGdW5jdGlvbiA9CisgICAgICAgIHByb2Zp
bGVkQmxvY2stPmhhc0V4aXRTaXRlKGxvY2tlciwgREZHOjpGcmVxdWVudEV4aXRTaXRlKGJ5dGVj
b2RlSW5kZXgsIEJhZEZ1bmN0aW9uLCBleGl0aW5nSklUVHlwZSkpOworI2VuZGlmCisgICAgCisg
ICAgcmV0dXJuIGV4aXRTaXRlRGF0YTsKK30KKwogI2lmIEVOQUJMRShKSVQpCiBDYWxsTGlua1N0
YXR1cyBDYWxsTGlua1N0YXR1czo6Y29tcHV0ZUZvcihjb25zdCBDb25jdXJyZW50SklUTG9ja2Vy
JiwgQ2FsbExpbmtJbmZvJiBjYWxsTGlua0luZm8pCiB7CkBAIC0xNzcsNiArMTg3LDE5IEBAIENh
bGxMaW5rU3RhdHVzIENhbGxMaW5rU3RhdHVzOjpjb21wdXRlRm8KIAogICAgIHJldHVybiBDYWxs
TGlua1N0YXR1cyh0YXJnZXQpOwogfQorCitDYWxsTGlua1N0YXR1cyBDYWxsTGlua1N0YXR1czo6
Y29tcHV0ZUZvcigKKyAgICBjb25zdCBDb25jdXJyZW50SklUTG9ja2VyJiBsb2NrZXIsIENhbGxM
aW5rSW5mbyYgY2FsbExpbmtJbmZvLCBFeGl0U2l0ZURhdGEgZXhpdFNpdGVEYXRhKQoreworICAg
IGlmIChleGl0U2l0ZURhdGEubV90YWtlc1Nsb3dQYXRoKQorICAgICAgICByZXR1cm4gdGFrZXNT
bG93UGF0aCgpOworICAgIAorICAgIENhbGxMaW5rU3RhdHVzIHJlc3VsdCA9IGNvbXB1dGVGb3Io
bG9ja2VyLCBjYWxsTGlua0luZm8pOworICAgIGlmIChleGl0U2l0ZURhdGEubV9iYWRGdW5jdGlv
bikKKyAgICAgICAgcmVzdWx0Lm1ha2VDbG9zdXJlQ2FsbCgpOworICAgIAorICAgIHJldHVybiBy
ZXN1bHQ7Cit9CiAjZW5kaWYKIAogdm9pZCBDYWxsTGlua1N0YXR1czo6Y29tcHV0ZURGR1N0YXR1
c2VzKApAQCAtMTg5LDkgKzIxMiw2IEBAIHZvaWQgQ2FsbExpbmtTdGF0dXM6OmNvbXB1dGVERkdT
dGF0dXNlcygKICAgICAgICAgQ2FsbExpbmtJbmZvJiBpbmZvID0gKippdGVyOwogICAgICAgICBD
b2RlT3JpZ2luIGNvZGVPcmlnaW4gPSBpbmZvLmNvZGVPcmlnaW47CiAgICAgICAgIAotICAgICAg
ICBib29sIHRha2VTbG93UGF0aDsKLSAgICAgICAgYm9vbCBiYWRGdW5jdGlvbjsKLSAgICAgICAg
CiAgICAgICAgIC8vIENoZWNrIGlmIHdlIGhhZCBhbHJlYWR5IHByZXZpb3VzbHkgbWFkZSBhIHRl
cnJpYmxlIG1pc3Rha2UgaW4gdGhlIEZUTCBmb3IgdGhpcwogICAgICAgICAvLyBjb2RlIG9yaWdp
bi4gTm90ZSB0aGF0IHRoaXMgaXMgYXBwcm94aW1hdGUgYmVjYXVzZSB3ZSBjb3VsZCBoYXZlIGEg
bW9ub3ZhcmlhbnQKICAgICAgICAgLy8gaW5saW5lIGluIHRoZSBGVEwgdGhhdCBlbmRlZCB1cCBm
YWlsaW5nLiBXZSBzaG91bGQgZml4IHRoYXQgYXQgc29tZSBwb2ludCBieQpAQCAtMjAxLDI4ICsy
MjEsMTYgQEAgdm9pZCBDYWxsTGlua1N0YXR1czo6Y29tcHV0ZURGR1N0YXR1c2VzKAogICAgICAg
ICAvLyBJbmxpbmVDYWxsRnJhbWVzLgogICAgICAgICBDb2RlQmxvY2sqIGN1cnJlbnRCYXNlbGlu
ZSA9CiAgICAgICAgICAgICBiYXNlbGluZUNvZGVCbG9ja0Zvck9yaWdpbkFuZEJhc2VsaW5lQ29k
ZUJsb2NrKGNvZGVPcmlnaW4sIGJhc2VsaW5lQ29kZUJsb2NrKTsKKyAgICAgICAgRXhpdFNpdGVE
YXRhIGV4aXRTaXRlRGF0YTsKICAgICAgICAgewogICAgICAgICAgICAgQ29uY3VycmVudEpJVExv
Y2tlciBsb2NrZXIoY3VycmVudEJhc2VsaW5lLT5tX2xvY2spOwotICAgICAgICAgICAgdGFrZVNs
b3dQYXRoID0KLSAgICAgICAgICAgICAgICBjdXJyZW50QmFzZWxpbmUtPmhhc0V4aXRTaXRlKGxv
Y2tlciwgREZHOjpGcmVxdWVudEV4aXRTaXRlKGNvZGVPcmlnaW4uYnl0ZWNvZGVJbmRleCwgQmFk
Q2FjaGUsIEV4aXRGcm9tRlRMKSkKLSAgICAgICAgICAgICAgICB8fCBjdXJyZW50QmFzZWxpbmUt
Pmhhc0V4aXRTaXRlKGxvY2tlciwgREZHOjpGcmVxdWVudEV4aXRTaXRlKGNvZGVPcmlnaW4uYnl0
ZWNvZGVJbmRleCwgQmFkQ2FjaGVXYXRjaHBvaW50LCBFeGl0RnJvbUZUTCkpCi0gICAgICAgICAg
ICAgICAgfHwgY3VycmVudEJhc2VsaW5lLT5oYXNFeGl0U2l0ZShsb2NrZXIsIERGRzo6RnJlcXVl
bnRFeGl0U2l0ZShjb2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgsIEJhZEV4ZWN1dGFibGUsIEV4aXRG
cm9tRlRMKSk7Ci0gICAgICAgICAgICBiYWRGdW5jdGlvbiA9Ci0gICAgICAgICAgICAgICAgY3Vy
cmVudEJhc2VsaW5lLT5oYXNFeGl0U2l0ZShsb2NrZXIsIERGRzo6RnJlcXVlbnRFeGl0U2l0ZShj
b2RlT3JpZ2luLmJ5dGVjb2RlSW5kZXgsIEJhZEZ1bmN0aW9uLCBFeGl0RnJvbUZUTCkpOworICAg
ICAgICAgICAgZXhpdFNpdGVEYXRhID0gY29tcHV0ZUV4aXRTaXRlRGF0YSgKKyAgICAgICAgICAg
ICAgICBsb2NrZXIsIGN1cnJlbnRCYXNlbGluZSwgY29kZU9yaWdpbi5ieXRlY29kZUluZGV4LCBF
eGl0RnJvbUZUTCk7CiAgICAgICAgIH0KICAgICAgICAgCiAgICAgICAgIHsKICAgICAgICAgICAg
IENvbmN1cnJlbnRKSVRMb2NrZXIgbG9ja2VyKGRmZ0NvZGVCbG9jay0+bV9sb2NrKTsKLSAgICAg
ICAgICAgIGlmICh0YWtlU2xvd1BhdGgpCi0gICAgICAgICAgICAgICAgbWFwLmFkZChpbmZvLmNv
ZGVPcmlnaW4sIHRha2VzU2xvd1BhdGgoKSk7Ci0gICAgICAgICAgICBlbHNlIHsKLSAgICAgICAg
ICAgICAgICBDYWxsTGlua1N0YXR1cyBzdGF0dXMgPSBjb21wdXRlRm9yKGxvY2tlciwgaW5mbyk7
Ci0gICAgICAgICAgICAgICAgaWYgKHN0YXR1cy5pc1NldCgpKSB7Ci0gICAgICAgICAgICAgICAg
ICAgIGlmIChiYWRGdW5jdGlvbikKLSAgICAgICAgICAgICAgICAgICAgICAgIHN0YXR1cy5tYWtl
Q2xvc3VyZUNhbGwoKTsKLSAgICAgICAgICAgICAgICAgICAgbWFwLmFkZChpbmZvLmNvZGVPcmln
aW4sIHN0YXR1cyk7Ci0gICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgfQorICAgICAgICAg
ICAgbWFwLmFkZChpbmZvLmNvZGVPcmlnaW4sIGNvbXB1dGVGb3IobG9ja2VyLCBpbmZvLCBleGl0
U2l0ZURhdGEpKTsKICAgICAgICAgfQogICAgIH0KICNlbHNlCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtTdGF0dXMuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ2FsbExpbmtTdGF0dXMuaAkocmV2aXNpb24gMTY4OTk3
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NhbGxMaW5rU3RhdHVzLmgJKHdv
cmtpbmcgY29weSkKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJDb2RlT3JpZ2luLmgiCiAj
aW5jbHVkZSAiQ29kZVNwZWNpYWxpemF0aW9uS2luZC5oIgogI2luY2x1ZGUgIkNvbmN1cnJlbnRK
SVRMb2NrLmgiCisjaW5jbHVkZSAiRXhpdGluZ0pJVFR5cGUuaCIKICNpbmNsdWRlICJJbnRyaW5z
aWMuaCIKICNpbmNsdWRlICJKU0NKU1ZhbHVlLmgiCiAKQEAgLTc5LDEwICs4MCwyMyBAQCBwdWJs
aWM6CiAgICAgc3RhdGljIENhbGxMaW5rU3RhdHVzIGNvbXB1dGVGb3IoCiAgICAgICAgIENvZGVC
bG9jayosIHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIGNvbnN0IENhbGxMaW5rSW5mb01hcCYpOwog
CisgICAgc3RydWN0IEV4aXRTaXRlRGF0YSB7CisgICAgICAgIEV4aXRTaXRlRGF0YSgpCisgICAg
ICAgICAgICA6IG1fdGFrZXNTbG93UGF0aChmYWxzZSkKKyAgICAgICAgICAgICwgbV9iYWRGdW5j
dGlvbihmYWxzZSkKKyAgICAgICAgeworICAgICAgICB9CisgICAgICAgIAorICAgICAgICBib29s
IG1fdGFrZXNTbG93UGF0aDsKKyAgICAgICAgYm9vbCBtX2JhZEZ1bmN0aW9uOworICAgIH07Cisg
ICAgc3RhdGljIEV4aXRTaXRlRGF0YSBjb21wdXRlRXhpdFNpdGVEYXRhKGNvbnN0IENvbmN1cnJl
bnRKSVRMb2NrZXImLCBDb2RlQmxvY2sqLCB1bnNpZ25lZCBieXRlY29kZUluZGV4LCBFeGl0aW5n
SklUVHlwZSA9IEV4aXRGcm9tQW55dGhpbmcpOworICAgIAogI2lmIEVOQUJMRShKSVQpCiAgICAg
Ly8gQ29tcHV0ZXMgdGhlIHN0YXR1cyBhc3N1bWluZyB0aGF0IHdlIG5ldmVyIHRvb2sgc2xvdyBw
YXRoIGFuZCBuZXZlciBwcmV2aW91c2x5CiAgICAgLy8gZXhpdGVkLgogICAgIHN0YXRpYyBDYWxs
TGlua1N0YXR1cyBjb21wdXRlRm9yKGNvbnN0IENvbmN1cnJlbnRKSVRMb2NrZXImLCBDYWxsTGlu
a0luZm8mKTsKKyAgICBzdGF0aWMgQ2FsbExpbmtTdGF0dXMgY29tcHV0ZUZvcihjb25zdCBDb25j
dXJyZW50SklUTG9ja2VyJiwgQ2FsbExpbmtJbmZvJiwgRXhpdFNpdGVEYXRhKTsKICNlbmRpZgog
ICAgIAogICAgIHR5cGVkZWYgSGFzaE1hcDxDb2RlT3JpZ2luLCBDYWxsTGlua1N0YXR1cywgQ29k
ZU9yaWdpbkFwcHJveGltYXRlSGFzaD4gQ29udGV4dE1hcDsK
</data>
<flag name="review"
          id="256100"
          type_id="1"
          status="+"
          setter="andersca"
    />
          </attachment>
      

    </bug>

</bugzilla>