<?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>89632</bug_id>
          
          <creation_ts>2012-06-20 20:57:02 -0700</creation_ts>
          <short_desc>DFG should inline &apos;new Array()&apos;</short_desc>
          <delta_ts>2012-06-21 15:59:52 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Filip Pizlo">fpizlo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>654204</commentid>
    <comment_count>0</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-06-20 20:57:02 -0700</bug_when>
    <thetext>Patch forthcoming.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654205</commentid>
    <comment_count>1</comment_count>
      <attachid>148724</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-06-20 21:01:24 -0700</bug_when>
    <thetext>Created attachment 148724
work in progress

Putting up for EWS.

I haven&apos;t really tested this beyond tiny programs, but it&apos;s probably good to go.  Will mark r? once I know that it actually works for real.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654939</commentid>
    <comment_count>2</comment_count>
      <attachid>148900</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-06-21 15:24:38 -0700</bug_when>
    <thetext>Created attachment 148900
the patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654949</commentid>
    <comment_count>3</comment_count>
      <attachid>148900</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2012-06-21 15:30:19 -0700</bug_when>
    <thetext>Comment on attachment 148900
the patch

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

r=me

&gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:1618
&gt; +        if (kind != CodeForConstruct)
&gt; +            return false;

Actually, &apos;new Array()&apos; and &apos;Array()&apos; are equivalent. So, you should remove this check for great good.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654951</commentid>
    <comment_count>4</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-06-21 15:32:57 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; (From update of attachment 148900 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=148900&amp;action=review
&gt; 
&gt; r=me
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGByteCodeParser.cpp:1618
&gt; &gt; +        if (kind != CodeForConstruct)
&gt; &gt; +            return false;
&gt; 
&gt; Actually, &apos;new Array()&apos; and &apos;Array()&apos; are equivalent. So, you should remove this check for great good.

Egads!  You&apos;re right!

Will do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>654983</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-06-21 15:59:52 -0700</bug_when>
    <thetext>Landed in http://trac.webkit.org/changeset/120974</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148724</attachid>
            <date>2012-06-20 21:01:24 -0700</date>
            <delta_ts>2012-06-21 15:24:38 -0700</delta_ts>
            <desc>work in progress</desc>
            <filename>newarray_patch_1.diff</filename>
            <type>text/plain</type>
            <size>7961</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTIwODk5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI3IEBA
CisyMDEyLTA2LTIwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
REZHIHNob3VsZCBpbmxpbmUgJ25ldyBBcnJheSgpJworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk2MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFRoaXMgYWRkcyBzdXBwb3J0IGZvciB0cmVh
dGluZyBJbnRlcm5hbEZ1bmN0aW9uIGxpa2UgaW50cmluc2ljcy4gVGhlIGNvZGUKKyAgICAgICAg
dG8gZG8gc28gaXMgYWN0dWFsbHkgcXVpdGUgY2xlYW4sIHNvIEkgZG9uJ3QgZmVlbCBiYWQgYWJv
dXQgcGVycGV0dWF0aW5nCisgICAgICAgIHRoZSBJbnRlcm5hbEZ1bmN0aW9uIHZzLiBKU0Z1bmN0
aW9uLXdpdGgtTmF0aXZlRXhlY3V0YWJsZSBkaWNob3RvbXkuCisgICAgICAgIAorICAgICAgICBD
dXJyZW50bHkgdGhpcyBuZXdmb3VuZCBwb3dlciBpcyBvbmx5IHVzZWQgdG8gaW5saW5lICduZXcg
QXJyYXkoKScuCisgICAgICAgIAorICAgICAgICBXb3JrIGluIHByb2dyZXNzIQorCisgICAgICAg
ICogZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcDoKKyAgICAgICAgKEJ5dGVDb2RlUGFyc2VyKToK
KyAgICAgICAgKEpTQzo6REZHOjpCeXRlQ29kZVBhcnNlcjo6aGFuZGxlQ2FsbCk6CisgICAgICAg
IChKU0M6OkRGRzo6Qnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUNvbnN0YW50SW50ZXJuYWxGdW5jdGlv
bik6CisgICAgICAgIChERkcpOgorICAgICAgICAqIGRmZy9ERkdHcmFwaC5oOgorICAgICAgICAo
SlNDOjpERkc6OkdyYXBoOjppc0ludGVybmFsRnVuY3Rpb25Db25zdGFudCk6CisgICAgICAgIChK
U0M6OkRGRzo6R3JhcGg6OnZhbHVlT2ZJbnRlcm5hbEZ1bmN0aW9uQ29uc3RhbnQpOgorCiAyMDEy
LTA2LTIwICBHZW9mZnJleSBHYXJlbiAgPGdnYXJlbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVk
dWNlZCAoYnV0IGRpZCBub3QgZWxpbWluYXRlKSB1c2Ugb2YgImJlcnplcmtlciBHQyIKSW5kZXg6
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCShy
ZXZpc2lvbiAxMjA4OTkpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0J5dGVDb2Rl
UGFyc2VyLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgRU5BQkxF
KERGR19KSVQpCiAKKyNpbmNsdWRlICJBcnJheUNvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiQ2Fs
bExpbmtTdGF0dXMuaCIKICNpbmNsdWRlICJDb2RlQmxvY2suaCIKICNpbmNsdWRlICJERkdCeXRl
Q29kZUNhY2hlLmgiCkBAIC05NSw2ICs5Niw3IEBAIHByaXZhdGU6CiAgICAgdm9pZCBzZXRJbnRy
aW5zaWNSZXN1bHQoYm9vbCB1c2VzUmVzdWx0LCBpbnQgcmVzdWx0T3BlcmFuZCwgTm9kZUluZGV4
KTsKICAgICAvLyBIYW5kbGUgaW50cmluc2ljIGZ1bmN0aW9ucy4gUmV0dXJuIHRydWUgaWYgaXQg
c3VjY2VlZGVkLCBmYWxzZSBpZiB3ZSBuZWVkIHRvIHBsYW50IGEgY2FsbC4KICAgICBib29sIGhh
bmRsZUludHJpbnNpYyhib29sIHVzZXNSZXN1bHQsIGludCByZXN1bHRPcGVyYW5kLCBJbnRyaW5z
aWMsIGludCByZWdpc3Rlck9mZnNldCwgaW50IGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzLCBT
cGVjdWxhdGVkVHlwZSBwcmVkaWN0aW9uKTsKKyAgICBib29sIGhhbmRsZUNvbnN0YW50SW50ZXJu
YWxGdW5jdGlvbihib29sIHVzZXNSZXN1bHQsIGludCByZXN1bHRPcGVyYW5kLCBJbnRlcm5hbEZ1
bmN0aW9uKiwgaW50IHJlZ2lzdGVyT2Zmc2V0LCBpbnQgYXJndW1lbnRDb3VudEluY2x1ZGluZ1Ro
aXMsIFNwZWN1bGF0ZWRUeXBlIHByZWRpY3Rpb24sIENvZGVTcGVjaWFsaXphdGlvbktpbmQpOwog
ICAgIHZvaWQgaGFuZGxlR2V0QnlPZmZzZXQoCiAgICAgICAgIGludCBkZXN0aW5hdGlvbk9wZXJh
bmQsIFNwZWN1bGF0ZWRUeXBlLCBOb2RlSW5kZXggYmFzZSwgdW5zaWduZWQgaWRlbnRpZmllck51
bWJlciwKICAgICAgICAgYm9vbCB1c2VJbmxpbmVTdG9yYWdlLCBzaXplX3Qgb2Zmc2V0KTsKQEAg
LTExMjgsNyArMTEzMCwxMiBAQCB2b2lkIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVDYWxsKEludGVy
cHJlCiAgICAgQVNTRVJUKE9QQ09ERV9MRU5HVEgob3BfY2FsbCkgPT0gT1BDT0RFX0xFTkdUSChv
cF9jb25zdHJ1Y3QpKTsKICAgICAKICAgICBOb2RlSW5kZXggY2FsbFRhcmdldCA9IGdldChjdXJy
ZW50SW5zdHJ1Y3Rpb25bMV0udS5vcGVyYW5kKTsKLSAgICBlbnVtIHsgQ29uc3RhbnRGdW5jdGlv
biwgTGlua2VkRnVuY3Rpb24sIFVua25vd25GdW5jdGlvbiB9IGNhbGxUeXBlOworICAgIGVudW0g
eworICAgICAgICBDb25zdGFudEZ1bmN0aW9uLAorICAgICAgICBDb25zdGFudEludGVybmFsRnVu
Y3Rpb24sCisgICAgICAgIExpbmtlZEZ1bmN0aW9uLAorICAgICAgICBVbmtub3duRnVuY3Rpb24K
KyAgICB9IGNhbGxUeXBlOwogICAgICAgICAgICAgCiAgICAgQ2FsbExpbmtTdGF0dXMgY2FsbExp
bmtTdGF0dXMgPSBDYWxsTGlua1N0YXR1czo6Y29tcHV0ZUZvcigKICAgICAgICAgbV9pbmxpbmVT
dGFja1RvcC0+bV9wcm9maWxlZEJsb2NrLCBtX2N1cnJlbnRJbmRleCk7CkBAIC0xMTQ2LDExICsx
MTUzLDE4IEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUNhbGwoSW50ZXJwcmUKICAgICBp
ZiAobV9ncmFwaC5pc0Z1bmN0aW9uQ29uc3RhbnQoY2FsbFRhcmdldCkpIHsKICAgICAgICAgY2Fs
bFR5cGUgPSBDb25zdGFudEZ1bmN0aW9uOwogI2lmIERGR19FTkFCTEUoREVCVUdfVkVSQk9TRSkK
LSAgICAgICAgZGF0YUxvZygiQ2FsbCBhdCBbQCVsdSwgYmMjJXVdIGhhcyBhIGZ1bmN0aW9uIGNv
bnN0YW50OiAlcCwgZXhlYyAlcC5cbiIsCisgICAgICAgIGRhdGFMb2coIkNhbGwgYXQgW0AlbHUs
IGJjIyV1XSBoYXMgYW4gaW50ZXJuYWwgZnVuY3Rpb24gY29uc3RhbnQ6ICVwLCBleGVjICVwLlxu
IiwKICAgICAgICAgICAgICAgICBtX2dyYXBoLnNpemUoKSwgbV9jdXJyZW50SW5kZXgsCiAgICAg
ICAgICAgICAgICAgbV9ncmFwaC52YWx1ZU9mRnVuY3Rpb25Db25zdGFudChjYWxsVGFyZ2V0KSwK
ICAgICAgICAgICAgICAgICBtX2dyYXBoLnZhbHVlT2ZGdW5jdGlvbkNvbnN0YW50KGNhbGxUYXJn
ZXQpLT5leGVjdXRhYmxlKCkpOwogI2VuZGlmCisgICAgfSBlbHNlIGlmIChtX2dyYXBoLmlzSW50
ZXJuYWxGdW5jdGlvbkNvbnN0YW50KGNhbGxUYXJnZXQpKSB7CisgICAgICAgIGNhbGxUeXBlID0g
Q29uc3RhbnRJbnRlcm5hbEZ1bmN0aW9uOworI2lmIERGR19FTkFCTEUoREVCVUdfVkVSQk9TRSkK
KyAgICAgICAgZGF0YUxvZygiQ2FsbCBhdCBbQCVsdSwgYmMjJXVdIGhhcyBhIGZ1bmN0aW9uIGNv
bnN0YW50OiAlcC5cbiIsCisgICAgICAgICAgICAgICAgbV9ncmFwaC5zaXplKCksIG1fY3VycmVu
dEluZGV4LAorICAgICAgICAgICAgICAgIG1fZ3JhcGgudmFsdWVPZkludGVybmFsRnVuY3Rpb25D
b25zdGFudChjYWxsVGFyZ2V0KSk7CisjZW5kaWYKICAgICB9IGVsc2UgaWYgKGNhbGxMaW5rU3Rh
dHVzLmlzU2V0KCkgJiYgIWNhbGxMaW5rU3RhdHVzLmNvdWxkVGFrZVNsb3dQYXRoKCkKICAgICAg
ICAgICAgICAgICYmICFtX2lubGluZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRl
KG1fY3VycmVudEluZGV4LCBCYWRDYWNoZSkpIHsKICAgICAgICAgY2FsbFR5cGUgPSBMaW5rZWRG
dW5jdGlvbjsKQEAgLTExODMsNiArMTE5NywxNiBAQCB2b2lkIEJ5dGVDb2RlUGFyc2VyOjpoYW5k
bGVDYWxsKEludGVycHJlCiAgICAgICAgICAgICBwcmVkaWN0aW9uID0gZ2V0UHJlZGljdGlvbigp
OwogICAgICAgICAgICAgbmV4dE9mZnNldCArPSBPUENPREVfTEVOR1RIKG9wX2NhbGxfcHV0X3Jl
c3VsdCk7CiAgICAgICAgIH0KKworICAgICAgICBpZiAoY2FsbFR5cGUgPT0gQ29uc3RhbnRJbnRl
cm5hbEZ1bmN0aW9uKSB7CisgICAgICAgICAgICBpZiAoaGFuZGxlQ29uc3RhbnRJbnRlcm5hbEZ1
bmN0aW9uKHVzZXNSZXN1bHQsIHJlc3VsdE9wZXJhbmQsIG1fZ3JhcGgudmFsdWVPZkludGVybmFs
RnVuY3Rpb25Db25zdGFudChjYWxsVGFyZ2V0KSwgcmVnaXN0ZXJPZmZzZXQsIGFyZ3VtZW50Q291
bnRJbmNsdWRpbmdUaGlzLCBwcmVkaWN0aW9uLCBraW5kKSkKKyAgICAgICAgICAgICAgICByZXR1
cm47CisgICAgICAgICAgICAKKyAgICAgICAgICAgIC8vIENhbiBvbmx5IGhhbmRsZSB0aGlzIHVz
aW5nIHRoZSBnZW5lcmljIGNhbGwgaGFuZGxlci4KKyAgICAgICAgICAgIGFkZENhbGwoaW50ZXJw
cmV0ZXIsIGN1cnJlbnRJbnN0cnVjdGlvbiwgb3ApOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisgICAgICAgIAogICAgICAgICBKU0Z1bmN0aW9uKiBleHBlY3RlZEZ1bmN0aW9uOwog
ICAgICAgICBJbnRyaW5zaWMgaW50cmluc2ljOwogICAgICAgICBib29sIGNlcnRhaW5BYm91dEV4
cGVjdGVkRnVuY3Rpb247CkBAIC0xMjE0LDcgKzEyMzgsNyBAQCB2b2lkIEJ5dGVDb2RlUGFyc2Vy
OjpoYW5kbGVDYWxsKEludGVycHJlCiAgICAgICAgIH0gZWxzZSBpZiAoaGFuZGxlSW5saW5pbmco
dXNlc1Jlc3VsdCwgY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCwgY2FsbFRhcmdldCwg
cmVzdWx0T3BlcmFuZCwgY2VydGFpbkFib3V0RXhwZWN0ZWRGdW5jdGlvbiwgZXhwZWN0ZWRGdW5j
dGlvbiwgcmVnaXN0ZXJPZmZzZXQsIGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzLCBuZXh0T2Zm
c2V0LCBraW5kKSkKICAgICAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgICAgICAgICAKKyAg
ICAKICAgICBhZGRDYWxsKGludGVycHJldGVyLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIG9wKTsKIH0K
IApAQCAtMTU3MSw2ICsxNTk1LDM3IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUludHJp
bnNpYyhib28KICAgICB9CiB9CiAKK2Jvb2wgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUNvbnN0YW50
SW50ZXJuYWxGdW5jdGlvbigKKyAgICBib29sIHVzZXNSZXN1bHQsIGludCByZXN1bHRPcGVyYW5k
LCBJbnRlcm5hbEZ1bmN0aW9uKiBmdW5jdGlvbiwgaW50IHJlZ2lzdGVyT2Zmc2V0LAorICAgIGlu
dCBhcmd1bWVudENvdW50SW5jbHVkaW5nVGhpcywgU3BlY3VsYXRlZFR5cGUgcHJlZGljdGlvbiwg
Q29kZVNwZWNpYWxpemF0aW9uS2luZCBraW5kKQoreworICAgIC8vIElmIHdlIGV2ZXIgZmluZCB0
aGF0IHdlIGhhdmUgYSBsb3Qgb2YgaW50ZXJuYWwgZnVuY3Rpb25zIHRoYXQgd2Ugc3BlY2lhbGl6
ZSBmb3IsCisgICAgLy8gdGhlbiB3ZSBzaG91bGQgcHJvYmFibHkgaGF2ZSBzb21lIHNvcnQgb2Yg
aGFzaHRhYmxlIGRpc3BhdGNoLCBvciBtYXliZSBldmVuCisgICAgLy8gZGlzcGF0Y2ggc3RyYWln
aHQgdGhyb3VnaCB0aGUgTWV0aG9kVGFibGUgb2YgdGhlIEludGVybmFsRnVuY3Rpb24uIEJ1dCBm
b3Igbm93LAorICAgIC8vIGl0IHNlZW1zIHRoYXQgdGhpcyBjYXNlIGlzIGhpdCBpbmZyZXF1ZW50
bHkgZW5vdWdoLCBhbmQgdGhlIG51bWJlciBvZiBmdW5jdGlvbnMKKyAgICAvLyB3ZSBrbm93IGFi
b3V0IGlzIHNtYWxsIGVub3VnaCwgdGhhdCBoYXZpbmcganVzdCBhIGxpbmVhciBjYXNjYWRlIG9m
IGlmIHN0YXRlbWVudHMKKyAgICAvLyBpcyBnb29kIGVub3VnaC4KKyAgICAKKyAgICBVTlVTRURf
UEFSQU0ocmVnaXN0ZXJPZmZzZXQpOyAvLyBSZW1vdmUgdGhpcyBvbmNlIHdlIGRvIG1vcmUgdGhp
bmdzIHRvIHRoZSBhcmd1bWVudHMuCisgICAgVU5VU0VEX1BBUkFNKHByZWRpY3Rpb24pOyAvLyBS
ZW1vdmUgdGhpcyBvbmNlIHdlIGRvIG1vcmUgdGhpbmdzLgorICAgIAorICAgIGlmIChmdW5jdGlv
bi0+Y2xhc3NJbmZvKCkgPT0gJkFycmF5Q29uc3RydWN0b3I6OnNfaW5mbykgeworICAgICAgICAv
LyBXZSBjb3VsZCBoYW5kbGUgdGhpcyBidXQgZG9uJ3QgZm9yIG5vdy4KKyAgICAgICAgaWYgKGFy
Z3VtZW50Q291bnRJbmNsdWRpbmdUaGlzICE9IDEpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIAorICAgICAgICBpZiAoa2luZCAhPSBDb2RlRm9yQ29uc3RydWN0KQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICAKKyAgICAgICAgc2V0SW50cmluc2ljUmVzdWx0
KAorICAgICAgICAgICAgdXNlc1Jlc3VsdCwgcmVzdWx0T3BlcmFuZCwKKyAgICAgICAgICAgIGFk
ZFRvR3JhcGgoTm9kZTo6VmFyQXJnLCBOZXdBcnJheSwgT3BJbmZvKDApLCBPcEluZm8oMCkpKTsK
KyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIAorICAgIHJldHVybiBmYWxzZTsKK30K
Kwogdm9pZCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlR2V0QnlPZmZzZXQoCiAgICAgaW50IGRlc3Rp
bmF0aW9uT3BlcmFuZCwgU3BlY3VsYXRlZFR5cGUgcHJlZGljdGlvbiwgTm9kZUluZGV4IGJhc2Us
IHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIsCiAgICAgYm9vbCB1c2VJbmxpbmVTdG9yYWdlLCBz
aXplX3Qgb2Zmc2V0KQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaAkocmV2
aXNpb24gMTIwODk5KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oCSh3
b3JraW5nIGNvcHkpCkBAIC0yNzcsNiArMjc3LDE4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJl
dHVybiBmYWxzZTsKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgfQorICAgIGJvb2wgaXNJbnRl
cm5hbEZ1bmN0aW9uQ29uc3RhbnQoTm9kZUluZGV4IG5vZGVJbmRleCkKKyAgICB7CisgICAgICAg
IGlmICghaXNKU0NvbnN0YW50KG5vZGVJbmRleCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIEpTVmFsdWUgdmFsdWUgPSB2YWx1ZU9mSlNDb25zdGFudChub2RlSW5kZXgpOwor
ICAgICAgICBpZiAoIXZhbHVlLmlzQ2VsbCgpIHx8ICF2YWx1ZSkKKyAgICAgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICAgICAgSlNDZWxsKiBjZWxsID0gdmFsdWUuYXNDZWxsKCk7CisgICAgICAg
IGlmICghY2VsbC0+aW5oZXJpdHMoJkludGVybmFsRnVuY3Rpb246OnNfaW5mbykpCisgICAgICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KICAgICAvLyBI
ZWxwZXIgbWV0aG9kcyBnZXQgY29uc3RhbnQgdmFsdWVzIGZyb20gbm9kZXMuCiAgICAgSlNWYWx1
ZSB2YWx1ZU9mSlNDb25zdGFudChOb2RlSW5kZXggbm9kZUluZGV4KQogICAgIHsKQEAgLTMwMCw2
ICszMTIsMTAgQEAgcHVibGljOgogICAgICAgICBBU1NFUlQoZnVuY3Rpb24pOwogICAgICAgICBy
ZXR1cm4ganNDYXN0PEpTRnVuY3Rpb24qPihmdW5jdGlvbik7CiAgICAgfQorICAgIEludGVybmFs
RnVuY3Rpb24qIHZhbHVlT2ZJbnRlcm5hbEZ1bmN0aW9uQ29uc3RhbnQoTm9kZUluZGV4IG5vZGVJ
bmRleCkKKyAgICB7CisgICAgICAgIHJldHVybiBqc0Nhc3Q8SW50ZXJuYWxGdW5jdGlvbio+KHZh
bHVlT2ZKU0NvbnN0YW50KG5vZGVJbmRleCkuYXNDZWxsKCkpOworICAgIH0KIAogICAgIHN0YXRp
YyBjb25zdCBjaGFyICpvcE5hbWUoTm9kZVR5cGUpOwogICAgIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>148900</attachid>
            <date>2012-06-21 15:24:38 -0700</date>
            <delta_ts>2012-06-21 15:30:19 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>newarray_patch_2.diff</filename>
            <type>text/plain</type>
            <size>7598</size>
            <attacher name="Filip Pizlo">fpizlo</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTIwODk5KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBA
CisyMDEyLTA2LTIwICBGaWxpcCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CisKKyAgICAgICAg
REZHIHNob3VsZCBpbmxpbmUgJ25ldyBBcnJheSgpJworICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODk2MzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKyAgICAgICAgCisgICAgICAgIFRoaXMgYWRkcyBzdXBwb3J0IGZvciB0cmVh
dGluZyBJbnRlcm5hbEZ1bmN0aW9uIGxpa2UgaW50cmluc2ljcy4gVGhlIGNvZGUKKyAgICAgICAg
dG8gZG8gc28gaXMgYWN0dWFsbHkgcXVpdGUgY2xlYW4sIHNvIEkgZG9uJ3QgZmVlbCBiYWQgYWJv
dXQgcGVycGV0dWF0aW5nCisgICAgICAgIHRoZSBJbnRlcm5hbEZ1bmN0aW9uIHZzLiBKU0Z1bmN0
aW9uLXdpdGgtTmF0aXZlRXhlY3V0YWJsZSBkaWNob3RvbXkuCisgICAgICAgIAorICAgICAgICBD
dXJyZW50bHkgdGhpcyBuZXdmb3VuZCBwb3dlciBpcyBvbmx5IHVzZWQgdG8gaW5saW5lICduZXcg
QXJyYXkoKScuCisgICAgICAgIAorICAgICAgICAqIGRmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHA6
CisgICAgICAgIChCeXRlQ29kZVBhcnNlcik6CisgICAgICAgIChKU0M6OkRGRzo6Qnl0ZUNvZGVQ
YXJzZXI6OmhhbmRsZUNhbGwpOgorICAgICAgICAoSlNDOjpERkc6OkJ5dGVDb2RlUGFyc2VyOjpo
YW5kbGVDb25zdGFudEludGVybmFsRnVuY3Rpb24pOgorICAgICAgICAoREZHKToKKyAgICAgICAg
KiBkZmcvREZHR3JhcGguaDoKKyAgICAgICAgKEpTQzo6REZHOjpHcmFwaDo6aXNJbnRlcm5hbEZ1
bmN0aW9uQ29uc3RhbnQpOgorICAgICAgICAoSlNDOjpERkc6OkdyYXBoOjp2YWx1ZU9mSW50ZXJu
YWxGdW5jdGlvbkNvbnN0YW50KToKKwogMjAxMi0wNi0yMCAgR2VvZmZyZXkgR2FyZW4gIDxnZ2Fy
ZW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJlZHVjZWQgKGJ1dCBkaWQgbm90IGVsaW1pbmF0ZSkg
dXNlIG9mICJiZXJ6ZXJrZXIgR0MiCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R0J5dGVDb2RlUGFyc2VyLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0J5dGVDb2RlUGFyc2VyLmNwcAkocmV2aXNpb24gMTIwODk5KQorKysgU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRlQ29kZVBhcnNlci5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTI4LDYgKzI4LDcgQEAKIAogI2lmIEVOQUJMRShERkdfSklUKQogCisjaW5jbHVkZSAiQXJyYXlD
b25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkNhbGxMaW5rU3RhdHVzLmgiCiAjaW5jbHVkZSAiQ29k
ZUJsb2NrLmgiCiAjaW5jbHVkZSAiREZHQnl0ZUNvZGVDYWNoZS5oIgpAQCAtOTUsNiArOTYsNyBA
QCBwcml2YXRlOgogICAgIHZvaWQgc2V0SW50cmluc2ljUmVzdWx0KGJvb2wgdXNlc1Jlc3VsdCwg
aW50IHJlc3VsdE9wZXJhbmQsIE5vZGVJbmRleCk7CiAgICAgLy8gSGFuZGxlIGludHJpbnNpYyBm
dW5jdGlvbnMuIFJldHVybiB0cnVlIGlmIGl0IHN1Y2NlZWRlZCwgZmFsc2UgaWYgd2UgbmVlZCB0
byBwbGFudCBhIGNhbGwuCiAgICAgYm9vbCBoYW5kbGVJbnRyaW5zaWMoYm9vbCB1c2VzUmVzdWx0
LCBpbnQgcmVzdWx0T3BlcmFuZCwgSW50cmluc2ljLCBpbnQgcmVnaXN0ZXJPZmZzZXQsIGludCBh
cmd1bWVudENvdW50SW5jbHVkaW5nVGhpcywgU3BlY3VsYXRlZFR5cGUgcHJlZGljdGlvbik7Cisg
ICAgYm9vbCBoYW5kbGVDb25zdGFudEludGVybmFsRnVuY3Rpb24oYm9vbCB1c2VzUmVzdWx0LCBp
bnQgcmVzdWx0T3BlcmFuZCwgSW50ZXJuYWxGdW5jdGlvbiosIGludCByZWdpc3Rlck9mZnNldCwg
aW50IGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzLCBTcGVjdWxhdGVkVHlwZSBwcmVkaWN0aW9u
LCBDb2RlU3BlY2lhbGl6YXRpb25LaW5kKTsKICAgICB2b2lkIGhhbmRsZUdldEJ5T2Zmc2V0KAog
ICAgICAgICBpbnQgZGVzdGluYXRpb25PcGVyYW5kLCBTcGVjdWxhdGVkVHlwZSwgTm9kZUluZGV4
IGJhc2UsIHVuc2lnbmVkIGlkZW50aWZpZXJOdW1iZXIsCiAgICAgICAgIGJvb2wgdXNlSW5saW5l
U3RvcmFnZSwgc2l6ZV90IG9mZnNldCk7CkBAIC0xMTI4LDcgKzExMzAsMTIgQEAgdm9pZCBCeXRl
Q29kZVBhcnNlcjo6aGFuZGxlQ2FsbChJbnRlcnByZQogICAgIEFTU0VSVChPUENPREVfTEVOR1RI
KG9wX2NhbGwpID09IE9QQ09ERV9MRU5HVEgob3BfY29uc3RydWN0KSk7CiAgICAgCiAgICAgTm9k
ZUluZGV4IGNhbGxUYXJnZXQgPSBnZXQoY3VycmVudEluc3RydWN0aW9uWzFdLnUub3BlcmFuZCk7
Ci0gICAgZW51bSB7IENvbnN0YW50RnVuY3Rpb24sIExpbmtlZEZ1bmN0aW9uLCBVbmtub3duRnVu
Y3Rpb24gfSBjYWxsVHlwZTsKKyAgICBlbnVtIHsKKyAgICAgICAgQ29uc3RhbnRGdW5jdGlvbiwK
KyAgICAgICAgQ29uc3RhbnRJbnRlcm5hbEZ1bmN0aW9uLAorICAgICAgICBMaW5rZWRGdW5jdGlv
biwKKyAgICAgICAgVW5rbm93bkZ1bmN0aW9uCisgICAgfSBjYWxsVHlwZTsKICAgICAgICAgICAg
IAogICAgIENhbGxMaW5rU3RhdHVzIGNhbGxMaW5rU3RhdHVzID0gQ2FsbExpbmtTdGF0dXM6OmNv
bXB1dGVGb3IoCiAgICAgICAgIG1faW5saW5lU3RhY2tUb3AtPm1fcHJvZmlsZWRCbG9jaywgbV9j
dXJyZW50SW5kZXgpOwpAQCAtMTE1MSw2ICsxMTU4LDEzIEBAIHZvaWQgQnl0ZUNvZGVQYXJzZXI6
OmhhbmRsZUNhbGwoSW50ZXJwcmUKICAgICAgICAgICAgICAgICBtX2dyYXBoLnZhbHVlT2ZGdW5j
dGlvbkNvbnN0YW50KGNhbGxUYXJnZXQpLAogICAgICAgICAgICAgICAgIG1fZ3JhcGgudmFsdWVP
ZkZ1bmN0aW9uQ29uc3RhbnQoY2FsbFRhcmdldCktPmV4ZWN1dGFibGUoKSk7CiAjZW5kaWYKKyAg
ICB9IGVsc2UgaWYgKG1fZ3JhcGguaXNJbnRlcm5hbEZ1bmN0aW9uQ29uc3RhbnQoY2FsbFRhcmdl
dCkpIHsKKyAgICAgICAgY2FsbFR5cGUgPSBDb25zdGFudEludGVybmFsRnVuY3Rpb247CisjaWYg
REZHX0VOQUJMRShERUJVR19WRVJCT1NFKQorICAgICAgICBkYXRhTG9nKCJDYWxsIGF0IFtAJWx1
LCBiYyMldV0gaGFzIGFuIGludGVybmFsIGZ1bmN0aW9uIGNvbnN0YW50OiAlcC5cbiIsCisgICAg
ICAgICAgICAgICAgbV9ncmFwaC5zaXplKCksIG1fY3VycmVudEluZGV4LAorICAgICAgICAgICAg
ICAgIG1fZ3JhcGgudmFsdWVPZkludGVybmFsRnVuY3Rpb25Db25zdGFudChjYWxsVGFyZ2V0KSk7
CisjZW5kaWYKICAgICB9IGVsc2UgaWYgKGNhbGxMaW5rU3RhdHVzLmlzU2V0KCkgJiYgIWNhbGxM
aW5rU3RhdHVzLmNvdWxkVGFrZVNsb3dQYXRoKCkKICAgICAgICAgICAgICAgICYmICFtX2lubGlu
ZVN0YWNrVG9wLT5tX2V4aXRQcm9maWxlLmhhc0V4aXRTaXRlKG1fY3VycmVudEluZGV4LCBCYWRD
YWNoZSkpIHsKICAgICAgICAgY2FsbFR5cGUgPSBMaW5rZWRGdW5jdGlvbjsKQEAgLTExODMsNiAr
MTE5NywxNiBAQCB2b2lkIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVDYWxsKEludGVycHJlCiAgICAg
ICAgICAgICBwcmVkaWN0aW9uID0gZ2V0UHJlZGljdGlvbigpOwogICAgICAgICAgICAgbmV4dE9m
ZnNldCArPSBPUENPREVfTEVOR1RIKG9wX2NhbGxfcHV0X3Jlc3VsdCk7CiAgICAgICAgIH0KKwor
ICAgICAgICBpZiAoY2FsbFR5cGUgPT0gQ29uc3RhbnRJbnRlcm5hbEZ1bmN0aW9uKSB7CisgICAg
ICAgICAgICBpZiAoaGFuZGxlQ29uc3RhbnRJbnRlcm5hbEZ1bmN0aW9uKHVzZXNSZXN1bHQsIHJl
c3VsdE9wZXJhbmQsIG1fZ3JhcGgudmFsdWVPZkludGVybmFsRnVuY3Rpb25Db25zdGFudChjYWxs
VGFyZ2V0KSwgcmVnaXN0ZXJPZmZzZXQsIGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzLCBwcmVk
aWN0aW9uLCBraW5kKSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAgICAKKyAg
ICAgICAgICAgIC8vIENhbiBvbmx5IGhhbmRsZSB0aGlzIHVzaW5nIHRoZSBnZW5lcmljIGNhbGwg
aGFuZGxlci4KKyAgICAgICAgICAgIGFkZENhbGwoaW50ZXJwcmV0ZXIsIGN1cnJlbnRJbnN0cnVj
dGlvbiwgb3ApOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisgICAgICAgIAogICAg
ICAgICBKU0Z1bmN0aW9uKiBleHBlY3RlZEZ1bmN0aW9uOwogICAgICAgICBJbnRyaW5zaWMgaW50
cmluc2ljOwogICAgICAgICBib29sIGNlcnRhaW5BYm91dEV4cGVjdGVkRnVuY3Rpb247CkBAIC0x
MjE0LDcgKzEyMzgsNyBAQCB2b2lkIEJ5dGVDb2RlUGFyc2VyOjpoYW5kbGVDYWxsKEludGVycHJl
CiAgICAgICAgIH0gZWxzZSBpZiAoaGFuZGxlSW5saW5pbmcodXNlc1Jlc3VsdCwgY3VycmVudElu
c3RydWN0aW9uWzFdLnUub3BlcmFuZCwgY2FsbFRhcmdldCwgcmVzdWx0T3BlcmFuZCwgY2VydGFp
bkFib3V0RXhwZWN0ZWRGdW5jdGlvbiwgZXhwZWN0ZWRGdW5jdGlvbiwgcmVnaXN0ZXJPZmZzZXQs
IGFyZ3VtZW50Q291bnRJbmNsdWRpbmdUaGlzLCBuZXh0T2Zmc2V0LCBraW5kKSkKICAgICAgICAg
ICAgIHJldHVybjsKICAgICB9Ci0gICAgICAgICAgICAKKyAgICAKICAgICBhZGRDYWxsKGludGVy
cHJldGVyLCBjdXJyZW50SW5zdHJ1Y3Rpb24sIG9wKTsKIH0KIApAQCAtMTU3MSw2ICsxNTk1LDM3
IEBAIGJvb2wgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUludHJpbnNpYyhib28KICAgICB9CiB9CiAK
K2Jvb2wgQnl0ZUNvZGVQYXJzZXI6OmhhbmRsZUNvbnN0YW50SW50ZXJuYWxGdW5jdGlvbigKKyAg
ICBib29sIHVzZXNSZXN1bHQsIGludCByZXN1bHRPcGVyYW5kLCBJbnRlcm5hbEZ1bmN0aW9uKiBm
dW5jdGlvbiwgaW50IHJlZ2lzdGVyT2Zmc2V0LAorICAgIGludCBhcmd1bWVudENvdW50SW5jbHVk
aW5nVGhpcywgU3BlY3VsYXRlZFR5cGUgcHJlZGljdGlvbiwgQ29kZVNwZWNpYWxpemF0aW9uS2lu
ZCBraW5kKQoreworICAgIC8vIElmIHdlIGV2ZXIgZmluZCB0aGF0IHdlIGhhdmUgYSBsb3Qgb2Yg
aW50ZXJuYWwgZnVuY3Rpb25zIHRoYXQgd2Ugc3BlY2lhbGl6ZSBmb3IsCisgICAgLy8gdGhlbiB3
ZSBzaG91bGQgcHJvYmFibHkgaGF2ZSBzb21lIHNvcnQgb2YgaGFzaHRhYmxlIGRpc3BhdGNoLCBv
ciBtYXliZSBldmVuCisgICAgLy8gZGlzcGF0Y2ggc3RyYWlnaHQgdGhyb3VnaCB0aGUgTWV0aG9k
VGFibGUgb2YgdGhlIEludGVybmFsRnVuY3Rpb24uIEJ1dCBmb3Igbm93LAorICAgIC8vIGl0IHNl
ZW1zIHRoYXQgdGhpcyBjYXNlIGlzIGhpdCBpbmZyZXF1ZW50bHkgZW5vdWdoLCBhbmQgdGhlIG51
bWJlciBvZiBmdW5jdGlvbnMKKyAgICAvLyB3ZSBrbm93IGFib3V0IGlzIHNtYWxsIGVub3VnaCwg
dGhhdCBoYXZpbmcganVzdCBhIGxpbmVhciBjYXNjYWRlIG9mIGlmIHN0YXRlbWVudHMKKyAgICAv
LyBpcyBnb29kIGVub3VnaC4KKyAgICAKKyAgICBVTlVTRURfUEFSQU0ocmVnaXN0ZXJPZmZzZXQp
OyAvLyBSZW1vdmUgdGhpcyBvbmNlIHdlIGRvIG1vcmUgdGhpbmdzIHRvIHRoZSBhcmd1bWVudHMu
CisgICAgVU5VU0VEX1BBUkFNKHByZWRpY3Rpb24pOyAvLyBSZW1vdmUgdGhpcyBvbmNlIHdlIGRv
IG1vcmUgdGhpbmdzLgorICAgIAorICAgIGlmIChmdW5jdGlvbi0+Y2xhc3NJbmZvKCkgPT0gJkFy
cmF5Q29uc3RydWN0b3I6OnNfaW5mbykgeworICAgICAgICAvLyBXZSBjb3VsZCBoYW5kbGUgdGhp
cyBidXQgZG9uJ3QgZm9yIG5vdy4KKyAgICAgICAgaWYgKGFyZ3VtZW50Q291bnRJbmNsdWRpbmdU
aGlzICE9IDEpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIAorICAgICAgICBp
ZiAoa2luZCAhPSBDb2RlRm9yQ29uc3RydWN0KQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwor
ICAgICAgICAKKyAgICAgICAgc2V0SW50cmluc2ljUmVzdWx0KAorICAgICAgICAgICAgdXNlc1Jl
c3VsdCwgcmVzdWx0T3BlcmFuZCwKKyAgICAgICAgICAgIGFkZFRvR3JhcGgoTm9kZTo6VmFyQXJn
LCBOZXdBcnJheSwgT3BJbmZvKDApLCBPcEluZm8oMCkpKTsKKyAgICAgICAgcmV0dXJuIHRydWU7
CisgICAgfQorICAgIAorICAgIHJldHVybiBmYWxzZTsKK30KKwogdm9pZCBCeXRlQ29kZVBhcnNl
cjo6aGFuZGxlR2V0QnlPZmZzZXQoCiAgICAgaW50IGRlc3RpbmF0aW9uT3BlcmFuZCwgU3BlY3Vs
YXRlZFR5cGUgcHJlZGljdGlvbiwgTm9kZUluZGV4IGJhc2UsIHVuc2lnbmVkIGlkZW50aWZpZXJO
dW1iZXIsCiAgICAgYm9vbCB1c2VJbmxpbmVTdG9yYWdlLCBzaXplX3Qgb2Zmc2V0KQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHR3JhcGguaAkocmV2aXNpb24gMTIwODk5KQorKysgU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdHcmFwaC5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNzcs
NiArMjc3LDE4IEBAIHB1YmxpYzoKICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAg
cmV0dXJuIHRydWU7CiAgICAgfQorICAgIGJvb2wgaXNJbnRlcm5hbEZ1bmN0aW9uQ29uc3RhbnQo
Tm9kZUluZGV4IG5vZGVJbmRleCkKKyAgICB7CisgICAgICAgIGlmICghaXNKU0NvbnN0YW50KG5v
ZGVJbmRleCkpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIEpTVmFsdWUgdmFs
dWUgPSB2YWx1ZU9mSlNDb25zdGFudChub2RlSW5kZXgpOworICAgICAgICBpZiAoIXZhbHVlLmlz
Q2VsbCgpIHx8ICF2YWx1ZSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgSlND
ZWxsKiBjZWxsID0gdmFsdWUuYXNDZWxsKCk7CisgICAgICAgIGlmICghY2VsbC0+aW5oZXJpdHMo
JkludGVybmFsRnVuY3Rpb246OnNfaW5mbykpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KICAgICAvLyBIZWxwZXIgbWV0aG9kcyBnZXQgY29u
c3RhbnQgdmFsdWVzIGZyb20gbm9kZXMuCiAgICAgSlNWYWx1ZSB2YWx1ZU9mSlNDb25zdGFudChO
b2RlSW5kZXggbm9kZUluZGV4KQogICAgIHsKQEAgLTMwMCw2ICszMTIsMTAgQEAgcHVibGljOgog
ICAgICAgICBBU1NFUlQoZnVuY3Rpb24pOwogICAgICAgICByZXR1cm4ganNDYXN0PEpTRnVuY3Rp
b24qPihmdW5jdGlvbik7CiAgICAgfQorICAgIEludGVybmFsRnVuY3Rpb24qIHZhbHVlT2ZJbnRl
cm5hbEZ1bmN0aW9uQ29uc3RhbnQoTm9kZUluZGV4IG5vZGVJbmRleCkKKyAgICB7CisgICAgICAg
IHJldHVybiBqc0Nhc3Q8SW50ZXJuYWxGdW5jdGlvbio+KHZhbHVlT2ZKU0NvbnN0YW50KG5vZGVJ
bmRleCkuYXNDZWxsKCkpOworICAgIH0KIAogICAgIHN0YXRpYyBjb25zdCBjaGFyICpvcE5hbWUo
Tm9kZVR5cGUpOwogICAgIAo=
</data>
<flag name="review"
          id="156773"
          type_id="1"
          status="+"
          setter="ggaren"
    />
          </attachment>
      

    </bug>

</bugzilla>