<?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>142071</bug_id>
          
          <creation_ts>2015-02-26 19:16:40 -0800</creation_ts>
          <short_desc>BytecodeGenerator::constLocal() behaves identically to BytecodeGenerator::local() for the purposes of its one caller</short_desc>
          <delta_ts>2015-02-27 07:33:13 -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>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>INVALID</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>141174</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Filip Pizlo">fpizlo</assigned_to>
          <cc>barraclough</cc>
    
    <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>mhahnenb</cc>
    
    <cc>mmirman</cc>
    
    <cc>msaboff</cc>
    
    <cc>nrotem</cc>
    
    <cc>oliver</cc>
    
    <cc>saam</cc>
    
    <cc>sam</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1072606</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-02-26 19:16:40 -0800</bug_when>
    <thetext>So, remove constLocal().

The behavioral differences are:

- constLocal() doesn&apos;t have a special case for &quot;this&quot; that overrides other checks like the shouldOptimizeLocals() check.  But the one user of constLocal() is for the &quot;const x&quot; expression, and &quot;const this&quot; doesn&apos;t parse.

- constLocal() won&apos;t createArgumentsIfNecessary() for &quot;arguments&quot;.  But it&apos;s harmless if it does, since its one user assigns to the local.

So, we can remove constLocal() and make its one caller use local() instead.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072607</commentid>
    <comment_count>1</comment_count>
      <attachid>247483</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-02-26 19:17:43 -0800</bug_when>
    <thetext>Created attachment 247483
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072609</commentid>
    <comment_count>2</comment_count>
      <attachid>247483</attachid>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2015-02-26 19:39:09 -0800</bug_when>
    <thetext>Comment on attachment 247483
the patch

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

Missing ChangeLog.  The text in your bugzilla description is good to have in the ChangeLog.

r=me with ChangeLog added.

&gt; Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp:4
&gt; +*  Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2012, 2013, 2015 Apple Inc. All rights reserved.

nit: You can collapse this to:
 * Copyright (C) 2003-2009, 2012-2013, 2015 Apple Inc. All rights reserved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072610</commentid>
    <comment_count>3</comment_count>
      <attachid>247484</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-02-26 19:41:54 -0800</bug_when>
    <thetext>Created attachment 247484
the patch

And now, with a ChangeLog!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072635</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-02-26 21:13:20 -0800</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/180723</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072654</commentid>
    <comment_count>5</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2015-02-26 22:09:39 -0800</bug_when>
    <thetext>This broke Windows tests:

