<?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>160749</bug_id>
          
          <creation_ts>2016-08-10 14:31:56 -0700</creation_ts>
          <short_desc>Baseline GetByVal and PutByVal for cache ID stubs need to handle exceptions</short_desc>
          <delta_ts>2016-08-10 16:46:33 -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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Michael Saboff">msaboff</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>saam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1219137</commentid>
    <comment_count>0</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-08-10 14:31:56 -0700</bug_when>
    <thetext>Both emitGetByValWithCachedId() and emitPutByValWithCachedId() make slow path calls via callOperation().  There are exception checks after the calls in callOperation() and those exception checks need to be linked to the exception handler code for the function that emits the stubs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1219138</commentid>
    <comment_count>1</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-08-10 14:32:35 -0700</bug_when>
    <thetext>&lt;rdar://problem/27598428&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1219173</commentid>
    <comment_count>2</comment_count>
      <attachid>285775</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-08-10 15:40:34 -0700</bug_when>
    <thetext>Created attachment 285775
Patch

I tested this patch on Mac X86-64, Mac X86, iOS ARM and ARM64 using the added test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1219192</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2016-08-10 16:46:33 -0700</bug_when>
    <thetext>Committed r204362: &lt;http://trac.webkit.org/changeset/204362&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>285775</attachid>
            <date>2016-08-10 15:40:34 -0700</date>
            <delta_ts>2016-08-10 15:42:28 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>160749.patch</filename>
            <type>text/plain</type>
            <size>13448</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMDQzNTcpCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDIyIEBACisyMDE2LTA4LTEwICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBw
