<?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>164464</bug_id>
          
          <creation_ts>2016-11-06 11:47:30 -0800</creation_ts>
          <short_desc>Math.min()/Math.max() with no arguments is lowered incorrectly in the BytecodeParser</short_desc>
          <delta_ts>2016-11-09 15:26:31 -0800</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="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>benjamin</cc>
    
    <cc>commit-queue</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>gskachkov</cc>
    
    <cc>jfbastien</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>oliver</cc>
    
    <cc>ticaiolima</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1248629</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-11-06 11:47:30 -0800</bug_when>
    <thetext>They return NaN. However,
Math.min() === Infinity
Math.max() === -Infinity</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248630</commentid>
    <comment_count>1</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-11-06 11:48:30 -0800</bug_when>
    <thetext>&lt;rdar://problem/29131452&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248632</commentid>
    <comment_count>2</comment_count>
      <attachid>294031</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-11-06 12:00:06 -0800</bug_when>
    <thetext>Created attachment 294031
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248633</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-06 12:01:03 -0800</bug_when>
    <thetext>Attachment 294031 did not pass style-queue:


ERROR: Source/JavaScriptCore/ChangeLog:11:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
ERROR: Source/JavaScriptCore/ChangeLog:12:  Need whitespace between colon and description  [changelog/filechangedescriptionwhitespace] [5]
ERROR: JSTests/stress/math-max-min-no-arguments.js:7:  Line contains tab character.  [whitespace/tab] [5]
ERROR: JSTests/stress/math-max-min-no-arguments.js:11:  Line contains tab character.  [whitespace/tab] [5]
ERROR: JSTests/stress/math-max-min-no-arguments.js:15:  Line contains tab character.  [whitespace/tab] [5]
ERROR: JSTests/stress/math-max-min-no-arguments.js:16:  Line contains tab character.  [whitespace/tab] [5]
ERROR: JSTests/stress/math-max-min-no-arguments.js:17:  Line contains tab character.  [whitespace/tab] [5]
ERROR: JSTests/stress/math-max-min-no-arguments.js:18:  Line contains tab character.  [whitespace/tab] [5]
Total errors found: 8 in 4 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248635</commentid>
    <comment_count>4</comment_count>
      <attachid>294031</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-11-06 12:07:47 -0800</bug_when>
    <thetext>Comment on attachment 294031
patch

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

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:2119
&gt; +        set(VirtualRegister(resultOperand), addToGraph(JSConstant, OpInfo(m_graph.freeze(jsNumber(result)))));

jsDoubleNumber is more efficient than jsNumber for this use, so it should be jsDoubleNumber here; saw this pattern in places in the runtime that deal with infinity.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248636</commentid>
    <comment_count>5</comment_count>
      <attachid>294031</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2016-11-06 12:34:16 -0800</bug_when>
    <thetext>Comment on attachment 294031
