<?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>123056</bug_id>
          
          <creation_ts>2013-10-18 22:42:42 -0700</creation_ts>
          <short_desc>DFG dominators: document and rename stuff.</short_desc>
          <delta_ts>2013-10-19 13:10:00 -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>528+ (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>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Nadav Rotem">nrotem</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>941455</commentid>
    <comment_count>0</comment_count>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-18 22:42:42 -0700</bug_when>
    <thetext>DFG dominators: Fix a bug and document.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941456</commentid>
    <comment_count>1</comment_count>
      <attachid>214637</attachid>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-18 22:44:52 -0700</bug_when>
    <thetext>Created attachment 214637
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941457</commentid>
    <comment_count>2</comment_count>
      <attachid>214637</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-18 22:49:52 -0700</bug_when>
    <thetext>Comment on attachment 214637
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGDominators.cpp:90
&gt; -        changed = false;
&gt; +        // Prune dominators in all non entry blocks: backward scan.

It looks like you&apos;re no longer setting changed = false in between the forward and backward scan.  Is that right?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941458</commentid>
    <comment_count>3</comment_count>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-18 22:55:57 -0700</bug_when>
    <thetext>No. &quot;changed = false&quot; needs to be there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941459</commentid>
    <comment_count>4</comment_count>
      <attachid>214638</attachid>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-18 22:59:21 -0700</bug_when>
    <thetext>Created attachment 214638
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941460</commentid>
    <comment_count>5</comment_count>
      <attachid>214638</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-18 23:06:21 -0700</bug_when>
    <thetext>Comment on attachment 214638
Patch

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

&gt; Source/JavaScriptCore/dfg/DFGDominators.cpp:107
&gt; +    m_scratch.clearAll();
&gt; +
&gt; +    // Find the intersection of dom(preds).
&gt;      m_scratch.set(m_results[block-&gt;predecessors[0]-&gt;index]);

I&apos;m actually not sure I understand the difference.  FastBitVector::set(const FastBitVector&amp;) is a memcpy().

Hence, the clearAll() call appears to be a no-op.

I agree with the way you restructured the code, though.  It seems that the best thing to do is to drop the clearAll() call and rename set() to something like copyFrom(), to make it clear that it&apos;s a copy rather than a bitwise &apos;|=&apos; .</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941463</commentid>
    <comment_count>6</comment_count>
      <attachid>214640</attachid>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-18 23:15:13 -0700</bug_when>
    <thetext>Created attachment 214640
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941464</commentid>
    <comment_count>7</comment_count>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-18 23:17:28 -0700</bug_when>
    <thetext>oops. I assumed that set is a |=.   Okay I will rename it in another commit.  I want to commit this change and start implementing a better scan: reverse post order.  

Do you think that we should invest time in implementing the Cooper-Harvey-Kennedy algorithm ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941518</commentid>
    <comment_count>8</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2013-10-19 10:23:49 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; oops. I assumed that set is a |=.   Okay I will rename it in another commit.  I want to commit this change and start implementing a better scan: reverse post order.  
&gt; 
&gt; Do you think that we should invest time in implementing the Cooper-Harvey-Kennedy algorithm ?

That one also gives immediate dominators, right?  I think this would be cool.  I vaguely recall encountering a few situations where having idom&apos;s would have been useful.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941537</commentid>
    <comment_count>9</comment_count>
      <attachid>214659</attachid>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-19 12:37:48 -0700</bug_when>
    <thetext>Created attachment 214659
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941538</commentid>
    <comment_count>10</comment_count>
    <who name="Nadav Rotem">nrotem</who>
    <bug_when>2013-10-19 12:38:37 -0700</bug_when>
    <thetext>In the last patch I fixed the ChangeLog description.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941547</commentid>
    <comment_count>11</comment_count>
      <attachid>214659</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-19 13:09:57 -0700</bug_when>
    <thetext>Comment on attachment 214659
Patch

Clearing flags on attachment: 214659

Committed r157675: &lt;http://trac.webkit.org/changeset/157675&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>941548</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-19 13:10:00 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214637</attachid>
            <date>2013-10-18 22:44:52 -0700</date>
            <delta_ts>2013-10-18 22:59:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123056-20131018224451.patch</filename>
            <type>text/plain</type>
            <size>4700</size>
            <attacher name="Nadav Rotem">nrotem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3NjUzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCA5
MDkzYmE3NTllMmUwMjQwYjYwOGE3ZWYzODMyNmJiYzU4NGRmZjdlLi41NGM2Zjc5YjU5NzBhOGY2
NDc5NTAyZmQyZWFmNTA5NzE1NmUzZWVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxMy0xMC0xOCAgTmFkYXYgUm90ZW0gIDxucm90ZW1AYXBwbGUuY29tPgor
CisgICAgICAgIERGRyBkb21pbmF0b3JzOiBGaXggYSBidWcgYW5kIGRvY3VtZW50LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMDU2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgZGlkIG5vdCBpbml0
aWFsaXplIHRoZSBzY3JhdGNoIHZlY3RvciBiZXR3ZWVuIGludm9jYXRpb24gb2YgYmxvY2staXRl
cmF0aW9uLgorICAgICAgICBJIGFtIG5vdCBzdXJlIGlmIHRoaXMgbGVhZHMgdG8gYSBjb3JyZWN0
bmVzcyBidWcgb3IgaWYgaXQgbWFkZSB0aGUgY29udmVyZ2FuY2Ugb2YgdGhlIGRvbWluYXRvcnMg
c2xvd2VyLgorICAgICAgICBJIGFsc28gcmVuYW1lZCBzb21lIG1ldGhvZHMgYW5kIGRvY3VtZW50
ZWQgdGhlIGFsZ29yaXRobS4KKworICAgICAgICAqIGRmZy9ERkdEb21pbmF0b3JzLmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpEb21pbmF0b3JzOjpjb21wdXRlKToKKyAgICAgICAgKEpTQzo6REZH
OjpEb21pbmF0b3JzOjpwcnVuZURvbWluYXRvcnMpOgorICAgICAgICAqIGRmZy9ERkdEb21pbmF0
b3JzLmg6CisKIDIwMTMtMTAtMTggIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZW1vdmUgc3BhY2VzIGJldHdlZW4gdGVtcGxhdGUgYW5nbGUgYnJhY2tl
dHMKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9taW5hdG9ycy5j
cHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvbWluYXRvcnMuY3BwCmluZGV4IDY5
YTZlNTBhMmU5YjdiNzM3YTU5YjI5ODQyY2MxNjdhODI4NGUyOWIuLjY1YzI0YTU5MWU2MmNiMzRk
OTlkNGUwY2ZmYjhhYmQ2YmM2MGE5ZDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRG9taW5hdG9ycy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdEb21pbmF0b3JzLmNwcApAQCAtNDgsMTYgKzQ4LDE5IEBAIHZvaWQgRG9taW5hdG9yczo6Y29t
cHV0ZShHcmFwaCYgZ3JhcGgpCiAgICAgCiAgICAgdW5zaWduZWQgbnVtQmxvY2tzID0gZ3JhcGgu
bnVtQmxvY2tzKCk7CiAgICAgCisgICAgLy8gQWxsb2NhdGUgc3RvcmFnZSBmb3IgdGhlIGRlbnNl
IGRvbWluYW5jZSBtYXRyaXguIAogICAgIGlmIChudW1CbG9ja3MgPiBtX3Jlc3VsdHMuc2l6ZSgp
KSB7CiAgICAgICAgIG1fcmVzdWx0cy5ncm93KG51bUJsb2Nrcyk7CiAgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IG51bUJsb2NrczsgaS0tOykKICAgICAgICAgICAgIG1fcmVzdWx0c1tpXS5yZXNp
emUobnVtQmxvY2tzKTsKICAgICAgICAgbV9zY3JhdGNoLnJlc2l6ZShudW1CbG9ja3MpOwogICAg
IH0KLSAgICAKKworICAgIC8vIFdlIGtub3cgdGhhdCB0aGUgZW50cnkgYmxvY2sgaXMgb25seSBk
b21pbmF0ZWQgYnkgaXRzZWxmLgogICAgIG1fcmVzdWx0c1swXS5jbGVhckFsbCgpOwogICAgIG1f
cmVzdWx0c1swXS5zZXQoMCk7Ci0gICAgCisKKyAgICAvLyBGaW5kIGFsbCBvZiB0aGUgdmFsaWQg
YmxvY2tzLgogICAgIG1fc2NyYXRjaC5jbGVhckFsbCgpOwogICAgIGZvciAodW5zaWduZWQgaSA9
IG51bUJsb2NrczsgaS0tOykgewogICAgICAgICBpZiAoIWdyYXBoLmJsb2NrKGkpKQpAQCAtNjUs
MzkgKzY4LDQ5IEBAIHZvaWQgRG9taW5hdG9yczo6Y29tcHV0ZShHcmFwaCYgZ3JhcGgpCiAgICAg
ICAgIG1fc2NyYXRjaC5zZXQoaSk7CiAgICAgfQogICAgIAorICAgIC8vIE1hcmsgYWxsIG5vZGVz
IGFzIGRvbWluYXRlZCBieSBldmVyeXRoaW5nLgogICAgIGZvciAodW5zaWduZWQgaSA9IG51bUJs
b2NrczsgaS0tID4gMTspIHsKICAgICAgICAgaWYgKCFncmFwaC5ibG9jayhpKSB8fCBncmFwaC5i
bG9jayhpKS0+cHJlZGVjZXNzb3JzLmlzRW1wdHkoKSkKICAgICAgICAgICAgIG1fcmVzdWx0c1tp
XS5jbGVhckFsbCgpOwogICAgICAgICBlbHNlCiAgICAgICAgICAgICBtX3Jlc3VsdHNbaV0uc2V0
KG1fc2NyYXRjaCk7CiAgICAgfQotICAgIAorCisgICAgLy8gSXRlcmF0aXZlbHkgZWxpbWluYXRl
IG5vZGVzIHRoYXQgYXJlIG5vdCBkb21pbmF0b3IuCiAgICAgYm9vbCBjaGFuZ2VkOwogICAgIGRv
IHsKICAgICAgICAgY2hhbmdlZCA9IGZhbHNlOworICAgICAgICAvLyBQcnVuZSBkb21pbmF0b3Jz
IGluIGFsbCBub24gZW50cnkgYmxvY2tzOiBmb3J3YXJkIHNjYW4uCiAgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDE7IGkgPCBudW1CbG9ja3M7ICsraSkKLSAgICAgICAgICAgIGNoYW5nZWQgfD0g
aXRlcmF0ZUZvckJsb2NrKGdyYXBoLCBpKTsKKyAgICAgICAgICAgIGNoYW5nZWQgfD0gcHJ1bmVE
b21pbmF0b3JzKGdyYXBoLCBpKTsKKwogICAgICAgICBpZiAoIWNoYW5nZWQpCiAgICAgICAgICAg
ICBicmVhazsKICAgICAgICAgCi0gICAgICAgIGNoYW5nZWQgPSBmYWxzZTsKKyAgICAgICAgLy8g
UHJ1bmUgZG9taW5hdG9ycyBpbiBhbGwgbm9uIGVudHJ5IGJsb2NrczogYmFja3dhcmQgc2Nhbi4K
ICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbnVtQmxvY2tzOyBpLS0gPiAxOykKLSAgICAgICAg
ICAgIGNoYW5nZWQgfD0gaXRlcmF0ZUZvckJsb2NrKGdyYXBoLCBpKTsKKyAgICAgICAgICAgIGNo
YW5nZWQgfD0gcHJ1bmVEb21pbmF0b3JzKGdyYXBoLCBpKTsKICAgICB9IHdoaWxlIChjaGFuZ2Vk
KTsKIH0KIAotYm9vbCBEb21pbmF0b3JzOjppdGVyYXRlRm9yQmxvY2soR3JhcGgmIGdyYXBoLCBC
bG9ja0luZGV4IGkpCitib29sIERvbWluYXRvcnM6OnBydW5lRG9taW5hdG9ycyhHcmFwaCYgZ3Jh
cGgsIEJsb2NrSW5kZXggaWR4KQogewotICAgIEJhc2ljQmxvY2sqIGJsb2NrID0gZ3JhcGguYmxv
Y2soaSk7Ci0gICAgaWYgKCFibG9jaykKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIGlmIChi
bG9jay0+cHJlZGVjZXNzb3JzLmlzRW1wdHkoKSkKKyAgICBCYXNpY0Jsb2NrKiBibG9jayA9IGdy
YXBoLmJsb2NrKGlkeCk7CisKKyAgICBpZiAoIWJsb2NrIHx8IGJsb2NrLT5wcmVkZWNlc3NvcnMu
aXNFbXB0eSgpKQogICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICBtX3NjcmF0Y2guY2xlYXJB
bGwoKTsKKworICAgIC8vIEZpbmQgdGhlIGludGVyc2VjdGlvbiBvZiBkb20ocHJlZHMpLgogICAg
IG1fc2NyYXRjaC5zZXQobV9yZXN1bHRzW2Jsb2NrLT5wcmVkZWNlc3NvcnNbMF0tPmluZGV4XSk7
CiAgICAgZm9yICh1bnNpZ25lZCBqID0gYmxvY2stPnByZWRlY2Vzc29ycy5zaXplKCk7IGotLSA+
IDE7KQogICAgICAgICBtX3NjcmF0Y2guZmlsdGVyKG1fcmVzdWx0c1tibG9jay0+cHJlZGVjZXNz
b3JzW2pdLT5pbmRleF0pOwotICAgIG1fc2NyYXRjaC5zZXQoaSk7Ci0gICAgcmV0dXJuIG1fcmVz
dWx0c1tpXS5zZXRBbmRDaGVjayhtX3NjcmF0Y2gpOworCisgICAgLy8gVGhlIGJsb2NrIGlzIGFs
c28gZG9taW5hdGVkIGJ5IGl0c2VsZi4KKyAgICBtX3NjcmF0Y2guc2V0KGlkeCk7CisKKyAgICBy
ZXR1cm4gbV9yZXN1bHRzW2lkeF0uc2V0QW5kQ2hlY2sobV9zY3JhdGNoKTsKIH0KIAogdm9pZCBE
b21pbmF0b3JzOjpkdW1wKEdyYXBoJiBncmFwaCwgUHJpbnRTdHJlYW0mIG91dCkgY29uc3QKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9taW5hdG9ycy5oIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb21pbmF0b3JzLmgKaW5kZXggZGNjZGVhYjhhNjE4
NjhkYTlmZTAzMDM3MWQ5YjEwMmJiMTUzMzczMy4uYzYzYTg0YmFmM2RlMTQ3ZDdhZDFhMGMwMmYx
ZWZkOGE2M2MzZTE5MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdE
b21pbmF0b3JzLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb21pbmF0b3Jz
LmgKQEAgLTYwLDEwICs2MCwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBkdW1wKEdyYXBoJiBncmFw
aCwgUHJpbnRTdHJlYW0mKSBjb25zdDsKICAgICAKIHByaXZhdGU6Ci0gICAgYm9vbCBpdGVyYXRl
Rm9yQmxvY2soR3JhcGgmIGdyYXBoLCBCbG9ja0luZGV4KTsKKyAgICBib29sIHBydW5lRG9taW5h
dG9ycyhHcmFwaCYsIEJsb2NrSW5kZXgpOwogICAgIAogICAgIFZlY3RvcjxGYXN0Qml0VmVjdG9y
PiBtX3Jlc3VsdHM7IC8vIEZvciBlYWNoIGJsb2NrLCB0aGUgYml0dmVjdG9yIG9mIGJsb2NrcyB0
aGF0IGRvbWluYXRlIGl0LgotICAgIEZhc3RCaXRWZWN0b3IgbV9zY3JhdGNoOworICAgIEZhc3RC
aXRWZWN0b3IgbV9zY3JhdGNoOyAvLyBBIHRlbXBvcmFyeSBiaXR2ZWN0b3Igd2l0aCBiaXQgZm9y
IGVhY2ggYmxvY2suIFdlIHJlY3ljbGUgdGhpcyB0byBzYXZlIG5ldy9kZWxldGVzLgogfTsKIAog
fSB9IC8vIG5hbWVzcGFjZSBKU0M6OkRGRwo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214638</attachid>
            <date>2013-10-18 22:59:21 -0700</date>
            <delta_ts>2013-10-18 23:15:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123056-20131018225920.patch</filename>
            <type>text/plain</type>
            <size>4677</size>
            <attacher name="Nadav Rotem">nrotem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3NjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ODBlNzY5MmU4NTFlMDM1YTZhOTE5ODkzZjQ5MWIzZjMxY2I4N2QzLi5jN2JkYTU4MTcwY2Q2OTdh
NmVmMDEzNDc5MjllZjRmYTY5MjNhMWU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxOSBAQAorMjAxMy0xMC0xOCAgTmFkYXYgUm90ZW0gIDxucm90ZW1AYXBwbGUuY29tPgor
CisgICAgICAgIERGRyBkb21pbmF0b3JzOiBGaXggYSBidWcgYW5kIGRvY3VtZW50LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMDU2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV2UgZGlkIG5vdCBpbml0
aWFsaXplIHRoZSBzY3JhdGNoIHZlY3RvciBiZXR3ZWVuIGludm9jYXRpb24gb2YgYmxvY2staXRl
cmF0aW9uLgorICAgICAgICBJIGFtIG5vdCBzdXJlIGlmIHRoaXMgbGVhZHMgdG8gYSBjb3JyZWN0
bmVzcyBidWcgb3IgaWYgaXQgbWFkZSB0aGUgY29udmVyZ2FuY2Ugb2YgdGhlIGRvbWluYXRvcnMg
c2xvd2VyLgorICAgICAgICBJIGFsc28gcmVuYW1lZCBzb21lIG1ldGhvZHMgYW5kIGRvY3VtZW50
ZWQgdGhlIGFsZ29yaXRobS4KKworICAgICAgICAqIGRmZy9ERkdEb21pbmF0b3JzLmNwcDoKKyAg
ICAgICAgKEpTQzo6REZHOjpEb21pbmF0b3JzOjpjb21wdXRlKToKKyAgICAgICAgKEpTQzo6REZH
OjpEb21pbmF0b3JzOjpwcnVuZURvbWluYXRvcnMpOgorICAgICAgICAqIGRmZy9ERkdEb21pbmF0
b3JzLmg6CisKIDIwMTMtMTAtMTggIEZpbGlwIFBpemxvICA8ZnBpemxvQGFwcGxlLmNvbT4KIAog
ICAgICAgICBVbnJldmlld2VkLCBmaXggRlRMIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdEb21pbmF0b3JzLmNwcCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRG9taW5hdG9ycy5jcHAKaW5kZXggNjlhNmU1MGEyZTliN2I3MzdhNTliMjk4NDJj
YzE2N2E4Mjg0ZTI5Yi4uNmI1NTgxNjhhZTZmMWM1ZWM2YjU0NzRlMWRiMzY2Zjc5NzkxNTJkYSAx
MDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb21pbmF0b3JzLmNwcAor
KysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvbWluYXRvcnMuY3BwCkBAIC00OCwx
NiArNDgsMTkgQEAgdm9pZCBEb21pbmF0b3JzOjpjb21wdXRlKEdyYXBoJiBncmFwaCkKICAgICAK
ICAgICB1bnNpZ25lZCBudW1CbG9ja3MgPSBncmFwaC5udW1CbG9ja3MoKTsKICAgICAKKyAgICAv
LyBBbGxvY2F0ZSBzdG9yYWdlIGZvciB0aGUgZGVuc2UgZG9taW5hbmNlIG1hdHJpeC4gCiAgICAg
aWYgKG51bUJsb2NrcyA+IG1fcmVzdWx0cy5zaXplKCkpIHsKICAgICAgICAgbV9yZXN1bHRzLmdy
b3cobnVtQmxvY2tzKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gbnVtQmxvY2tzOyBpLS07
KQogICAgICAgICAgICAgbV9yZXN1bHRzW2ldLnJlc2l6ZShudW1CbG9ja3MpOwogICAgICAgICBt
X3NjcmF0Y2gucmVzaXplKG51bUJsb2Nrcyk7CiAgICAgfQotICAgIAorCisgICAgLy8gV2Uga25v
dyB0aGF0IHRoZSBlbnRyeSBibG9jayBpcyBvbmx5IGRvbWluYXRlZCBieSBpdHNlbGYuCiAgICAg
bV9yZXN1bHRzWzBdLmNsZWFyQWxsKCk7CiAgICAgbV9yZXN1bHRzWzBdLnNldCgwKTsKLSAgICAK
KworICAgIC8vIEZpbmQgYWxsIG9mIHRoZSB2YWxpZCBibG9ja3MuCiAgICAgbV9zY3JhdGNoLmNs
ZWFyQWxsKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gbnVtQmxvY2tzOyBpLS07KSB7CiAgICAg
ICAgIGlmICghZ3JhcGguYmxvY2soaSkpCkBAIC02NSwzOSArNjgsNTAgQEAgdm9pZCBEb21pbmF0
b3JzOjpjb21wdXRlKEdyYXBoJiBncmFwaCkKICAgICAgICAgbV9zY3JhdGNoLnNldChpKTsKICAg
ICB9CiAgICAgCisgICAgLy8gTWFyayBhbGwgbm9kZXMgYXMgZG9taW5hdGVkIGJ5IGV2ZXJ5dGhp
bmcuCiAgICAgZm9yICh1bnNpZ25lZCBpID0gbnVtQmxvY2tzOyBpLS0gPiAxOykgewogICAgICAg
ICBpZiAoIWdyYXBoLmJsb2NrKGkpIHx8IGdyYXBoLmJsb2NrKGkpLT5wcmVkZWNlc3NvcnMuaXNF
bXB0eSgpKQogICAgICAgICAgICAgbV9yZXN1bHRzW2ldLmNsZWFyQWxsKCk7CiAgICAgICAgIGVs
c2UKICAgICAgICAgICAgIG1fcmVzdWx0c1tpXS5zZXQobV9zY3JhdGNoKTsKICAgICB9Ci0gICAg
CisKKyAgICAvLyBJdGVyYXRpdmVseSBlbGltaW5hdGUgbm9kZXMgdGhhdCBhcmUgbm90IGRvbWlu
YXRvci4KICAgICBib29sIGNoYW5nZWQ7CiAgICAgZG8gewogICAgICAgICBjaGFuZ2VkID0gZmFs
c2U7CisgICAgICAgIC8vIFBydW5lIGRvbWluYXRvcnMgaW4gYWxsIG5vbiBlbnRyeSBibG9ja3M6
IGZvcndhcmQgc2Nhbi4KICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMTsgaSA8IG51bUJsb2Nr
czsgKytpKQotICAgICAgICAgICAgY2hhbmdlZCB8PSBpdGVyYXRlRm9yQmxvY2soZ3JhcGgsIGkp
OworICAgICAgICAgICAgY2hhbmdlZCB8PSBwcnVuZURvbWluYXRvcnMoZ3JhcGgsIGkpOworCiAg
ICAgICAgIGlmICghY2hhbmdlZCkKICAgICAgICAgICAgIGJyZWFrOwotICAgICAgICAKKworICAg
ICAgICAvLyBQcnVuZSBkb21pbmF0b3JzIGluIGFsbCBub24gZW50cnkgYmxvY2tzOiBiYWNrd2Fy
ZCBzY2FuLgogICAgICAgICBjaGFuZ2VkID0gZmFsc2U7CiAgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IG51bUJsb2NrczsgaS0tID4gMTspCi0gICAgICAgICAgICBjaGFuZ2VkIHw9IGl0ZXJhdGVG
b3JCbG9jayhncmFwaCwgaSk7CisgICAgICAgICAgICBjaGFuZ2VkIHw9IHBydW5lRG9taW5hdG9y
cyhncmFwaCwgaSk7CiAgICAgfSB3aGlsZSAoY2hhbmdlZCk7CiB9CiAKLWJvb2wgRG9taW5hdG9y
czo6aXRlcmF0ZUZvckJsb2NrKEdyYXBoJiBncmFwaCwgQmxvY2tJbmRleCBpKQorYm9vbCBEb21p
bmF0b3JzOjpwcnVuZURvbWluYXRvcnMoR3JhcGgmIGdyYXBoLCBCbG9ja0luZGV4IGlkeCkKIHsK
LSAgICBCYXNpY0Jsb2NrKiBibG9jayA9IGdyYXBoLmJsb2NrKGkpOwotICAgIGlmICghYmxvY2sp
Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoYmxvY2stPnByZWRlY2Vzc29ycy5pc0Vt
cHR5KCkpCisgICAgQmFzaWNCbG9jayogYmxvY2sgPSBncmFwaC5ibG9jayhpZHgpOworCisgICAg
aWYgKCFibG9jayB8fCBibG9jay0+cHJlZGVjZXNzb3JzLmlzRW1wdHkoKSkKICAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgbV9zY3JhdGNoLmNsZWFyQWxsKCk7CisKKyAgICAvLyBGaW5kIHRo
ZSBpbnRlcnNlY3Rpb24gb2YgZG9tKHByZWRzKS4KICAgICBtX3NjcmF0Y2guc2V0KG1fcmVzdWx0
c1tibG9jay0+cHJlZGVjZXNzb3JzWzBdLT5pbmRleF0pOwogICAgIGZvciAodW5zaWduZWQgaiA9
IGJsb2NrLT5wcmVkZWNlc3NvcnMuc2l6ZSgpOyBqLS0gPiAxOykKICAgICAgICAgbV9zY3JhdGNo
LmZpbHRlcihtX3Jlc3VsdHNbYmxvY2stPnByZWRlY2Vzc29yc1tqXS0+aW5kZXhdKTsKLSAgICBt
X3NjcmF0Y2guc2V0KGkpOwotICAgIHJldHVybiBtX3Jlc3VsdHNbaV0uc2V0QW5kQ2hlY2sobV9z
Y3JhdGNoKTsKKworICAgIC8vIFRoZSBibG9jayBpcyBhbHNvIGRvbWluYXRlZCBieSBpdHNlbGYu
CisgICAgbV9zY3JhdGNoLnNldChpZHgpOworCisgICAgcmV0dXJuIG1fcmVzdWx0c1tpZHhdLnNl
dEFuZENoZWNrKG1fc2NyYXRjaCk7CiB9CiAKIHZvaWQgRG9taW5hdG9yczo6ZHVtcChHcmFwaCYg
Z3JhcGgsIFByaW50U3RyZWFtJiBvdXQpIGNvbnN0CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR0RvbWluYXRvcnMuaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHRG9taW5hdG9ycy5oCmluZGV4IGRjY2RlYWI4YTYxODY4ZGE5ZmUwMzAzNzFkOWIxMDJiYjE1
MzM3MzMuLmM2M2E4NGJhZjNkZTE0N2Q3YWQxYTBjMDJmMWVmZDhhNjNjM2UxOTEgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9taW5hdG9ycy5oCisrKyBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9taW5hdG9ycy5oCkBAIC02MCwxMCArNjAsMTAgQEAg
cHVibGljOgogICAgIHZvaWQgZHVtcChHcmFwaCYgZ3JhcGgsIFByaW50U3RyZWFtJikgY29uc3Q7
CiAgICAgCiBwcml2YXRlOgotICAgIGJvb2wgaXRlcmF0ZUZvckJsb2NrKEdyYXBoJiBncmFwaCwg
QmxvY2tJbmRleCk7CisgICAgYm9vbCBwcnVuZURvbWluYXRvcnMoR3JhcGgmLCBCbG9ja0luZGV4
KTsKICAgICAKICAgICBWZWN0b3I8RmFzdEJpdFZlY3Rvcj4gbV9yZXN1bHRzOyAvLyBGb3IgZWFj
aCBibG9jaywgdGhlIGJpdHZlY3RvciBvZiBibG9ja3MgdGhhdCBkb21pbmF0ZSBpdC4KLSAgICBG
YXN0Qml0VmVjdG9yIG1fc2NyYXRjaDsKKyAgICBGYXN0Qml0VmVjdG9yIG1fc2NyYXRjaDsgLy8g
QSB0ZW1wb3JhcnkgYml0dmVjdG9yIHdpdGggYml0IGZvciBlYWNoIGJsb2NrLiBXZSByZWN5Y2xl
IHRoaXMgdG8gc2F2ZSBuZXcvZGVsZXRlcy4KIH07CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpE
RkcK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214640</attachid>
            <date>2013-10-18 23:15:13 -0700</date>
            <delta_ts>2013-10-19 12:37:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123056-20131018231512.patch</filename>
            <type>text/plain</type>
            <size>4435</size>
            <attacher name="Nadav Rotem">nrotem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3NjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ODBlNzY5MmU4NTFlMDM1YTZhOTE5ODkzZjQ5MWIzZjMxY2I4N2QzLi43YTFiNWQxZTQ5MjQxMWEz
NTlkYzg0MDBhYTUwNjcyNDY3OGMxMTA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMy0xMC0xOCAgTmFkYXYgUm90ZW0gIDxucm90ZW1AYXBwbGUuY29tPgor
CisgICAgICAgIERGRyBkb21pbmF0b3JzOiBGaXggYSBidWcgYW5kIGRvY3VtZW50LgorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMDU2CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRG9jdW1lbnRlZCB0aGUg
Y29kZSBhbmQgcmVuYW1lZCBzb21lIHZhcmlhYmxlcy4KKworICAgICAgICAqIGRmZy9ERkdEb21p
bmF0b3JzLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpEb21pbmF0b3JzOjpjb21wdXRlKToKKyAg
ICAgICAgKEpTQzo6REZHOjpEb21pbmF0b3JzOjpwcnVuZURvbWluYXRvcnMpOgorICAgICAgICAq
IGRmZy9ERkdEb21pbmF0b3JzLmg6CisKIDIwMTMtMTAtMTggIEZpbGlwIFBpemxvICA8ZnBpemxv
QGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBmaXggRlRMIGJ1aWxkLgpkaWZmIC0t
Z2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb21pbmF0b3JzLmNwcCBiL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9taW5hdG9ycy5jcHAKaW5kZXggNjlhNmU1MGEyZTli
N2I3MzdhNTliMjk4NDJjYzE2N2E4Mjg0ZTI5Yi4uYTVhZTYxNGI5MTliMGZkNDM0ODJkMDE1Y2My
OTUwODQwZTU0YjI2MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdE
b21pbmF0b3JzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvbWluYXRv
cnMuY3BwCkBAIC00OCwxNiArNDgsMTkgQEAgdm9pZCBEb21pbmF0b3JzOjpjb21wdXRlKEdyYXBo
JiBncmFwaCkKICAgICAKICAgICB1bnNpZ25lZCBudW1CbG9ja3MgPSBncmFwaC5udW1CbG9ja3Mo
KTsKICAgICAKKyAgICAvLyBBbGxvY2F0ZSBzdG9yYWdlIGZvciB0aGUgZGVuc2UgZG9taW5hbmNl
IG1hdHJpeC4gCiAgICAgaWYgKG51bUJsb2NrcyA+IG1fcmVzdWx0cy5zaXplKCkpIHsKICAgICAg
ICAgbV9yZXN1bHRzLmdyb3cobnVtQmxvY2tzKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
bnVtQmxvY2tzOyBpLS07KQogICAgICAgICAgICAgbV9yZXN1bHRzW2ldLnJlc2l6ZShudW1CbG9j
a3MpOwogICAgICAgICBtX3NjcmF0Y2gucmVzaXplKG51bUJsb2Nrcyk7CiAgICAgfQotICAgIAor
CisgICAgLy8gV2Uga25vdyB0aGF0IHRoZSBlbnRyeSBibG9jayBpcyBvbmx5IGRvbWluYXRlZCBi
eSBpdHNlbGYuCiAgICAgbV9yZXN1bHRzWzBdLmNsZWFyQWxsKCk7CiAgICAgbV9yZXN1bHRzWzBd
LnNldCgwKTsKLSAgICAKKworICAgIC8vIEZpbmQgYWxsIG9mIHRoZSB2YWxpZCBibG9ja3MuCiAg
ICAgbV9zY3JhdGNoLmNsZWFyQWxsKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gbnVtQmxvY2tz
OyBpLS07KSB7CiAgICAgICAgIGlmICghZ3JhcGguYmxvY2soaSkpCkBAIC02NSwzOSArNjgsNDgg
QEAgdm9pZCBEb21pbmF0b3JzOjpjb21wdXRlKEdyYXBoJiBncmFwaCkKICAgICAgICAgbV9zY3Jh
dGNoLnNldChpKTsKICAgICB9CiAgICAgCisgICAgLy8gTWFyayBhbGwgbm9kZXMgYXMgZG9taW5h
dGVkIGJ5IGV2ZXJ5dGhpbmcuCiAgICAgZm9yICh1bnNpZ25lZCBpID0gbnVtQmxvY2tzOyBpLS0g
PiAxOykgewogICAgICAgICBpZiAoIWdyYXBoLmJsb2NrKGkpIHx8IGdyYXBoLmJsb2NrKGkpLT5w
cmVkZWNlc3NvcnMuaXNFbXB0eSgpKQogICAgICAgICAgICAgbV9yZXN1bHRzW2ldLmNsZWFyQWxs
KCk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG1fcmVzdWx0c1tpXS5zZXQobV9zY3JhdGNo
KTsKICAgICB9Ci0gICAgCisKKyAgICAvLyBJdGVyYXRpdmVseSBlbGltaW5hdGUgbm9kZXMgdGhh
dCBhcmUgbm90IGRvbWluYXRvci4KICAgICBib29sIGNoYW5nZWQ7CiAgICAgZG8gewogICAgICAg
ICBjaGFuZ2VkID0gZmFsc2U7CisgICAgICAgIC8vIFBydW5lIGRvbWluYXRvcnMgaW4gYWxsIG5v
biBlbnRyeSBibG9ja3M6IGZvcndhcmQgc2Nhbi4KICAgICAgICAgZm9yICh1bnNpZ25lZCBpID0g
MTsgaSA8IG51bUJsb2NrczsgKytpKQotICAgICAgICAgICAgY2hhbmdlZCB8PSBpdGVyYXRlRm9y
QmxvY2soZ3JhcGgsIGkpOworICAgICAgICAgICAgY2hhbmdlZCB8PSBwcnVuZURvbWluYXRvcnMo
Z3JhcGgsIGkpOworCiAgICAgICAgIGlmICghY2hhbmdlZCkKICAgICAgICAgICAgIGJyZWFrOwot
ICAgICAgICAKKworICAgICAgICAvLyBQcnVuZSBkb21pbmF0b3JzIGluIGFsbCBub24gZW50cnkg
YmxvY2tzOiBiYWNrd2FyZCBzY2FuLgogICAgICAgICBjaGFuZ2VkID0gZmFsc2U7CiAgICAgICAg
IGZvciAodW5zaWduZWQgaSA9IG51bUJsb2NrczsgaS0tID4gMTspCi0gICAgICAgICAgICBjaGFu
Z2VkIHw9IGl0ZXJhdGVGb3JCbG9jayhncmFwaCwgaSk7CisgICAgICAgICAgICBjaGFuZ2VkIHw9
IHBydW5lRG9taW5hdG9ycyhncmFwaCwgaSk7CiAgICAgfSB3aGlsZSAoY2hhbmdlZCk7CiB9CiAK
LWJvb2wgRG9taW5hdG9yczo6aXRlcmF0ZUZvckJsb2NrKEdyYXBoJiBncmFwaCwgQmxvY2tJbmRl
eCBpKQorYm9vbCBEb21pbmF0b3JzOjpwcnVuZURvbWluYXRvcnMoR3JhcGgmIGdyYXBoLCBCbG9j
a0luZGV4IGlkeCkKIHsKLSAgICBCYXNpY0Jsb2NrKiBibG9jayA9IGdyYXBoLmJsb2NrKGkpOwot
ICAgIGlmICghYmxvY2spCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoYmxvY2stPnBy
ZWRlY2Vzc29ycy5pc0VtcHR5KCkpCisgICAgQmFzaWNCbG9jayogYmxvY2sgPSBncmFwaC5ibG9j
ayhpZHgpOworCisgICAgaWYgKCFibG9jayB8fCBibG9jay0+cHJlZGVjZXNzb3JzLmlzRW1wdHko
KSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gRmluZCB0aGUgaW50ZXJzZWN0aW9u
IG9mIGRvbShwcmVkcykuCiAgICAgbV9zY3JhdGNoLnNldChtX3Jlc3VsdHNbYmxvY2stPnByZWRl
Y2Vzc29yc1swXS0+aW5kZXhdKTsKICAgICBmb3IgKHVuc2lnbmVkIGogPSBibG9jay0+cHJlZGVj
ZXNzb3JzLnNpemUoKTsgai0tID4gMTspCiAgICAgICAgIG1fc2NyYXRjaC5maWx0ZXIobV9yZXN1
bHRzW2Jsb2NrLT5wcmVkZWNlc3NvcnNbal0tPmluZGV4XSk7Ci0gICAgbV9zY3JhdGNoLnNldChp
KTsKLSAgICByZXR1cm4gbV9yZXN1bHRzW2ldLnNldEFuZENoZWNrKG1fc2NyYXRjaCk7CisKKyAg
ICAvLyBUaGUgYmxvY2sgaXMgYWxzbyBkb21pbmF0ZWQgYnkgaXRzZWxmLgorICAgIG1fc2NyYXRj
aC5zZXQoaWR4KTsKKworICAgIHJldHVybiBtX3Jlc3VsdHNbaWR4XS5zZXRBbmRDaGVjayhtX3Nj
cmF0Y2gpOwogfQogCiB2b2lkIERvbWluYXRvcnM6OmR1bXAoR3JhcGgmIGdyYXBoLCBQcmludFN0
cmVhbSYgb3V0KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdEb21pbmF0b3JzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvbWluYXRvcnMu
aAppbmRleCBkY2NkZWFiOGE2MTg2OGRhOWZlMDMwMzcxZDliMTAyYmIxNTMzNzMzLi5jNjNhODRi
YWYzZGUxNDdkN2FkMWEwYzAyZjFlZmQ4YTYzYzNlMTkxIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR0RvbWluYXRvcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR0RvbWluYXRvcnMuaApAQCAtNjAsMTAgKzYwLDEwIEBAIHB1YmxpYzoKICAgICB2
b2lkIGR1bXAoR3JhcGgmIGdyYXBoLCBQcmludFN0cmVhbSYpIGNvbnN0OwogICAgIAogcHJpdmF0
ZToKLSAgICBib29sIGl0ZXJhdGVGb3JCbG9jayhHcmFwaCYgZ3JhcGgsIEJsb2NrSW5kZXgpOwor
ICAgIGJvb2wgcHJ1bmVEb21pbmF0b3JzKEdyYXBoJiwgQmxvY2tJbmRleCk7CiAgICAgCiAgICAg
VmVjdG9yPEZhc3RCaXRWZWN0b3I+IG1fcmVzdWx0czsgLy8gRm9yIGVhY2ggYmxvY2ssIHRoZSBi
aXR2ZWN0b3Igb2YgYmxvY2tzIHRoYXQgZG9taW5hdGUgaXQuCi0gICAgRmFzdEJpdFZlY3RvciBt
X3NjcmF0Y2g7CisgICAgRmFzdEJpdFZlY3RvciBtX3NjcmF0Y2g7IC8vIEEgdGVtcG9yYXJ5IGJp
dHZlY3RvciB3aXRoIGJpdCBmb3IgZWFjaCBibG9jay4gV2UgcmVjeWNsZSB0aGlzIHRvIHNhdmUg
bmV3L2RlbGV0ZXMuCiB9OwogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>214659</attachid>
            <date>2013-10-19 12:37:48 -0700</date>
            <delta_ts>2013-10-19 13:09:57 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-123056-20131019123747.patch</filename>
            <type>text/plain</type>
            <size>4438</size>
            <attacher name="Nadav Rotem">nrotem</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTU3NjYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvQ2hhbmdlTG9nIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwppbmRleCBl
ODBlNzY5MmU4NTFlMDM1YTZhOTE5ODkzZjQ5MWIzZjMxY2I4N2QzLi5lYzI4ZDU0MzEzZDhlNDUz
ZTc1ZmJkYjQxYzM0ZDVlYTAwNmNkYTU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENv
cmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNyBAQAorMjAxMy0xMC0xOCAgTmFkYXYgUm90ZW0gIDxucm90ZW1AYXBwbGUuY29tPgor
CisgICAgICAgIERGRyBkb21pbmF0b3JzOiBkb2N1bWVudCBhbmQgcmVuYW1lIHN0dWZmLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIzMDU2CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRG9jdW1lbnRlZCB0
aGUgY29kZSBhbmQgcmVuYW1lZCBzb21lIHZhcmlhYmxlcy4KKworICAgICAgICAqIGRmZy9ERkdE
b21pbmF0b3JzLmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpEb21pbmF0b3JzOjpjb21wdXRlKToK
KyAgICAgICAgKEpTQzo6REZHOjpEb21pbmF0b3JzOjpwcnVuZURvbWluYXRvcnMpOgorICAgICAg
ICAqIGRmZy9ERkdEb21pbmF0b3JzLmg6CisKIDIwMTMtMTAtMTggIEZpbGlwIFBpemxvICA8ZnBp
emxvQGFwcGxlLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCBmaXggRlRMIGJ1aWxkLgpkaWZm
IC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdEb21pbmF0b3JzLmNwcCBiL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRG9taW5hdG9ycy5jcHAKaW5kZXggNjlhNmU1MGEy
ZTliN2I3MzdhNTliMjk4NDJjYzE2N2E4Mjg0ZTI5Yi4uYTVhZTYxNGI5MTliMGZkNDM0ODJkMDE1
Y2MyOTUwODQwZTU0YjI2MSAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdEb21pbmF0b3JzLmNwcAorKysgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvbWlu
YXRvcnMuY3BwCkBAIC00OCwxNiArNDgsMTkgQEAgdm9pZCBEb21pbmF0b3JzOjpjb21wdXRlKEdy
YXBoJiBncmFwaCkKICAgICAKICAgICB1bnNpZ25lZCBudW1CbG9ja3MgPSBncmFwaC5udW1CbG9j
a3MoKTsKICAgICAKKyAgICAvLyBBbGxvY2F0ZSBzdG9yYWdlIGZvciB0aGUgZGVuc2UgZG9taW5h
bmNlIG1hdHJpeC4gCiAgICAgaWYgKG51bUJsb2NrcyA+IG1fcmVzdWx0cy5zaXplKCkpIHsKICAg
ICAgICAgbV9yZXN1bHRzLmdyb3cobnVtQmxvY2tzKTsKICAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gbnVtQmxvY2tzOyBpLS07KQogICAgICAgICAgICAgbV9yZXN1bHRzW2ldLnJlc2l6ZShudW1C
bG9ja3MpOwogICAgICAgICBtX3NjcmF0Y2gucmVzaXplKG51bUJsb2Nrcyk7CiAgICAgfQotICAg
IAorCisgICAgLy8gV2Uga25vdyB0aGF0IHRoZSBlbnRyeSBibG9jayBpcyBvbmx5IGRvbWluYXRl
ZCBieSBpdHNlbGYuCiAgICAgbV9yZXN1bHRzWzBdLmNsZWFyQWxsKCk7CiAgICAgbV9yZXN1bHRz
WzBdLnNldCgwKTsKLSAgICAKKworICAgIC8vIEZpbmQgYWxsIG9mIHRoZSB2YWxpZCBibG9ja3Mu
CiAgICAgbV9zY3JhdGNoLmNsZWFyQWxsKCk7CiAgICAgZm9yICh1bnNpZ25lZCBpID0gbnVtQmxv
Y2tzOyBpLS07KSB7CiAgICAgICAgIGlmICghZ3JhcGguYmxvY2soaSkpCkBAIC02NSwzOSArNjgs
NDggQEAgdm9pZCBEb21pbmF0b3JzOjpjb21wdXRlKEdyYXBoJiBncmFwaCkKICAgICAgICAgbV9z
Y3JhdGNoLnNldChpKTsKICAgICB9CiAgICAgCisgICAgLy8gTWFyayBhbGwgbm9kZXMgYXMgZG9t
aW5hdGVkIGJ5IGV2ZXJ5dGhpbmcuCiAgICAgZm9yICh1bnNpZ25lZCBpID0gbnVtQmxvY2tzOyBp
LS0gPiAxOykgewogICAgICAgICBpZiAoIWdyYXBoLmJsb2NrKGkpIHx8IGdyYXBoLmJsb2NrKGkp
LT5wcmVkZWNlc3NvcnMuaXNFbXB0eSgpKQogICAgICAgICAgICAgbV9yZXN1bHRzW2ldLmNsZWFy
QWxsKCk7CiAgICAgICAgIGVsc2UKICAgICAgICAgICAgIG1fcmVzdWx0c1tpXS5zZXQobV9zY3Jh
dGNoKTsKICAgICB9Ci0gICAgCisKKyAgICAvLyBJdGVyYXRpdmVseSBlbGltaW5hdGUgbm9kZXMg
dGhhdCBhcmUgbm90IGRvbWluYXRvci4KICAgICBib29sIGNoYW5nZWQ7CiAgICAgZG8gewogICAg
ICAgICBjaGFuZ2VkID0gZmFsc2U7CisgICAgICAgIC8vIFBydW5lIGRvbWluYXRvcnMgaW4gYWxs
IG5vbiBlbnRyeSBibG9ja3M6IGZvcndhcmQgc2Nhbi4KICAgICAgICAgZm9yICh1bnNpZ25lZCBp
ID0gMTsgaSA8IG51bUJsb2NrczsgKytpKQotICAgICAgICAgICAgY2hhbmdlZCB8PSBpdGVyYXRl
Rm9yQmxvY2soZ3JhcGgsIGkpOworICAgICAgICAgICAgY2hhbmdlZCB8PSBwcnVuZURvbWluYXRv
cnMoZ3JhcGgsIGkpOworCiAgICAgICAgIGlmICghY2hhbmdlZCkKICAgICAgICAgICAgIGJyZWFr
OwotICAgICAgICAKKworICAgICAgICAvLyBQcnVuZSBkb21pbmF0b3JzIGluIGFsbCBub24gZW50
cnkgYmxvY2tzOiBiYWNrd2FyZCBzY2FuLgogICAgICAgICBjaGFuZ2VkID0gZmFsc2U7CiAgICAg
ICAgIGZvciAodW5zaWduZWQgaSA9IG51bUJsb2NrczsgaS0tID4gMTspCi0gICAgICAgICAgICBj
aGFuZ2VkIHw9IGl0ZXJhdGVGb3JCbG9jayhncmFwaCwgaSk7CisgICAgICAgICAgICBjaGFuZ2Vk
IHw9IHBydW5lRG9taW5hdG9ycyhncmFwaCwgaSk7CiAgICAgfSB3aGlsZSAoY2hhbmdlZCk7CiB9
CiAKLWJvb2wgRG9taW5hdG9yczo6aXRlcmF0ZUZvckJsb2NrKEdyYXBoJiBncmFwaCwgQmxvY2tJ
bmRleCBpKQorYm9vbCBEb21pbmF0b3JzOjpwcnVuZURvbWluYXRvcnMoR3JhcGgmIGdyYXBoLCBC
bG9ja0luZGV4IGlkeCkKIHsKLSAgICBCYXNpY0Jsb2NrKiBibG9jayA9IGdyYXBoLmJsb2NrKGkp
OwotICAgIGlmICghYmxvY2spCi0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICBpZiAoYmxvY2st
PnByZWRlY2Vzc29ycy5pc0VtcHR5KCkpCisgICAgQmFzaWNCbG9jayogYmxvY2sgPSBncmFwaC5i
bG9jayhpZHgpOworCisgICAgaWYgKCFibG9jayB8fCBibG9jay0+cHJlZGVjZXNzb3JzLmlzRW1w
dHkoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgLy8gRmluZCB0aGUgaW50ZXJzZWN0
aW9uIG9mIGRvbShwcmVkcykuCiAgICAgbV9zY3JhdGNoLnNldChtX3Jlc3VsdHNbYmxvY2stPnBy
ZWRlY2Vzc29yc1swXS0+aW5kZXhdKTsKICAgICBmb3IgKHVuc2lnbmVkIGogPSBibG9jay0+cHJl
ZGVjZXNzb3JzLnNpemUoKTsgai0tID4gMTspCiAgICAgICAgIG1fc2NyYXRjaC5maWx0ZXIobV9y
ZXN1bHRzW2Jsb2NrLT5wcmVkZWNlc3NvcnNbal0tPmluZGV4XSk7Ci0gICAgbV9zY3JhdGNoLnNl
dChpKTsKLSAgICByZXR1cm4gbV9yZXN1bHRzW2ldLnNldEFuZENoZWNrKG1fc2NyYXRjaCk7CisK
KyAgICAvLyBUaGUgYmxvY2sgaXMgYWxzbyBkb21pbmF0ZWQgYnkgaXRzZWxmLgorICAgIG1fc2Ny
YXRjaC5zZXQoaWR4KTsKKworICAgIHJldHVybiBtX3Jlc3VsdHNbaWR4XS5zZXRBbmRDaGVjayht
X3NjcmF0Y2gpOwogfQogCiB2b2lkIERvbWluYXRvcnM6OmR1bXAoR3JhcGgmIGdyYXBoLCBQcmlu
dFN0cmVhbSYgb3V0KSBjb25zdApkaWZmIC0tZ2l0IGEvU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdEb21pbmF0b3JzLmggYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvbWluYXRv
cnMuaAppbmRleCBkY2NkZWFiOGE2MTg2OGRhOWZlMDMwMzcxZDliMTAyYmIxNTMzNzMzLi5jNjNh
ODRiYWYzZGUxNDdkN2FkMWEwYzAyZjFlZmQ4YTYzYzNlMTkxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvZGZnL0RGR0RvbWluYXRvcnMuaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvZGZnL0RGR0RvbWluYXRvcnMuaApAQCAtNjAsMTAgKzYwLDEwIEBAIHB1YmxpYzoKICAg
ICB2b2lkIGR1bXAoR3JhcGgmIGdyYXBoLCBQcmludFN0cmVhbSYpIGNvbnN0OwogICAgIAogcHJp
dmF0ZToKLSAgICBib29sIGl0ZXJhdGVGb3JCbG9jayhHcmFwaCYgZ3JhcGgsIEJsb2NrSW5kZXgp
OworICAgIGJvb2wgcHJ1bmVEb21pbmF0b3JzKEdyYXBoJiwgQmxvY2tJbmRleCk7CiAgICAgCiAg
ICAgVmVjdG9yPEZhc3RCaXRWZWN0b3I+IG1fcmVzdWx0czsgLy8gRm9yIGVhY2ggYmxvY2ssIHRo
ZSBiaXR2ZWN0b3Igb2YgYmxvY2tzIHRoYXQgZG9taW5hdGUgaXQuCi0gICAgRmFzdEJpdFZlY3Rv
ciBtX3NjcmF0Y2g7CisgICAgRmFzdEJpdFZlY3RvciBtX3NjcmF0Y2g7IC8vIEEgdGVtcG9yYXJ5
IGJpdHZlY3RvciB3aXRoIGJpdCBmb3IgZWFjaCBibG9jay4gV2UgcmVjeWNsZSB0aGlzIHRvIHNh
dmUgbmV3L2RlbGV0ZXMuCiB9OwogCiB9IH0gLy8gbmFtZXNwYWNlIEpTQzo6REZHCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>