bGUuY29tPgorCisgICAgICAgIEJhc2VsaW5lIEdldEJ5VmFsIGFuZCBQdXRCeVZhbCBmb3IgY2Fj
aGUgSUQgc3R1YnMgbmVlZCB0byBoYW5kbGUgZXhjZXB0aW9ucworICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTYwNzQ5CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTmV3IHRlc3QgdGhhdCBjYXVzZXMgYmFzZWxp
bmUgR2V0QnlWYWxXaXRoQ2FjaGVkSWQgYW5kIFB1dEJ5VmFsV2l0aENhY2hlZElkCisgICAgICAg
IHN0dWJzIHRvIGJlIGdlbmVyYXRlZCBhbmQgdGhlbiB0aHJvd3MgZXhjZXB0aW9ucyBmb3IgdGhv
c2Ugc3R1YiB0byBoYW5kbGUKKyAgICAgICAgdG8gdmVyaWZ5IHRoYXQgdGhleSBhcmUgcHJvcGVy
bHkgaGFuZGxlZC4KKworICAgICAgICAqIHN0cmVzcy9yZWdyZXNzLTE2MDc0OS5qczogQWRkZWQu
CisgICAgICAgICh0ZXN0Q2FjaGVkR2V0QnlWYWwuKToKKyAgICAgICAgKHRlc3RDYWNoZWRHZXRC
eVZhbC5nZXQgZm9yKToKKyAgICAgICAgKHRlc3RDYWNoZWRHZXRCeVZhbCk6CisgICAgICAgICh0
ZXN0Q2FjaGVkUHV0QnlWYWwuKToKKyAgICAgICAgKHRlc3RDYWNoZWRQdXRCeVZhbC5zZXQgZm9y
KToKKyAgICAgICAgKHRlc3RDYWNoZWRQdXRCeVZhbCk6CisKIDIwMTYtMDgtMDkgIFNhYW0gQmFy
YXRpICA8c2JhcmF0aUBhcHBsZS5jb20+CiAKICAgICAgICAgSlNCb3VuZEZ1bmN0aW9uIHNob3Vs
ZCBsYXppbHkgZ2VuZXJhdGUgaXRzIG5hbWUgc3RyaW5nCkluZGV4OiBKU1Rlc3RzL3N0cmVzcy9y
ZWdyZXNzLTE2MDc0OS5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9yZWdyZXNzLTE2
MDc0OS5qcwkobm9uZXhpc3RlbnQpCisrKyBKU1Rlc3RzL3N0cmVzcy9yZWdyZXNzLTE2MDc0OS5q
cwkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDkxIEBACisvLyBSZWdyZXNzaW9uIHRlc3QgZm9y
IDE2MDc0OS4gIFRoaXMgdGVzdCBzaG91bGQgbm90IGV4aXQgd2l0aCBhbiBlcnJvciBvciBjcmFz
aC4KKy8vIENoZWNrIHRoYXQgdGhlIEJhc2VsaW5lIEpJVCBHZXRCeVZhbFdpdGhDYWNoZUlkIGFu
ZCBQdXRCeVZhbFdpdGhDYWhjZWRJZCBzdHVicyBwcm9wZXJseSBoYW5kbGUgZXhjZXB0aW9ucy4K
KworZnVuY3Rpb24gdGVzdENhY2hlZEdldEJ5VmFsKCkKK3sKKyAgICBvID0geyB9OworICAgIG9b
J2EnXSA9IDQyOworCisgICAgbGV0IHJlc3VsdCA9IDA7CisgICAgbGV0IGxvb3BDb3VudCA9IDEw
MDAwMDsKKyAgICBsZXQgaW50ZXJhdGlvblRvQ2hhbmdlID0gOTAwMDA7CisgICAgbGV0IGV4cGVj
dGVkUmVzdWx0ID0gNDIgKiBpbnRlcmF0aW9uVG9DaGFuZ2U7CisgICAgbGV0IGV4Y2VwdGlvbnMg
PSAwOworICAgIGxldCBleHBlY3RlZEV4Y2VwdGlvbnMgPSBsb29wQ291bnQgLSBpbnRlcmF0aW9u
VG9DaGFuZ2U7CisKKyAgICBmb3IgKGxldCBpID0gMDsgaSA8IGxvb3BDb3VudDsgaSsrKSB7Cisg
ICAgICAgIGlmIChpID09IGludGVyYXRpb25Ub0NoYW5nZSkgeworICAgICAgICAgICAgT2JqZWN0
LmRlZmluZVByb3BlcnR5KG8sICJhIiwgeworICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRy
dWUsCisgICAgICAgICAgICAgICAgZ2V0OiBmdW5jdGlvbigpIHsgdGhyb3cgImVycm9yIjsgcmV0
dXJuIDEwMDsgfQorICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKworICAgICAgICBmb3IgKGxl
dCB2IGluIG8pIHsKKyAgICAgICAgICAgIHRyeSB7CisgICAgICAgICAgICAgICAgcmVzdWx0ICs9
IG9bdi50b1N0cmluZygpXTsKKyAgICAgICAgICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgICAg
ICAgIGlmIChlID09ICJlcnJvciIpCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbnMrKzsK
KyAgICAgICAgICAgICAgICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHRocm93ICJHb3Qgd3Jv
bmcgZXhjZXB0aW9uIFwiIiArIGUgKyAiXCIiOworICAgICAgICAgICAgfQorICAgICAgICB9Cisg
ICAgfQorCisgICAgaWYgKHJlc3VsdCAhPSBleHBlY3RlZFJlc3VsdCkKKyAgICAgICAgdGhyb3cg
IkV4cGVjdGVkIGEgcmVzdWx0IG9mICIgKyBleHBlY3RlZFJlc3VsdCArICIsIGJ1dCBnb3QgIiAr
IHJlc3VsdDsKKyAgICBpZiAoZXhjZXB0aW9ucyAhPSBleHBlY3RlZEV4Y2VwdGlvbnMpCisgICAg
ICAgIHRocm93ICIxIEV4cGVjdGVkICIgKyBleHBlY3RlZEV4Y2VwdGlvbnMgKyAiIGV4Y2VwdGlv
bnMsIGJ1dCBnb3QgIiArIGV4Y2VwdGlvbnM7Cit9CisKK25vREZHKHRlc3RDYWNoZWRHZXRCeVZh
bCk7CisKK2Z1bmN0aW9uIHRlc3RDYWNoZWRQdXRCeVZhbCgpCit7CisgICAgbyA9IHsgfTsKKyAg
ICBvWydhJ10gPSAwOworCisgICAgbGV0IHJlc3VsdCA9IDA7CisgICAgbGV0IGxvb3BDb3VudCA9
IDEwMDAwMDsKKyAgICBsZXQgaXRlcmF0aW9uVG9DaGFuZ2UgPSA5MDAwMDsKKyAgICBsZXQgZXhj
ZXB0aW9ucyA9IDA7CisgICAgbGV0IGV4cGVjdGVkRXhjZXB0aW9ucyA9IGxvb3BDb3VudCAtIGl0
ZXJhdGlvblRvQ2hhbmdlOworCisgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBsb29wQ291bnQ7IGkr
KykgeworICAgICAgICBpZiAoaSA9PSBpdGVyYXRpb25Ub0NoYW5nZSkgeworICAgICAgICAgICAg
cmVzdWx0ID0gby5hOworICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG8sICJfYSIs
IHsKKyAgICAgICAgICAgICAgICBlbnVtZXJhYmxlOiBmYWxzZSwKKyAgICAgICAgICAgICAgICB2
YWx1ZTogLTEKKyAgICAgICAgICAgIH0pOworICAgICAgICAgICAgT2JqZWN0LmRlZmluZVByb3Bl
cnR5KG8sICJhIiwgeworICAgICAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsCisgICAgICAg
ICAgICAgICAgc2V0OiBmdW5jdGlvbih2KSB7IHRocm93ICJlcnJvciI7IG8uX2EgPSB2OyB9Cisg
ICAgICAgICAgICB9KTsKKyAgICAgICAgfQorCisgICAgICAgIGZvciAobGV0IHYgaW4gbykgewor
ICAgICAgICAgICAgdHJ5IHsKKyAgICAgICAgICAgICAgICBvW3YudG9TdHJpbmcoKV0gPSBpICsg
MTsKKyAgICAgICAgICAgIH0gY2F0Y2goZSkgeworICAgICAgICAgICAgICAgIGlmIChlID09ICJl
cnJvciIpCisgICAgICAgICAgICAgICAgICAgIGV4Y2VwdGlvbnMrKzsKKyAgICAgICAgICAgICAg
ICBlbHNlCisgICAgICAgICAgICAgICAgICAgIHRocm93ICJHb3Qgd3JvbmcgZXhjZXB0aW9uIFwi
IiArIGUgKyAiXCIiOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQorCisgICAgaWYg
KHJlc3VsdCAhPSBpdGVyYXRpb25Ub0NoYW5nZSkKKyAgICAgICAgdGhyb3cgIkV4cGVjdGVkIGEg
cmVzdWx0IG9mICIgKyByZXN1bHQgKyAiLCBidXQgZ290ICIgKyBvLmE7CisgICAgaWYgKG8uX2Eg
IT0gLTEpCisgICAgICAgIHRocm93ICJFeHBlY3RlZCBvLl9iIHRvIC0xLCBidXQgaXQgaXMgIiAr
IG8uX2E7CisgICAgaWYgKGV4Y2VwdGlvbnMgIT0gZXhwZWN0ZWRFeGNlcHRpb25zKQorICAgICAg
ICB0aHJvdyAiRXhwZWN0ZWQgIiArIGV4cGVjdGVkRXhjZXB0aW9ucyArICIgZXhjZXB0aW9ucywg
YnV0IGdvdCAiICsgZXhjZXB0aW9uczsKK30KKworbm9ERkcodGVzdENhY2hlZFB1dEJ5VmFsKTsK
KwordGVzdENhY2hlZEdldEJ5VmFsKCk7Cit0ZXN0Q2FjaGVkUHV0QnlWYWwoKTsKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA0MjA0KQorKysgU291cmNlL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQwIEBACisyMDE2LTA4
LTEwICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAgICAgIEJhc2Vs
aW5lIEdldEJ5VmFsIGFuZCBQdXRCeVZhbCBmb3IgY2FjaGUgSUQgc3R1YnMgbmVlZCB0byBoYW5k
bGUgZXhjZXB0aW9ucworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTYwNzQ5CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgV2Ugd2VyZSBlbWl0dGluZyAiY2FsbE9wZXJhdGlvbigpIiBjYWxscyBpbiBlbWl0R2V0
QnlWYWxXaXRoQ2FjaGVkSWQoKSBhbmQKKyAgICAgICAgZW1pdFB1dEJ5VmFsV2l0aENhY2hlZElk
KCkgd2l0aG91dCBsaW5raW5nIHRoZSBleGNlcHRpb24gY2hlY2tzIGNyZWF0ZWQgYnkgdGhlCisg
ICAgICAgIGNvZGUgZW1pdHRlZC4gIFRoaXMgbWFuaWZlc3RlZCBpdHNlbGYgaW4gdmFyaW91cyB3
YXlzIGRlcGVuZGluZyBvbiB0aGUgcHJvY2Vzc29yLgorICAgICAgICBUaGlzIGlzIGR1ZSB0byB3
aGF0IHRoZSBkZXN0aW5hdGlvbiBpcyBmb3IgYW4gdW5saW5rZWQgYnJhbmNoLiAgT24gWDg2LCBh
biB1bmxpbmtlZAorICAgICAgICBicmFuY2ggZ29lcyB0b3QgaGUgbmV4dCBpbnN0cnVjdGlvbnMu
ICBPbiBBUk02NCwgd2UgZW5kIHVwIHdpdGggYW4gaW5maW5pdGUgbG9vcAorICAgICAgICBhcyB3
ZSBicmFuY2ggdG8gdGhlIHNhbWUgaW5zdHJ1Y3Rpb24uICBPbiBBUk0gd2UgYnJhbmNoIHRvIDAg
YXMgdGhlIGJyYW5jaCBpcyB0bworICAgICAgICBhbiBhYnNvbHV0ZSBhZGRyZXNzIG9mIDAuCisK
KyAgICAgICAgTm93IHdlIHNhdmUgdGhlIGV4Y2VwdGlvbiBoYW5kbGVyIGFkZHJlc3MgZm9yIHRo
ZSBvcmlnaW5hbCBnZW5lcmF0ZWQgZnVuY3Rpb24gYW5kCisgICAgICAgIGxpbmsgdGhlIGV4Y2Vw
dGlvbiBjYXNlcyBmb3IgdGhlc2UgYnktdmFsIHN0dWJzIHRvIHRoaXMgaGFuZGxlci4KKworICAg
ICAgICAqIGJ5dGVjb2RlL0J5VmFsSW5mby5oOgorICAgICAgICAoSlNDOjpCeVZhbEluZm86OkJ5
VmFsSW5mbyk6IEFkZGVkIHRoZSBhZGRyZXNzIG9mIHRoZSBleGNlcHRpb24gaGFuZGxlciB3ZSBz
aG91bGQKKyAgICAgICAgbGluayB0by4KKworICAgICAgICAqIGppdC9KSVQuY3BwOgorICAgICAg
ICAoSlNDOjpKSVQ6OmxpbmspOiBDb21wdXRlIHRoZSBsaW5rZWQgZXhjZXB0aW9uIGhhbmRsZXIg
YWRkcmVzcyBhbmQgcGFzcyBpdCB0bworICAgICAgICB0aGUgQnlWYWxJbmZvIGNvbnN0cnVjdG9y
LgorICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlRXhjZXB0aW9uSGFuZGxlcnMpOiBN
YWtlIHN1cmUgdGhhdCB3ZSBnZW5lcmF0ZSB0aGUKKyAgICAgICAgZXhjZXB0aW9uIGhhbmRsZXIg
aWYgd2UgaGF2ZSBhbnkgYnktdmFsIGhhbmRsZXJzLgorCisgICAgICAgICogaml0L0pJVC5oOgor
ICAgICAgICBBZGRlZCBhIGxhYmVsIGZvciB0aGUgZXhjZXB0aW9uIGhhbmRsZXIuICBXZSdsbCBs
aW5rIHRoaXMgbGF0ZXIgZm9yIHRoZQorICAgICAgICBieSB2YWx1ZSBoYW5kbGVycy4KKworICAg
ICAgICAqIGppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHA6CisgICAgICAgIChKU0M6OkpJVDo6cHJp
dmF0ZUNvbXBpbGVHZXRCeVZhbFdpdGhDYWNoZWRJZCk6CisgICAgICAgIChKU0M6OkpJVDo6cHJp
dmF0ZUNvbXBpbGVQdXRCeVZhbFdpdGhDYWNoZWRJZCk6CisgICAgICAgIExpbmsgZXhjZXB0aW9u
IGJyYW5jaGVzIHRvIHRoZSBleGNlcHRpb24gaGFuZGxlciBmb3IgdGhlIG1haW4gZnVuY3Rpb24u
CisKIDIwMTYtMDgtMDUgIE1pY2hhZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAg
ICAgICAgY29tcGlsZVB1dEJ5VmFsRm9ySW50VHlwZWRBcnJheSgpIGhhcyBhIHNsb3cgcGF0aCBp
biB0aGUgbWlkZGxlIG9mIGl0cyBwcm9jZXNzaW5nCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvYnl0ZWNvZGUvQnlWYWxJbmZvLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2J5dGVjb2RlL0J5VmFsSW5mby5oCShyZXZpc2lvbiAyMDQyMDQpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQnlWYWxJbmZvLmgJKHdvcmtpbmcgY29weSkKQEAgLTIwNywx
MCArMjA3LDExIEBAIGlubGluZSBKSVRBcnJheU1vZGUgaml0QXJyYXlNb2RlRm9yU3RydWMKIHN0
cnVjdCBCeVZhbEluZm8gewogICAgIEJ5VmFsSW5mbygpIHsgfQogCi0gICAgQnlWYWxJbmZvKHVu
c2lnbmVkIGJ5dGVjb2RlSW5kZXgsIENvZGVMb2NhdGlvbkp1bXAgbm90SW5kZXhKdW1wLCBDb2Rl
TG9jYXRpb25KdW1wIGJhZFR5cGVKdW1wLCBKSVRBcnJheU1vZGUgYXJyYXlNb2RlLCBBcnJheVBy
b2ZpbGUqIGFycmF5UHJvZmlsZSwgaW50MTZfdCBiYWRUeXBlSnVtcFRvRG9uZSwgaW50MTZfdCBi
YWRUeXBlSnVtcFRvTmV4dEhvdFBhdGgsIGludDE2X3QgcmV0dXJuQWRkcmVzc1RvU2xvd1BhdGgp
CisgICAgQnlWYWxJbmZvKHVuc2lnbmVkIGJ5dGVjb2RlSW5kZXgsIENvZGVMb2NhdGlvbkp1bXAg
bm90SW5kZXhKdW1wLCBDb2RlTG9jYXRpb25KdW1wIGJhZFR5cGVKdW1wLCBDb2RlTG9jYXRpb25M
YWJlbCBleGNlcHRpb25IYW5kbGVyLCBKSVRBcnJheU1vZGUgYXJyYXlNb2RlLCBBcnJheVByb2Zp
bGUqIGFycmF5UHJvZmlsZSwgaW50MTZfdCBiYWRUeXBlSnVtcFRvRG9uZSwgaW50MTZfdCBiYWRU
eXBlSnVtcFRvTmV4dEhvdFBhdGgsIGludDE2X3QgcmV0dXJuQWRkcmVzc1RvU2xvd1BhdGgpCiAg
ICAgICAgIDogYnl0ZWNvZGVJbmRleChieXRlY29kZUluZGV4KQogICAgICAgICAsIG5vdEluZGV4
SnVtcChub3RJbmRleEp1bXApCiAgICAgICAgICwgYmFkVHlwZUp1bXAoYmFkVHlwZUp1bXApCisg
ICAgICAgICwgZXhjZXB0aW9uSGFuZGxlcihleGNlcHRpb25IYW5kbGVyKQogICAgICAgICAsIGFy
cmF5TW9kZShhcnJheU1vZGUpCiAgICAgICAgICwgYXJyYXlQcm9maWxlKGFycmF5UHJvZmlsZSkK
ICAgICAgICAgLCBiYWRUeXBlSnVtcFRvRG9uZShiYWRUeXBlSnVtcFRvRG9uZSkKQEAgLTIyNiw2
ICsyMjcsNyBAQCBzdHJ1Y3QgQnlWYWxJbmZvIHsKICAgICB1bnNpZ25lZCBieXRlY29kZUluZGV4
OwogICAgIENvZGVMb2NhdGlvbkp1bXAgbm90SW5kZXhKdW1wOwogICAgIENvZGVMb2NhdGlvbkp1
bXAgYmFkVHlwZUp1bXA7CisgICAgQ29kZUxvY2F0aW9uTGFiZWwgZXhjZXB0aW9uSGFuZGxlcjsK
ICAgICBKSVRBcnJheU1vZGUgYXJyYXlNb2RlOyAvLyBUaGUgYXJyYXkgbW9kZSB0aGF0IHdhcyBi
YWtlZCBpbnRvIHRoZSBpbmxpbmUgSklUIGNvZGUuCiAgICAgQXJyYXlQcm9maWxlKiBhcnJheVBy
b2ZpbGU7CiAgICAgaW50MTZfdCBiYWRUeXBlSnVtcFRvRG9uZTsKSW5kZXg6IFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9qaXQvSklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5jcHAJKHJldmlzaW9uIDIwNDIwNCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9qaXQvSklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtNzI1LDI3ICs3MjUsMzMgQEAgQ29tcGls
YXRpb25SZXN1bHQgSklUOjpsaW5rKCkKICAgICBmb3IgKHVuc2lnbmVkIGkgPSBtX3B1dEJ5SWRz
LnNpemUoKTsgaS0tOykKICAgICAgICAgbV9wdXRCeUlkc1tpXS5maW5hbGl6ZShwYXRjaEJ1ZmZl
cik7CiAKLSAgICBmb3IgKGNvbnN0IGF1dG8mIGJ5VmFsQ29tcGlsYXRpb25JbmZvIDogbV9ieVZh
bENvbXBpbGF0aW9uSW5mbykgewotICAgICAgICBQYXRjaGFibGVKdW1wIHBhdGNoYWJsZU5vdElu
ZGV4SnVtcCA9IGJ5VmFsQ29tcGlsYXRpb25JbmZvLm5vdEluZGV4SnVtcDsKLSAgICAgICAgQ29k
ZUxvY2F0aW9uSnVtcCBub3RJbmRleEp1bXAgPSBDb2RlTG9jYXRpb25KdW1wKCk7Ci0gICAgICAg
IGlmIChKdW1wKHBhdGNoYWJsZU5vdEluZGV4SnVtcCkuaXNTZXQoKSkKLSAgICAgICAgICAgIG5v
dEluZGV4SnVtcCA9IENvZGVMb2NhdGlvbkp1bXAocGF0Y2hCdWZmZXIubG9jYXRpb25PZihwYXRj
aGFibGVOb3RJbmRleEp1bXApKTsKLSAgICAgICAgQ29kZUxvY2F0aW9uSnVtcCBiYWRUeXBlSnVt
cCA9IENvZGVMb2NhdGlvbkp1bXAocGF0Y2hCdWZmZXIubG9jYXRpb25PZihieVZhbENvbXBpbGF0
aW9uSW5mby5iYWRUeXBlSnVtcCkpOwotICAgICAgICBDb2RlTG9jYXRpb25MYWJlbCBkb25lVGFy
Z2V0ID0gcGF0Y2hCdWZmZXIubG9jYXRpb25PZihieVZhbENvbXBpbGF0aW9uSW5mby5kb25lVGFy
Z2V0KTsKLSAgICAgICAgQ29kZUxvY2F0aW9uTGFiZWwgbmV4dEhvdFBhdGhUYXJnZXQgPSBwYXRj
aEJ1ZmZlci5sb2NhdGlvbk9mKGJ5VmFsQ29tcGlsYXRpb25JbmZvLm5leHRIb3RQYXRoVGFyZ2V0
KTsKLSAgICAgICAgQ29kZUxvY2F0aW9uTGFiZWwgc2xvd1BhdGhUYXJnZXQgPSBwYXRjaEJ1ZmZl
ci5sb2NhdGlvbk9mKGJ5VmFsQ29tcGlsYXRpb25JbmZvLnNsb3dQYXRoVGFyZ2V0KTsKLSAgICAg
ICAgQ29kZUxvY2F0aW9uQ2FsbCByZXR1cm5BZGRyZXNzID0gcGF0Y2hCdWZmZXIubG9jYXRpb25P
ZihieVZhbENvbXBpbGF0aW9uSW5mby5yZXR1cm5BZGRyZXNzKTsKLQotICAgICAgICAqYnlWYWxD
b21waWxhdGlvbkluZm8uYnlWYWxJbmZvID0gQnlWYWxJbmZvKAotICAgICAgICAgICAgYnlWYWxD
b21waWxhdGlvbkluZm8uYnl0ZWNvZGVJbmRleCwKLSAgICAgICAgICAgIG5vdEluZGV4SnVtcCwK
LSAgICAgICAgICAgIGJhZFR5cGVKdW1wLAotICAgICAgICAgICAgYnlWYWxDb21waWxhdGlvbklu
Zm8uYXJyYXlNb2RlLAotICAgICAgICAgICAgYnlWYWxDb21waWxhdGlvbkluZm8uYXJyYXlQcm9m
aWxlLAotICAgICAgICAgICAgZGlmZmVyZW5jZUJldHdlZW5Db2RlUHRyKGJhZFR5cGVKdW1wLCBk
b25lVGFyZ2V0KSwKLSAgICAgICAgICAgIGRpZmZlcmVuY2VCZXR3ZWVuQ29kZVB0cihiYWRUeXBl
SnVtcCwgbmV4dEhvdFBhdGhUYXJnZXQpLAotICAgICAgICAgICAgZGlmZmVyZW5jZUJldHdlZW5D
b2RlUHRyKHJldHVybkFkZHJlc3MsIHNsb3dQYXRoVGFyZ2V0KSk7CisgICAgaWYgKG1fYnlWYWxD
b21waWxhdGlvbkluZm8uc2l6ZSgpKSB7CisgICAgICAgIENvZGVMb2NhdGlvbkxhYmVsIGV4Y2Vw
dGlvbkhhbmRsZXIgPSBwYXRjaEJ1ZmZlci5sb2NhdGlvbk9mKG1fZXhjZXB0aW9uSGFuZGxlcik7
CisKKyAgICAgICAgZm9yIChjb25zdCBhdXRvJiBieVZhbENvbXBpbGF0aW9uSW5mbyA6IG1fYnlW
YWxDb21waWxhdGlvbkluZm8pIHsKKyAgICAgICAgICAgIFBhdGNoYWJsZUp1bXAgcGF0Y2hhYmxl
Tm90SW5kZXhKdW1wID0gYnlWYWxDb21waWxhdGlvbkluZm8ubm90SW5kZXhKdW1wOworICAgICAg
ICAgICAgQ29kZUxvY2F0aW9uSnVtcCBub3RJbmRleEp1bXAgPSBDb2RlTG9jYXRpb25KdW1wKCk7
CisgICAgICAgICAgICBpZiAoSnVtcChwYXRjaGFibGVOb3RJbmRleEp1bXApLmlzU2V0KCkpCisg
ICAgICAgICAgICAgICAgbm90SW5kZXhKdW1wID0gQ29kZUxvY2F0aW9uSnVtcChwYXRjaEJ1ZmZl
ci5sb2NhdGlvbk9mKHBhdGNoYWJsZU5vdEluZGV4SnVtcCkpOworICAgICAgICAgICAgQ29kZUxv
Y2F0aW9uSnVtcCBiYWRUeXBlSnVtcCA9IENvZGVMb2NhdGlvbkp1bXAocGF0Y2hCdWZmZXIubG9j
YXRpb25PZihieVZhbENvbXBpbGF0aW9uSW5mby5iYWRUeXBlSnVtcCkpOworICAgICAgICAgICAg
Q29kZUxvY2F0aW9uTGFiZWwgZG9uZVRhcmdldCA9IHBhdGNoQnVmZmVyLmxvY2F0aW9uT2YoYnlW
YWxDb21waWxhdGlvbkluZm8uZG9uZVRhcmdldCk7CisgICAgICAgICAgICBDb2RlTG9jYXRpb25M
YWJlbCBuZXh0SG90UGF0aFRhcmdldCA9IHBhdGNoQnVmZmVyLmxvY2F0aW9uT2YoYnlWYWxDb21w
aWxhdGlvbkluZm8ubmV4dEhvdFBhdGhUYXJnZXQpOworICAgICAgICAgICAgQ29kZUxvY2F0aW9u
TGFiZWwgc2xvd1BhdGhUYXJnZXQgPSBwYXRjaEJ1ZmZlci5sb2NhdGlvbk9mKGJ5VmFsQ29tcGls
YXRpb25JbmZvLnNsb3dQYXRoVGFyZ2V0KTsKKyAgICAgICAgICAgIENvZGVMb2NhdGlvbkNhbGwg
cmV0dXJuQWRkcmVzcyA9IHBhdGNoQnVmZmVyLmxvY2F0aW9uT2YoYnlWYWxDb21waWxhdGlvbklu
Zm8ucmV0dXJuQWRkcmVzcyk7CisKKyAgICAgICAgICAgICpieVZhbENvbXBpbGF0aW9uSW5mby5i
eVZhbEluZm8gPSBCeVZhbEluZm8oCisgICAgICAgICAgICAgICAgYnlWYWxDb21waWxhdGlvbklu
Zm8uYnl0ZWNvZGVJbmRleCwKKyAgICAgICAgICAgICAgICBub3RJbmRleEp1bXAsCisgICAgICAg
ICAgICAgICAgYmFkVHlwZUp1bXAsCisgICAgICAgICAgICAgICAgZXhjZXB0aW9uSGFuZGxlciwK
KyAgICAgICAgICAgICAgICBieVZhbENvbXBpbGF0aW9uSW5mby5hcnJheU1vZGUsCisgICAgICAg
ICAgICAgICAgYnlWYWxDb21waWxhdGlvbkluZm8uYXJyYXlQcm9maWxlLAorICAgICAgICAgICAg
ICAgIGRpZmZlcmVuY2VCZXR3ZWVuQ29kZVB0cihiYWRUeXBlSnVtcCwgZG9uZVRhcmdldCksCisg
ICAgICAgICAgICAgICAgZGlmZmVyZW5jZUJldHdlZW5Db2RlUHRyKGJhZFR5cGVKdW1wLCBuZXh0
SG90UGF0aFRhcmdldCksCisgICAgICAgICAgICAgICAgZGlmZmVyZW5jZUJldHdlZW5Db2RlUHRy
KHJldHVybkFkZHJlc3MsIHNsb3dQYXRoVGFyZ2V0KSk7CisgICAgICAgIH0KICAgICB9CisKICAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jYWxsQ29tcGlsYXRpb25JbmZvLnNpemUoKTsg
KytpKSB7CiAgICAgICAgIENhbGxDb21waWxhdGlvbkluZm8mIGNvbXBpbGF0aW9uSW5mbyA9IG1f
Y2FsbENvbXBpbGF0aW9uSW5mb1tpXTsKICAgICAgICAgQ2FsbExpbmtJbmZvJiBpbmZvID0gKmNv
bXBpbGF0aW9uSW5mby5jYWxsTGlua0luZm87CkBAIC04MjUsNyArODMxLDggQEAgdm9pZCBKSVQ6
OnByaXZhdGVDb21waWxlRXhjZXB0aW9uSGFuZGxlcgogICAgICAgICBqdW1wVG9FeGNlcHRpb25I
YW5kbGVyKCk7CiAgICAgfQogCi0gICAgaWYgKCFtX2V4Y2VwdGlvbkNoZWNrcy5lbXB0eSgpKSB7
CisgICAgaWYgKCFtX2V4Y2VwdGlvbkNoZWNrcy5lbXB0eSgpIHx8IG1fYnlWYWxDb21waWxhdGlv
bkluZm8uc2l6ZSgpKSB7CisgICAgICAgIG1fZXhjZXB0aW9uSGFuZGxlciA9IGxhYmVsKCk7CiAg
ICAgICAgIG1fZXhjZXB0aW9uQ2hlY2tzLmxpbmsodGhpcyk7CiAKICAgICAgICAgY29weUNhbGxl
ZVNhdmVzVG9WTUVudHJ5RnJhbWVDYWxsZWVTYXZlc0J1ZmZlcigpOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvaml0L0pJVC5oCShyZXZpc2lvbiAyMDQyMDQpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
aml0L0pJVC5oCSh3b3JraW5nIGNvcHkpCkBAIC05NDMsNiArOTQzLDcgQEAgbmFtZXNwYWNlIEpT
QyB7CiAKICAgICAgICAgSnVtcExpc3QgbV9leGNlcHRpb25DaGVja3M7CiAgICAgICAgIEp1bXBM
aXN0IG1fZXhjZXB0aW9uQ2hlY2tzV2l0aENhbGxGcmFtZVJvbGxiYWNrOworICAgICAgICBMYWJl
bCBtX2V4Y2VwdGlvbkhhbmRsZXI7CiAKICAgICAgICAgdW5zaWduZWQgbV9nZXRCeUlkSW5kZXg7
CiAgICAgICAgIHVuc2lnbmVkIG1fcHV0QnlJZEluZGV4OwpJbmRleDogU291cmNlL0phdmFTY3Jp
cHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0ph
dmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2Vzcy5jcHAJKHJldmlzaW9uIDIwNDIwNCkK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xMzMxLDYgKzEzMzEsOCBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVH
ZXRCeVZhbFdpdGhDYWNoCiAgICAgcGF0Y2hCdWZmZXIubGluayhzbG93Q2FzZXMsIENvZGVMb2Nh
dGlvbkxhYmVsKE1hY3JvQXNzZW1ibGVyQ29kZVB0cjo6Y3JlYXRlRnJvbUV4ZWN1dGFibGVBZGRy
ZXNzKHJldHVybkFkZHJlc3MudmFsdWUoKSkpLmxhYmVsQXRPZmZzZXQoYnlWYWxJbmZvLT5yZXR1
cm5BZGRyZXNzVG9TbG93UGF0aCkpOwogICAgIHBhdGNoQnVmZmVyLmxpbmsoZmFzdERvbmVDYXNl
LCBieVZhbEluZm8tPmJhZFR5cGVKdW1wLmxhYmVsQXRPZmZzZXQoYnlWYWxJbmZvLT5iYWRUeXBl
SnVtcFRvRG9uZSkpOwogICAgIHBhdGNoQnVmZmVyLmxpbmsoc2xvd0RvbmVDYXNlLCBieVZhbElu
Zm8tPmJhZFR5cGVKdW1wLmxhYmVsQXRPZmZzZXQoYnlWYWxJbmZvLT5iYWRUeXBlSnVtcFRvTmV4
dEhvdFBhdGgpKTsKKyAgICBpZiAoIW1fZXhjZXB0aW9uQ2hlY2tzLmVtcHR5KCkpCisgICAgICAg
IHBhdGNoQnVmZmVyLmxpbmsobV9leGNlcHRpb25DaGVja3MsIGJ5VmFsSW5mby0+ZXhjZXB0aW9u
SGFuZGxlcik7CiAKICAgICBmb3IgKGNvbnN0IGF1dG8mIGNhbGxTaXRlIDogbV9jYWxscykgewog
ICAgICAgICBpZiAoY2FsbFNpdGUudG8pCkBAIC0xNDE5LDYgKzE0MjEsOSBAQCB2b2lkIEpJVDo6
cHJpdmF0ZUNvbXBpbGVQdXRCeVZhbFdpdGhDYWNoCiAgICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZl
cigqbV92bSwgKnRoaXMsIG1fY29kZUJsb2NrKTsKICAgICBwYXRjaEJ1ZmZlci5saW5rKHNsb3dD
YXNlcywgQ29kZUxvY2F0aW9uTGFiZWwoTWFjcm9Bc3NlbWJsZXJDb2RlUHRyOjpjcmVhdGVGcm9t
RXhlY3V0YWJsZUFkZHJlc3MocmV0dXJuQWRkcmVzcy52YWx1ZSgpKSkubGFiZWxBdE9mZnNldChi
eVZhbEluZm8tPnJldHVybkFkZHJlc3NUb1Nsb3dQYXRoKSk7CiAgICAgcGF0Y2hCdWZmZXIubGlu
ayhkb25lQ2FzZXMsIGJ5VmFsSW5mby0+YmFkVHlwZUp1bXAubGFiZWxBdE9mZnNldChieVZhbElu
Zm8tPmJhZFR5cGVKdW1wVG9Eb25lKSk7CisgICAgaWYgKCFtX2V4Y2VwdGlvbkNoZWNrcy5lbXB0
eSgpKQorICAgICAgICBwYXRjaEJ1ZmZlci5saW5rKG1fZXhjZXB0aW9uQ2hlY2tzLCBieVZhbElu
Zm8tPmV4Y2VwdGlvbkhhbmRsZXIpOworCiAgICAgZm9yIChjb25zdCBhdXRvJiBjYWxsU2l0ZSA6
IG1fY2FsbHMpIHsKICAgICAgICAgaWYgKGNhbGxTaXRlLnRvKQogICAgICAgICAgICAgcGF0Y2hC
dWZmZXIubGluayhjYWxsU2l0ZS5mcm9tLCBGdW5jdGlvblB0cihjYWxsU2l0ZS50bykpOwo=
</data>
<flag name="review"
          id="309379"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
      

    </bug>

</bugzilla>