patch

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

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:2116
&gt;      if (argumentCountIncludingThis == 1) { // Math.min()

This &quot;// Math.min()&quot; is now stale.  I think you should remove it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248642</commentid>
    <comment_count>6</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-11-06 14:21:51 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; Comment on attachment 294031 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=294031&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:2116
&gt; &gt;      if (argumentCountIncludingThis == 1) { // Math.min()
&gt; 
&gt; This &quot;// Math.min()&quot; is now stale.  I think you should remove it.

I think the comment was there just to be illustrative about the number of arguments to the function. That said, I don&apos;t think the comment is helpful and I&apos;ll remove it. The variable name we&apos;re comparing against is already illustrative enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248644</commentid>
    <comment_count>7</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-11-06 14:22:07 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; Comment on attachment 294031 [details]
&gt; patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=294031&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:2119
&gt; &gt; +        set(VirtualRegister(resultOperand), addToGraph(JSConstant, OpInfo(m_graph.freeze(jsNumber(result)))));
&gt; 
&gt; jsDoubleNumber is more efficient than jsNumber for this use, so it should be
&gt; jsDoubleNumber here; saw this pattern in places in the runtime that deal
&gt; with infinity.

Sounds good. I&apos;ll switch to this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248645</commentid>
    <comment_count>8</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-11-06 14:23:16 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; (In reply to comment #5)
&gt; &gt; Comment on attachment 294031 [details]
&gt; &gt; patch
&gt; &gt; 
&gt; &gt; View in context:
&gt; &gt; https://bugs.webkit.org/attachment.cgi?id=294031&amp;action=review
&gt; &gt; 
&gt; &gt; &gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:2116
&gt; &gt; &gt;      if (argumentCountIncludingThis == 1) { // Math.min()
&gt; &gt; 
&gt; &gt; This &quot;// Math.min()&quot; is now stale.  I think you should remove it.
&gt; 
&gt; I think the comment was there just to be illustrative about the number of
&gt; arguments to the function. That said, I don&apos;t think the comment is helpful
&gt; and I&apos;ll remove it. The variable name we&apos;re comparing against is already
&gt; illustrative enough.

I&apos;ll remove all forms of these comments in the function. I don&apos;t think they&apos;re helpful when the parameter name tells you exactly what&apos;s going on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248646</commentid>
    <comment_count>9</comment_count>
      <attachid>294036</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-11-06 14:26:27 -0800</bug_when>
    <thetext>Created attachment 294036
patch for landing

I&apos;ll wait until EWS is back up and running before landing the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1248647</commentid>
    <comment_count>10</comment_count>
      <attachid>294037</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2016-11-06 14:29:19 -0800</bug_when>
    <thetext>Created attachment 294037
patch for landing

fix style issues</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249532</commentid>
    <comment_count>11</comment_count>
      <attachid>294037</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-09 15:26:26 -0800</bug_when>
    <thetext>Comment on attachment 294037
patch for landing

Clearing flags on attachment: 294037

Committed r208496: &lt;http://trac.webkit.org/changeset/208496&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1249533</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-11-09 15:26:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294031</attachid>
            <date>2016-11-06 12:00:06 -0800</date>
            <delta_ts>2016-11-06 14:26:27 -0800</delta_ts>
            <desc>patch</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>3168</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMDg0MjApCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE3IEBACisyMDE2LTExLTA2ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIE1hdGgubWluKCkvTWF0aC5tYXgoKSB3aXRoIG5vIGFyZ3VtZW50cyBp
cyBsb3dlcmVkIGluY29ycmVjdGx5IGluIHRoZSBCeXRlY29kZVBhcnNlcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NDY0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS8yOTEzMTQ1Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIHN0cmVzcy9tYXRoLW1heC1taW4tbm8tYXJndW1lbnRzLmpzOiBBZGRl
ZC4KKyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtaW4pOgorICAgICAgICAobWF4KToKKyAg
ICAgICAgKHRlc3QpOgorCiAyMDE2LTExLTA0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNv
bT4KIAogICAgICAgICBFcnJvciBkZXNjcmlwdGlvbiBjb2RlIHNob3VsZCBiZSBhYmxlIHRvIGhh
bmRsZSBTeW1ib2wgdmFsdWVzLgpJbmRleDogSlNUZXN0cy9zdHJlc3MvbWF0aC1tYXgtbWluLW5v
LWFyZ3VtZW50cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9tYXRoLW1heC1taW4t
bm8tYXJndW1lbnRzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL21hdGgtbWF4
LW1pbi1uby1hcmd1bWVudHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorZnVu
Y3Rpb24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigi
QmFkISIpCit9CisKK2Z1bmN0aW9uIG1pbigpIHsKKwlyZXR1cm4gTWF0aC5taW4oKTsKK30KKwor
ZnVuY3Rpb24gbWF4KCkgeworCXJldHVybiBNYXRoLm1heCgpOworfQorCitmdW5jdGlvbiB0ZXN0
KCkgeworCWZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7IGkrKykgeworCQlhc3NlcnQobWluKCkg
PT09IEluZmluaXR5KTsKKwkJYXNzZXJ0KG1heCgpID09PSAtSW5maW5pdHkpOworCX0KK30KK3Rl
c3QoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA4NDIwKQorKysg
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE5IEBACisyMDE2LTExLTA2ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisg
ICAgICAgIE1hdGgubWluKCkvTWF0aC5tYXgoKSB3aXRoIG5vIGFyZ3VtZW50cyBpcyBsb3dlcmVk
IGluY29ycmVjdGx5IGluIHRoZSBCeXRlY29kZVBhcnNlcgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NDY0CisgICAgICAgIDxyZGFyOi8vcHJvYmxl
bS8yOTEzMTQ1Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBXZSB3ZXJlIGluY29ycmVjdGx5IG1hdGNoaW5nIHRoaXMgcGF0dGVybiBpbnNpZGUgdGhl
IGJ5dGVjb2RlIHBhcnNlcgorICAgICAgICB0byByZXR1cm4gTmFOLiBJbnN0ZWFkLCB3ZSBtdXN0
IHJldHVybjoKKyAgICAgICAgKiAgSW5maW5pdHkgZm9yIE1hdGgubWluKCkKKyAgICAgICAgKiAt
SW5maW5pdHkgZm9yIE1hdGgubWF4KCkKKworICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNl
ci5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmhhbmRsZU1pbk1heCk6
CisKIDIwMTYtMTEtMDUgIEtvbnN0YW50aW4gVG9rYXJldiAgPGFubnVsZW5AeWFuZGV4LnJ1Pgog
CiAgICAgICAgIEZpeGVkIGNvbXBpbGF0aW9uIG9mIExMSW50IHdpdGggTWluR1cKSW5kZXg6IFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCShyZXZp
c2lvbiAyMDg0MjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFy
c2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjExMSw5ICsyMTExLDEyIEBAIGJvb2wgQnl0ZUNv
ZGVQYXJzZXI6OmhhbmRsZUlubGluaW5nKAogdGVtcGxhdGU8dHlwZW5hbWUgQ2hlY2tzRnVuY3Rv
cj4KIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZU1pbk1heChpbnQgcmVzdWx0T3BlcmFuZCwg
Tm9kZVR5cGUgb3AsIGludCByZWdpc3Rlck9mZnNldCwgaW50IGFyZ3VtZW50Q291bnRJbmNsdWRp
bmdUaGlzLCBjb25zdCBDaGVja3NGdW5jdG9yJiBpbnNlcnRDaGVja3MpCiB7CisgICAgQVNTRVJU
KG9wID09IEFyaXRoTWluIHx8IG9wID09IEFyaXRoTWF4KTsKKwogICAgIGlmIChhcmd1bWVudENv
dW50SW5jbHVkaW5nVGhpcyA9PSAxKSB7IC8vIE1hdGgubWluKCkKICAgICAgICAgaW5zZXJ0Q2hl
Y2tzKCk7Ci0gICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIocmVzdWx0T3BlcmFuZCksIGFkZFRv
R3JhcGgoSlNDb25zdGFudCwgT3BJbmZvKG1fY29uc3RhbnROYU4pKSk7CisgICAgICAgIGRvdWJs
ZSByZXN1bHQgPSBvcCA9PSBBcml0aE1heCA/IC1zdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46
OmluZmluaXR5KCkgOiArc3RkOjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgpOwor
ICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKHJlc3VsdE9wZXJhbmQpLCBhZGRUb0dyYXBoKEpT
Q29uc3RhbnQsIE9wSW5mbyhtX2dyYXBoLmZyZWV6ZShqc051bWJlcihyZXN1bHQpKSkpKTsKICAg
ICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgICAK
</data>
<flag name="review"
          id="316823"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294036</attachid>
            <date>2016-11-06 14:26:27 -0800</date>
            <delta_ts>2016-11-06 14:29:19 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>3906</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMDg0MjApCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE3IEBACisyMDE2LTExLTA2ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIE1hdGgubWluKCkvTWF0aC5tYXgoKSB3aXRoIG5vIGFyZ3VtZW50cyBp
cyBsb3dlcmVkIGluY29ycmVjdGx5IGluIHRoZSBCeXRlY29kZVBhcnNlcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NDY0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS8yOTEzMTQ1Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
KworICAgICAgICAqIHN0cmVzcy9tYXRoLW1heC1taW4tbm8tYXJndW1lbnRzLmpzOiBBZGRlZC4K
KyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtaW4pOgorICAgICAgICAobWF4KToKKyAgICAg
ICAgKHRlc3QpOgorCiAyMDE2LTExLTA0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4K
IAogICAgICAgICBFcnJvciBkZXNjcmlwdGlvbiBjb2RlIHNob3VsZCBiZSBhYmxlIHRvIGhhbmRs
ZSBTeW1ib2wgdmFsdWVzLgpJbmRleDogSlNUZXN0cy9zdHJlc3MvbWF0aC1tYXgtbWluLW5vLWFy
Z3VtZW50cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9tYXRoLW1heC1taW4tbm8t
YXJndW1lbnRzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL21hdGgtbWF4LW1p
bi1uby1hcmd1bWVudHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorZnVuY3Rp
b24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFk
ISIpCit9CisKK2Z1bmN0aW9uIG1pbigpIHsKKwlyZXR1cm4gTWF0aC5taW4oKTsKK30KKworZnVu
Y3Rpb24gbWF4KCkgeworCXJldHVybiBNYXRoLm1heCgpOworfQorCitmdW5jdGlvbiB0ZXN0KCkg
eworCWZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7IGkrKykgeworCQlhc3NlcnQobWluKCkgPT09
IEluZmluaXR5KTsKKwkJYXNzZXJ0KG1heCgpID09PSAtSW5maW5pdHkpOworCX0KK30KK3Rlc3Qo
KTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjA4NDIwKQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5
IEBACisyMDE2LTExLTA2ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAg
ICAgIE1hdGgubWluKCkvTWF0aC5tYXgoKSB3aXRoIG5vIGFyZ3VtZW50cyBpcyBsb3dlcmVkIGlu
Y29ycmVjdGx5IGluIHRoZSBCeXRlY29kZVBhcnNlcgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NDY0CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8y
OTEzMTQ1Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBX
ZSB3ZXJlIGluY29ycmVjdGx5IG1hdGNoaW5nIHRoaXMgcGF0dGVybiBpbnNpZGUgdGhlIGJ5dGVj
b2RlIHBhcnNlcgorICAgICAgICB0byByZXR1cm4gTmFOLiBJbnN0ZWFkLCB3ZSBtdXN0IHJldHVy
bjoKKyAgICAgICAgKiAgSW5maW5pdHkgZm9yIE1hdGgubWluKCkKKyAgICAgICAgKiAtSW5maW5p
dHkgZm9yIE1hdGgubWF4KCkKKworICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6
CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmhhbmRsZU1pbk1heCk6CisKIDIw
MTYtMTEtMDUgIEtvbnN0YW50aW4gVG9rYXJldiAgPGFubnVsZW5AeWFuZGV4LnJ1PgogCiAgICAg
ICAgIEZpeGVkIGNvbXBpbGF0aW9uIG9mIExMSW50IHdpdGggTWluR1cKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCShyZXZpc2lvbiAy
MDg0MjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMjExMSwxMyArMjExMSwxNiBAQCBib29sIEJ5dGVDb2RlUGFy
c2VyOjpoYW5kbGVJbmxpbmluZygKIHRlbXBsYXRlPHR5cGVuYW1lIENoZWNrc0Z1bmN0b3I+CiBi
b29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVNaW5NYXgoaW50IHJlc3VsdE9wZXJhbmQsIE5vZGVU
eXBlIG9wLCBpbnQgcmVnaXN0ZXJPZmZzZXQsIGludCBhcmd1bWVudENvdW50SW5jbHVkaW5nVGhp
cywgY29uc3QgQ2hlY2tzRnVuY3RvciYgaW5zZXJ0Q2hlY2tzKQogewotICAgIGlmIChhcmd1bWVu
dENvdW50SW5jbHVkaW5nVGhpcyA9PSAxKSB7IC8vIE1hdGgubWluKCkKKyAgICBBU1NFUlQob3Ag
PT0gQXJpdGhNaW4gfHwgb3AgPT0gQXJpdGhNYXgpOworCisgICAgaWYgKGFyZ3VtZW50Q291bnRJ
bmNsdWRpbmdUaGlzID09IDEpIHsKICAgICAgICAgaW5zZXJ0Q2hlY2tzKCk7Ci0gICAgICAgIHNl
dChWaXJ0dWFsUmVnaXN0ZXIocmVzdWx0T3BlcmFuZCksIGFkZFRvR3JhcGgoSlNDb25zdGFudCwg
T3BJbmZvKG1fY29uc3RhbnROYU4pKSk7CisgICAgICAgIGRvdWJsZSByZXN1bHQgPSBvcCA9PSBB
cml0aE1heCA/IC1zdGQ6Om51bWVyaWNfbGltaXRzPGRvdWJsZT46OmluZmluaXR5KCkgOiArc3Rk
OjpudW1lcmljX2xpbWl0czxkb3VibGU+OjppbmZpbml0eSgpOworICAgICAgICBzZXQoVmlydHVh
bFJlZ2lzdGVyKHJlc3VsdE9wZXJhbmQpLCBhZGRUb0dyYXBoKEpTQ29uc3RhbnQsIE9wSW5mbyht
X2dyYXBoLmZyZWV6ZShqc0RvdWJsZU51bWJlcihyZXN1bHQpKSkpKTsKICAgICAgICAgcmV0dXJu
IHRydWU7CiAgICAgfQogICAgICAKLSAgICBpZiAoYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMg
PT0gMikgeyAvLyBNYXRoLm1pbih4KQorICAgIGlmIChhcmd1bWVudENvdW50SW5jbHVkaW5nVGhp
cyA9PSAyKSB7CiAgICAgICAgIGluc2VydENoZWNrcygpOwogICAgICAgICBOb2RlKiByZXN1bHQg
PSBnZXQoVmlydHVhbFJlZ2lzdGVyKHZpcnR1YWxSZWdpc3RlckZvckFyZ3VtZW50KDEsIHJlZ2lz
dGVyT2Zmc2V0KSkpOwogICAgICAgICBhZGRUb0dyYXBoKFBoYW50b20sIEVkZ2UocmVzdWx0LCBO
dW1iZXJVc2UpKTsKQEAgLTIxMjUsNyArMjEyOCw3IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6Omhh
bmRsZU1pbk1heChpbnQgcmUKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQogICAgIAotICAg
IGlmIChhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyA9PSAzKSB7IC8vIE1hdGgubWluKHgsIHkp
CisgICAgaWYgKGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzID09IDMpIHsKICAgICAgICAgaW5z
ZXJ0Q2hlY2tzKCk7CiAgICAgICAgIHNldChWaXJ0dWFsUmVnaXN0ZXIocmVzdWx0T3BlcmFuZCks
IGFkZFRvR3JhcGgob3AsIGdldCh2aXJ0dWFsUmVnaXN0ZXJGb3JBcmd1bWVudCgxLCByZWdpc3Rl
ck9mZnNldCkpLCBnZXQodmlydHVhbFJlZ2lzdGVyRm9yQXJndW1lbnQoMiwgcmVnaXN0ZXJPZmZz
ZXQpKSkpOwogICAgICAgICByZXR1cm4gdHJ1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>294037</attachid>
            <date>2016-11-06 14:29:19 -0800</date>
            <delta_ts>2016-11-09 15:26:26 -0800</delta_ts>
            <desc>patch for landing</desc>
            <filename>c-backup.diff</filename>
            <type>text/plain</type>
            <size>3928</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IEpTVGVzdHMvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEpTVGVzdHMvQ2hhbmdlTG9n
CShyZXZpc2lvbiAyMDg0MjApCisrKyBKU1Rlc3RzL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpA
QCAtMSwzICsxLDE3IEBACisyMDE2LTExLTA2ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUu
Y29tPgorCisgICAgICAgIE1hdGgubWluKCkvTWF0aC5tYXgoKSB3aXRoIG5vIGFyZ3VtZW50cyBp
cyBsb3dlcmVkIGluY29ycmVjdGx5IGluIHRoZSBCeXRlY29kZVBhcnNlcgorICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NDY0CisgICAgICAgIDxyZGFy
Oi8vcHJvYmxlbS8yOTEzMTQ1Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4K
KworICAgICAgICAqIHN0cmVzcy9tYXRoLW1heC1taW4tbm8tYXJndW1lbnRzLmpzOiBBZGRlZC4K
KyAgICAgICAgKGFzc2VydCk6CisgICAgICAgIChtaW4pOgorICAgICAgICAobWF4KToKKyAgICAg
ICAgKHRlc3QpOgorCiAyMDE2LTExLTA0ICBNYXJrIExhbSAgPG1hcmsubGFtQGFwcGxlLmNvbT4K
IAogICAgICAgICBFcnJvciBkZXNjcmlwdGlvbiBjb2RlIHNob3VsZCBiZSBhYmxlIHRvIGhhbmRs
ZSBTeW1ib2wgdmFsdWVzLgpJbmRleDogSlNUZXN0cy9zdHJlc3MvbWF0aC1tYXgtbWluLW5vLWFy
Z3VtZW50cy5qcwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKU1Rlc3RzL3N0cmVzcy9tYXRoLW1heC1taW4tbm8t
YXJndW1lbnRzLmpzCShub25leGlzdGVudCkKKysrIEpTVGVzdHMvc3RyZXNzL21hdGgtbWF4LW1p
bi1uby1hcmd1bWVudHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwyMCBAQAorZnVuY3Rp
b24gYXNzZXJ0KGIpIHsKKyAgICBpZiAoIWIpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFk
ISIpCit9CisKK2Z1bmN0aW9uIG1pbigpIHsKKyAgICByZXR1cm4gTWF0aC5taW4oKTsKK30KKwor
ZnVuY3Rpb24gbWF4KCkgeworICAgIHJldHVybiBNYXRoLm1heCgpOworfQorCitmdW5jdGlvbiB0
ZXN0KCkgeworICAgIGZvciAobGV0IGkgPSAwOyBpIDwgMTAwMDA7IGkrKykgeworICAgICAgICBh
c3NlcnQobWluKCkgPT09IEluZmluaXR5KTsKKyAgICAgICAgYXNzZXJ0KG1heCgpID09PSAtSW5m
aW5pdHkpOworICAgIH0KK30KK3Rlc3QoKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9D
aGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwko
cmV2aXNpb24gMjA4NDIwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29y
a2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBACisyMDE2LTExLTA2ICBTYWFtIEJhcmF0aSAgPHNi
YXJhdGlAYXBwbGUuY29tPgorCisgICAgICAgIE1hdGgubWluKCkvTWF0aC5tYXgoKSB3aXRoIG5v
IGFyZ3VtZW50cyBpcyBsb3dlcmVkIGluY29ycmVjdGx5IGluIHRoZSBCeXRlY29kZVBhcnNlcgor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTY0NDY0Cisg
ICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yOTEzMTQ1Mj4KKworICAgICAgICBSZXZpZXdlZCBieSBE
YXJpbiBBZGxlci4KKworICAgICAgICBXZSB3ZXJlIGluY29ycmVjdGx5IG1hdGNoaW5nIHRoaXMg
cGF0dGVybiBpbnNpZGUgdGhlIGJ5dGVjb2RlIHBhcnNlcgorICAgICAgICB0byByZXR1cm4gTmFO
LiBJbnN0ZWFkLCB3ZSBtdXN0IHJldHVybjoKKyAgICAgICAgICBJbmZpbml0eSBmb3IgTWF0aC5t
aW4oKQorICAgICAgICAgLUluZmluaXR5IGZvciBNYXRoLm1heCgpCisKKyAgICAgICAgKiBkZmcv
REZHQnl0ZUNvZGVQYXJzZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2Vy
OjpoYW5kbGVNaW5NYXgpOgorCiAyMDE2LTExLTA1ICBLb25zdGFudGluIFRva2FyZXYgIDxhbm51
bGVuQHlhbmRleC5ydT4KIAogICAgICAgICBGaXhlZCBjb21waWxhdGlvbiBvZiBMTEludCB3aXRo
IE1pbkdXCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2RlUGFyc2Vy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2Rl
UGFyc2VyLmNwcAkocmV2aXNpb24gMjA4NDIwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Rm
Zy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTIxMTEsMTMgKzIxMTEs
MTYgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlSW5saW5pbmcoCiB0ZW1wbGF0ZTx0eXBl
bmFtZSBDaGVja3NGdW5jdG9yPgogYm9vbCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlTWluTWF4KGlu
dCByZXN1bHRPcGVyYW5kLCBOb2RlVHlwZSBvcCwgaW50IHJlZ2lzdGVyT2Zmc2V0LCBpbnQgYXJn
dW1lbnRDb3VudEluY2x1ZGluZ1RoaXMsIGNvbnN0IENoZWNrc0Z1bmN0b3ImIGluc2VydENoZWNr
cykKIHsKLSAgICBpZiAoYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgPT0gMSkgeyAvLyBNYXRo
Lm1pbigpCisgICAgQVNTRVJUKG9wID09IEFyaXRoTWluIHx8IG9wID09IEFyaXRoTWF4KTsKKwor
ICAgIGlmIChhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcyA9PSAxKSB7CiAgICAgICAgIGluc2Vy
dENoZWNrcygpOwotICAgICAgICBzZXQoVmlydHVhbFJlZ2lzdGVyKHJlc3VsdE9wZXJhbmQpLCBh
ZGRUb0dyYXBoKEpTQ29uc3RhbnQsIE9wSW5mbyhtX2NvbnN0YW50TmFOKSkpOworICAgICAgICBk
b3VibGUgcmVzdWx0ID0gb3AgPT0gQXJpdGhNYXggPyAtc3RkOjpudW1lcmljX2xpbWl0czxkb3Vi
bGU+OjppbmZpbml0eSgpIDogK3N0ZDo6bnVtZXJpY19saW1pdHM8ZG91YmxlPjo6aW5maW5pdHko
KTsKKyAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihyZXN1bHRPcGVyYW5kKSwgYWRkVG9HcmFw
aChKU0NvbnN0YW50LCBPcEluZm8obV9ncmFwaC5mcmVlemUoanNEb3VibGVOdW1iZXIocmVzdWx0
KSkpKSk7CiAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICAgCi0gICAgaWYgKGFyZ3Vt
ZW50Q291bnRJbmNsdWRpbmdUaGlzID09IDIpIHsgLy8gTWF0aC5taW4oeCkKKyAgICBpZiAoYXJn
dW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgPT0gMikgewogICAgICAgICBpbnNlcnRDaGVja3MoKTsK
ICAgICAgICAgTm9kZSogcmVzdWx0ID0gZ2V0KFZpcnR1YWxSZWdpc3Rlcih2aXJ0dWFsUmVnaXN0
ZXJGb3JBcmd1bWVudCgxLCByZWdpc3Rlck9mZnNldCkpKTsKICAgICAgICAgYWRkVG9HcmFwaChQ
aGFudG9tLCBFZGdlKHJlc3VsdCwgTnVtYmVyVXNlKSk7CkBAIC0yMTI1LDcgKzIxMjgsNyBAQCBi
b29sIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVNaW5NYXgoaW50IHJlCiAgICAgICAgIHJldHVybiB0
cnVlOwogICAgIH0KICAgICAKLSAgICBpZiAoYXJndW1lbnRDb3VudEluY2x1ZGluZ1RoaXMgPT0g
MykgeyAvLyBNYXRoLm1pbih4LCB5KQorICAgIGlmIChhcmd1bWVudENvdW50SW5jbHVkaW5nVGhp
cyA9PSAzKSB7CiAgICAgICAgIGluc2VydENoZWNrcygpOwogICAgICAgICBzZXQoVmlydHVhbFJl
Z2lzdGVyKHJlc3VsdE9wZXJhbmQpLCBhZGRUb0dyYXBoKG9wLCBnZXQodmlydHVhbFJlZ2lzdGVy
Rm9yQXJndW1lbnQoMSwgcmVnaXN0ZXJPZmZzZXQpKSwgZ2V0KHZpcnR1YWxSZWdpc3RlckZvckFy
Z3VtZW50KDIsIHJlZ2lzdGVyT2Zmc2V0KSkpKTsKICAgICAgICAgcmV0dXJuIHRydWU7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>