** The following JSC stress test failures have been introduced:
	stress/const-arguments.js.always-trigger-copy-phase
	stress/const-arguments.js.default
	stress/const-arguments.js.dfg-eager
	stress/const-arguments.js.dfg-eager-no-cjit-validate
	stress/const-arguments.js.no-cjit-validate-phases
	stress/const-arguments.js.no-llint</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072666</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-02-26 23:12:16 -0800</bug_when>
    <thetext>(In reply to comment #5)
&gt; This broke Windows tests:
&gt; 
&gt; ** The following JSC stress test failures have been introduced:
&gt; 	stress/const-arguments.js.always-trigger-copy-phase
&gt; 	stress/const-arguments.js.default
&gt; 	stress/const-arguments.js.dfg-eager
&gt; 	stress/const-arguments.js.dfg-eager-no-cjit-validate
&gt; 	stress/const-arguments.js.no-cjit-validate-phases
&gt; 	stress/const-arguments.js.no-llint

It might have broken other things too.  I&apos;m looking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072667</commentid>
    <comment_count>7</comment_count>
    <who name="Brent Fulgham">bfulgham</who>
    <bug_when>2015-02-26 23:19:08 -0800</bug_when>
    <thetext>This broke the iOS build and Windows debug tests.

This should be rolled out if it cannot be fixed ASAP.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072668</commentid>
    <comment_count>8</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-02-26 23:23:26 -0800</bug_when>
    <thetext>(In reply to comment #7)
&gt; This broke the iOS build and Windows debug tests.
&gt; 
&gt; This should be rolled out if it cannot be fixed ASAP.

I&apos;m also seeing lots of breakage.  I agree with rollout.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072670</commentid>
    <comment_count>9</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-02-26 23:27:02 -0800</bug_when>
    <thetext>Rolled out in http://trac.webkit.org/changeset/180732</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1072696</commentid>
    <comment_count>10</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-02-27 07:33:13 -0800</bug_when>
    <thetext>It looks like there is some bizarre behavior here.  I&apos;ll have to address it a different way in my refactoring in bug 141174.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247483</attachid>
            <date>2015-02-26 19:17:43 -0800</date>
            <delta_ts>2015-02-26 19:41:54 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>3894</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0
b3IuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIv
Qnl0ZWNvZGVHZW5lcmF0b3IuY3BwCShyZXZpc2lvbiAxODA3MTEpCisrKyBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAkod29ya2luZyBjb3B5
KQpAQCAtMTIxMywyNCArMTIxMyw2IEBAIExvY2FsIEJ5dGVjb2RlR2VuZXJhdG9yOjpsb2NhbChj
b25zdCBJZGUKICAgICByZXR1cm4gTG9jYWwobG9jYWwsIGVudHJ5LmdldEF0dHJpYnV0ZXMoKSwg
aXNBcmd1bWVudHMgPyBMb2NhbDo6U3BlY2lhbExvY2FsIDogTG9jYWw6Ok5vcm1hbExvY2FsKTsK
IH0KIAotTG9jYWwgQnl0ZWNvZGVHZW5lcmF0b3I6OmNvbnN0TG9jYWwoY29uc3QgSWRlbnRpZmll
ciYgcHJvcGVydHkpCi17Ci0gICAgaWYgKG1fY29kZVR5cGUgIT0gRnVuY3Rpb25Db2RlKQotICAg
ICAgICByZXR1cm4gTG9jYWwoKTsKLQotICAgIFN5bWJvbFRhYmxlRW50cnkgZW50cnkgPSBzeW1i
b2xUYWJsZSgpLmdldChwcm9wZXJ0eS5pbXBsKCkpOwotICAgIGlmIChlbnRyeS5pc051bGwoKSkK
LSAgICAgICAgcmV0dXJuIExvY2FsKCk7Ci0KLSAgICBSZWdpc3RlcklEKiBsb2NhbCA9IGNyZWF0
ZUxhenlSZWdpc3RlcklmTmVjZXNzYXJ5KCZyZWdpc3RlckZvcihlbnRyeS5nZXRJbmRleCgpKSk7
Ci0KLSAgICBib29sIGlzQXJndW1lbnRzID0gcHJvcGVydHkgPT0gcHJvcGVydHlOYW1lcygpLmFy
Z3VtZW50czsKLSAgICBpZiAoaXNDYXB0dXJlZChsb2NhbC0+aW5kZXgoKSkgJiYgbV9sZXhpY2Fs
RW52aXJvbm1lbnRSZWdpc3RlcikKLSAgICAgICAgcmV0dXJuIExvY2FsKCk7Ci0KLSAgICByZXR1
cm4gTG9jYWwobG9jYWwsIGVudHJ5LmdldEF0dHJpYnV0ZXMoKSwgaXNBcmd1bWVudHMgPyBMb2Nh
bDo6U3BlY2lhbExvY2FsIDogTG9jYWw6Ok5vcm1hbExvY2FsKTsKLX0KLQogdm9pZCBCeXRlY29k
ZUdlbmVyYXRvcjo6ZW1pdENoZWNrSGFzSW5zdGFuY2UoUmVnaXN0ZXJJRCogZHN0LCBSZWdpc3Rl
cklEKiB2YWx1ZSwgUmVnaXN0ZXJJRCogYmFzZSwgTGFiZWwqIHRhcmdldCkKIHsKICAgICBzaXpl
X3QgYmVnaW4gPSBpbnN0cnVjdGlvbnMoKS5zaXplKCk7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCShyZXZp
c2lvbiAxODA3MTEpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVj
b2RlR2VuZXJhdG9yLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDA4LCAyMDA5LCAyMDEyLCAyMDEzLCAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSwgMjAxMi0yMDE1IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAwOCBDYW1l
cm9uIFp3YXJpY2ggPGN3endhcmljaEB1d2F0ZXJsb28uY2E+CiAgKiBDb3B5cmlnaHQgKEMpIDIw
MTIgSWdhbGlhLCBTLkwuCiAgKgpAQCAtMjg2LDcgKzI4Niw2IEBAIG5hbWVzcGFjZSBKU0Mgewog
ICAgICAgICBDYXB0dXJlTW9kZSBjYXB0dXJlTW9kZShpbnQgb3BlcmFuZCkgeyByZXR1cm4gaXND
YXB0dXJlZChvcGVyYW5kKSA/IElzQ2FwdHVyZWQgOiBOb3RDYXB0dXJlZDsgfQogICAgICAgICAK
ICAgICAgICAgTG9jYWwgbG9jYWwoY29uc3QgSWRlbnRpZmllciYpOwotICAgICAgICBMb2NhbCBj
b25zdExvY2FsKGNvbnN0IElkZW50aWZpZXImKTsKIAogICAgICAgICAvLyBSZXR1cm5zIHRoZSBy
ZWdpc3RlciBzdG9yaW5nICJ0aGlzIgogICAgICAgICBSZWdpc3RlcklEKiB0aGlzUmVnaXN0ZXIo
KSB7IHJldHVybiAmbV90aGlzUmVnaXN0ZXI7IH0KSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAJKHJldmlzaW9uIDE4MDcw
MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvTm9kZXNDb2RlZ2VuLmNw
cAkod29ya2luZyBjb3B5KQpAQCAtMSw3ICsxLDcgQEAKIC8qCiAqICBDb3B5cmlnaHQgKEMpIDE5
OTktMjAwMiBIYXJyaSBQb3J0ZW4gKHBvcnRlbkBrZGUub3JnKQogKiAgQ29weXJpZ2h0IChDKSAy
MDAxIFBldGVyIEtlbGx5IChwbWtAcG9zdC5jb20pCi0qICBDb3B5cmlnaHQgKEMpIDIwMDMsIDIw
MDQsIDIwMDUsIDIwMDYsIDIwMDcsIDIwMDgsIDIwMDksIDIwMTIsIDIwMTMgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorKiAgQ29weXJpZ2h0IChDKSAyMDAzLCAyMDA0LCAyMDA1LCAy
MDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEyLCAyMDEzLCAyMDE1IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KICogIENvcHlyaWdodCAoQykgMjAwNyBDYW1lcm9uIFp3YXJpY2ggKGN3
endhcmljaEB1d2F0ZXJsb28uY2EpCiAqICBDb3B5cmlnaHQgKEMpIDIwMDcgTWFrcyBPcmxvdmlj
aAogKiAgQ29weXJpZ2h0IChDKSAyMDA3IEVyaWMgU2VpZGVsIDxlcmljQHdlYmtpdC5vcmc+CkBA
IC0xNjk1LDcgKzE2OTUsNyBAQCBSZWdpc3RlcklEKiBDb21tYU5vZGU6OmVtaXRCeXRlY29kZShC
eXRlCiBSZWdpc3RlcklEKiBDb25zdERlY2xOb2RlOjplbWl0Q29kZVNpbmdsZShCeXRlY29kZUdl
bmVyYXRvciYgZ2VuZXJhdG9yKQogewogICAgIC8vIEZJWE1FOiBUaGlzIGNvZGUgZG9lcyBub3Qg
bWF0Y2ggdGhlIGJlaGF2aW9yIG9mIGNvbnN0IGluIEZpcmVmb3guCi0gICAgaWYgKExvY2FsIGxv
Y2FsID0gZ2VuZXJhdG9yLmNvbnN0TG9jYWwobV9pZGVudCkpIHsKKyAgICBpZiAoTG9jYWwgbG9j
YWwgPSBnZW5lcmF0b3IubG9jYWwobV9pZGVudCkpIHsKICAgICAgICAgaWYgKCFtX2luaXQpCiAg
ICAgICAgICAgICByZXR1cm4gbG9jYWwuZ2V0KCk7CiAKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS90ZXN0cy9zdHJlc3MvY29uc3QtYXJndW1lbnRzLmpzCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvY29uc3QtYXJndW1lbnRzLmpzCShyZXZpc2lv
biAwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL3Rlc3RzL3N0cmVzcy9jb25zdC1hcmd1bWVu
dHMuanMJKHdvcmtpbmcgY29weSkKQEAgLTAsMCArMSwxNiBAQAorZnVuY3Rpb24gZm9vKCkgewor
ICAgIGNvbnN0IGFyZ3VtZW50cyA9IDUyOworICAgIHJldHVybiBhcmd1bWVudHM7Cit9CisKK25v
SW5saW5lKGZvbyk7CisKK2Z1bmN0aW9uIGNoZWNrKHJlc3VsdCwgZXhwZWN0ZWQpCit7CisgICAg
aWYgKHJlc3VsdCAhPT0gZXhwZWN0ZWQpCisgICAgICAgIHRocm93IG5ldyBFcnJvcigiQmFkIHJl
c3VsdCBhdCBpID0gIiArIGkgKyAiOiAiICsgcmVzdWx0ICsgIiAoZXhwZWN0ZWQgIiArIGV4cGVj
dGVkICsgIikiKTsKK30KKworZm9yICh2YXIgaSA9IDA7IGkgPCAxMDAwMDsgKytpKQorICAgIGNo
ZWNrKGZvbygpLCA1Mik7CisK
</data>
<flag name="review"
          id="272414"
          type_id="1"
          status="+"
          setter="mark.lam"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>247484</attachid>
            <date>2015-02-26 19:41:54 -0800</date>
            <delta_ts>2015-02-26 19:44:00 -0800</delta_ts>
            <desc>the patch</desc>
            <filename>blah.patch</filename>
            <type>text/plain</type>
            <size>4870</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTgwNzIwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDE1LTAyLTI2ICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
Qnl0ZWNvZGVHZW5lcmF0b3I6OmNvbnN0TG9jYWwoKSBiZWhhdmVzIGlkZW50aWNhbGx5IHRvIEJ5
dGVjb2RlR2VuZXJhdG9yOjpsb2NhbCgpIGZvciB0aGUgcHVycG9zZXMgb2YgaXRzIG9uZSBjYWxs
ZXIKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE0MjA3
MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogYnl0
ZWNvbXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcDoKKyAgICAgICAgKEpTQzo6Qnl0ZWNvZGVH
ZW5lcmF0b3I6OmNvbnN0TG9jYWwpOiBEZWxldGVkLgorICAgICAgICAqIGJ5dGVjb21waWxlci9C
eXRlY29kZUdlbmVyYXRvci5oOgorICAgICAgICAqIGJ5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4u
Y3BwOgorICAgICAgICAoSlNDOjpDb25zdERlY2xOb2RlOjplbWl0Q29kZVNpbmdsZSk6CisgICAg
ICAgICogdGVzdHMvc3RyZXNzL2NvbnN0LWFyZ3VtZW50cy5qczogQWRkZWQuCisgICAgICAgIChm
b28pOgorICAgICAgICAoY2hlY2spOgorCiAyMDE1LTAyLTI2ICBNYXJrIExhbSAgPG1hcmsubGFt
QGFwcGxlLmNvbT4KIAogICAgICAgICBBc3NlcnRpb24gZml4IGZvciByMTgwNzExOiBUaGUgYm9v
bCByZXR1cm5pbmcgZm9ybSBvZiBCeXRlY29kZUdlbmVyYXRvcjo6YWRkVmFyKCkgY2FuIGJlIHJl
bW92ZWQuCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL0J5dGVjb2Rl
R2VuZXJhdG9yLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNv
bXBpbGVyL0J5dGVjb2RlR2VuZXJhdG9yLmNwcAkocmV2aXNpb24gMTgwNzIwKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTEyMTQsMjQgKzEyMTQsNiBAQCBMb2NhbCBCeXRlY29kZUdlbmVyYXRvcjo6
bG9jYWwoY29uc3QgSWRlCiAgICAgcmV0dXJuIExvY2FsKGxvY2FsLCBlbnRyeS5nZXRBdHRyaWJ1
dGVzKCksIGlzQXJndW1lbnRzID8gTG9jYWw6OlNwZWNpYWxMb2NhbCA6IExvY2FsOjpOb3JtYWxM
b2NhbCk7CiB9CiAKLUxvY2FsIEJ5dGVjb2RlR2VuZXJhdG9yOjpjb25zdExvY2FsKGNvbnN0IElk
ZW50aWZpZXImIHByb3BlcnR5KQotewotICAgIGlmIChtX2NvZGVUeXBlICE9IEZ1bmN0aW9uQ29k
ZSkKLSAgICAgICAgcmV0dXJuIExvY2FsKCk7Ci0KLSAgICBTeW1ib2xUYWJsZUVudHJ5IGVudHJ5
ID0gc3ltYm9sVGFibGUoKS5nZXQocHJvcGVydHkuaW1wbCgpKTsKLSAgICBpZiAoZW50cnkuaXNO
dWxsKCkpCi0gICAgICAgIHJldHVybiBMb2NhbCgpOwotCi0gICAgUmVnaXN0ZXJJRCogbG9jYWwg
PSBjcmVhdGVMYXp5UmVnaXN0ZXJJZk5lY2Vzc2FyeSgmcmVnaXN0ZXJGb3IoZW50cnkuZ2V0SW5k
ZXgoKSkpOwotCi0gICAgYm9vbCBpc0FyZ3VtZW50cyA9IHByb3BlcnR5ID09IHByb3BlcnR5TmFt
ZXMoKS5hcmd1bWVudHM7Ci0gICAgaWYgKGlzQ2FwdHVyZWQobG9jYWwtPmluZGV4KCkpICYmIG1f
bGV4aWNhbEVudmlyb25tZW50UmVnaXN0ZXIpCi0gICAgICAgIHJldHVybiBMb2NhbCgpOwotCi0g
ICAgcmV0dXJuIExvY2FsKGxvY2FsLCBlbnRyeS5nZXRBdHRyaWJ1dGVzKCksIGlzQXJndW1lbnRz
ID8gTG9jYWw6OlNwZWNpYWxMb2NhbCA6IExvY2FsOjpOb3JtYWxMb2NhbCk7Ci19Ci0KIHZvaWQg
Qnl0ZWNvZGVHZW5lcmF0b3I6OmVtaXRDaGVja0hhc0luc3RhbmNlKFJlZ2lzdGVySUQqIGRzdCwg
UmVnaXN0ZXJJRCogdmFsdWUsIFJlZ2lzdGVySUQqIGJhc2UsIExhYmVsKiB0YXJnZXQpCiB7CiAg
ICAgc2l6ZV90IGJlZ2luID0gaW5zdHJ1Y3Rpb25zKCkuc2l6ZSgpOwpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9CeXRlY29kZUdlbmVyYXRvci5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29tcGlsZXIvQnl0ZWNvZGVHZW5lcmF0b3Iu
aAkocmV2aXNpb24gMTgwNzIwKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxl
ci9CeXRlY29kZUdlbmVyYXRvci5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNSBAQAogLyoK
LSAqIENvcHlyaWdodCAoQykgMjAwOCwgMjAwOSwgMjAxMiwgMjAxMywgMjAxNCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDgsIDIwMDksIDIwMTIt
MjAxNSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDggQ2FtZXJvbiBad2FyaWNoIDxjd3p3YXJpY2hAdXdhdGVybG9vLmNhPgogICogQ29weXJpZ2h0
IChDKSAyMDEyIElnYWxpYSwgUy5MLgogICoKQEAgLTI4Niw3ICsyODYsNiBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgQ2FwdHVyZU1vZGUgY2FwdHVyZU1vZGUoaW50IG9wZXJhbmQpIHsgcmV0
dXJuIGlzQ2FwdHVyZWQob3BlcmFuZCkgPyBJc0NhcHR1cmVkIDogTm90Q2FwdHVyZWQ7IH0KICAg
ICAgICAgCiAgICAgICAgIExvY2FsIGxvY2FsKGNvbnN0IElkZW50aWZpZXImKTsKLSAgICAgICAg
TG9jYWwgY29uc3RMb2NhbChjb25zdCBJZGVudGlmaWVyJik7CiAKICAgICAgICAgLy8gUmV0dXJu
cyB0aGUgcmVnaXN0ZXIgc3RvcmluZyAidGhpcyIKICAgICAgICAgUmVnaXN0ZXJJRCogdGhpc1Jl
Z2lzdGVyKCkgeyByZXR1cm4gJm1fdGhpc1JlZ2lzdGVyOyB9CkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29kZWdlbi5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb21waWxlci9Ob2Rlc0NvZGVnZW4uY3BwCShyZXZpc2lv
biAxODA3MjApCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvbXBpbGVyL05vZGVzQ29k
ZWdlbi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNyArMSw3IEBACiAvKgogKiAgQ29weXJpZ2h0
IChDKSAxOTk5LTIwMDIgSGFycmkgUG9ydGVuIChwb3J0ZW5Aa2RlLm9yZykKICogIENvcHlyaWdo
dCAoQykgMjAwMSBQZXRlciBLZWxseSAocG1rQHBvc3QuY29tKQotKiAgQ29weXJpZ2h0IChDKSAy
MDAzLCAyMDA0LCAyMDA1LCAyMDA2LCAyMDA3LCAyMDA4LCAyMDA5LCAyMDEyLCAyMDEzIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyogIENvcHlyaWdodCAoQykgMjAwMywgMjAwNCwg
MjAwNSwgMjAwNiwgMjAwNywgMjAwOCwgMjAwOSwgMjAxMiwgMjAxMywgMjAxNSBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAqICBDb3B5cmlnaHQgKEMpIDIwMDcgQ2FtZXJvbiBad2Fy
aWNoIChjd3p3YXJpY2hAdXdhdGVybG9vLmNhKQogKiAgQ29weXJpZ2h0IChDKSAyMDA3IE1ha3Mg
T3Jsb3ZpY2gKICogIENvcHlyaWdodCAoQykgMjAwNyBFcmljIFNlaWRlbCA8ZXJpY0B3ZWJraXQu
b3JnPgpAQCAtMTY5NSw3ICsxNjk1LDcgQEAgUmVnaXN0ZXJJRCogQ29tbWFOb2RlOjplbWl0Qnl0
ZWNvZGUoQnl0ZQogUmVnaXN0ZXJJRCogQ29uc3REZWNsTm9kZTo6ZW1pdENvZGVTaW5nbGUoQnl0
ZWNvZGVHZW5lcmF0b3ImIGdlbmVyYXRvcikKIHsKICAgICAvLyBGSVhNRTogVGhpcyBjb2RlIGRv
ZXMgbm90IG1hdGNoIHRoZSBiZWhhdmlvciBvZiBjb25zdCBpbiBGaXJlZm94LgotICAgIGlmIChM
b2NhbCBsb2NhbCA9IGdlbmVyYXRvci5jb25zdExvY2FsKG1faWRlbnQpKSB7CisgICAgaWYgKExv
Y2FsIGxvY2FsID0gZ2VuZXJhdG9yLmxvY2FsKG1faWRlbnQpKSB7CiAgICAgICAgIGlmICghbV9p
bml0KQogICAgICAgICAgICAgcmV0dXJuIGxvY2FsLmdldCgpOwogCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2NvbnN0LWFyZ3VtZW50cy5qcwo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvdGVzdHMvc3RyZXNzL2NvbnN0LWFyZ3VtZW50cy5qcwko
cmV2aXNpb24gMCkKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS90ZXN0cy9zdHJlc3MvY29uc3Qt
YXJndW1lbnRzLmpzCSh3b3JraW5nIGNvcHkpCkBAIC0wLDAgKzEsMTYgQEAKK2Z1bmN0aW9uIGZv
bygpIHsKKyAgICBjb25zdCBhcmd1bWVudHMgPSA1MjsKKyAgICByZXR1cm4gYXJndW1lbnRzOwor
fQorCitub0lubGluZShmb28pOworCitmdW5jdGlvbiBjaGVjayhyZXN1bHQsIGV4cGVjdGVkKQor
eworICAgIGlmIChyZXN1bHQgIT09IGV4cGVjdGVkKQorICAgICAgICB0aHJvdyBuZXcgRXJyb3Io
IkJhZCByZXN1bHQgYXQgaSA9ICIgKyBpICsgIjogIiArIHJlc3VsdCArICIgKGV4cGVjdGVkICIg
KyBleHBlY3RlZCArICIpIik7Cit9CisKK2ZvciAodmFyIGkgPSAwOyBpIDwgMTAwMDA7ICsraSkK
KyAgICBjaGVjayhmb28oKSwgNTIpOworCg==
</data>
<flag name="review"
          id="272415"
          type_id="1"
          status="+"
          setter="benjamin"
    />
          </attachment>
      

    </bug>

</bugzilla>