<?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>42998</bug_id>
          
          <creation_ts>2010-07-26 13:57:25 -0700</creation_ts>
          <short_desc>Change Noncopyable and FastAllocBase into macros instead of base classes</short_desc>
          <delta_ts>2010-11-22 01:47:09 -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>Web Template Framework</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>
          <dependson>46589</dependson>
          <blocked>47887</blocked>
    
    <blocked>49897</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Darin Adler">darin</reporter>
          <assigned_to name="Zoltan Horvath">zoltan</assigned_to>
          <cc>andersca</cc>
    
    <cc>aroben</cc>
    
    <cc>darin</cc>
    
    <cc>luiz</cc>
    
    <cc>mrowe</cc>
    
    <cc>ossy</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>skyul</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>yong.li.webkit</cc>
    
    <cc>zoltan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>256217</commentid>
    <comment_count>0</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-07-26 13:57:25 -0700</bug_when>
    <thetext>Anders recently pointed out that the problem of inheriting from base classes with no members, and having objects get larger because of them, were going to keep re-occuring as long as we have Noncopyable and FastAllocBase. He suggested instead we do these as macros. I think that’s probably the way we should go.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291570</commentid>
    <comment_count>1</comment_count>
      <attachid>70226</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-10-08 05:14:11 -0700</bug_when>
    <thetext>Created attachment 70226
proposed patch for FastAllocBase step 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291575</commentid>
    <comment_count>2</comment_count>
      <attachid>70226</attachid>
    <who name="Kenneth Rohde Christiansen">kenneth</who>
    <bug_when>2010-10-08 05:29:05 -0700</bug_when>
    <thetext>Comment on attachment 70226
proposed patch for FastAllocBase step 1

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

&gt; JavaScriptCore/ChangeLog:6
&gt; +
&gt; +        Change FastAllocBase implementation into a macro
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=42998

Would be nice with some reasoning behind this change.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291588</commentid>
    <comment_count>3</comment_count>
      <attachid>70233</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-10-08 05:52:29 -0700</bug_when>
    <thetext>Created attachment 70233
proposed patch for FastAllocBase step 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291674</commentid>
    <comment_count>4</comment_count>
      <attachid>70233</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2010-10-08 08:50:02 -0700</bug_when>
    <thetext>Comment on attachment 70233
proposed patch for FastAllocBase step 1

Are you going to get rid all inheritance, 
and change it to a construct like this?

class MyClass
{
    WTF_MAKE_FASTALLOCATED
    ....
};

And when it is finished, you simple remove class FastAllocBase;

Am I correct? This idea LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291680</commentid>
    <comment_count>5</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-10-08 08:56:29 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; (From update of attachment 70233 [details])
&gt; Are you going to get rid all inheritance, 
&gt; and change it to a construct like this?

Yes, exactly.

&gt; class MyClass
&gt; {
&gt;     WTF_MAKE_FASTALLOCATED
&gt;     ....
&gt; };
&gt; 
&gt; And when it is finished, you simple remove class FastAllocBase;
&gt; 
&gt; Am I correct? This idea LGTM.

Yes, you are correct.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291712</commentid>
    <comment_count>6</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-10-08 09:45:36 -0700</bug_when>
    <thetext>We should use underscores between words. Since “fast allocated” is not a single word, we will want an underscore between “fast” and “allocated”.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291716</commentid>
    <comment_count>7</comment_count>
      <attachid>70264</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-10-08 09:49:38 -0700</bug_when>
    <thetext>Created attachment 70264
updated proposed patch

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291727</commentid>
    <comment_count>8</comment_count>
      <attachid>70233</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-10-08 10:04:02 -0700</bug_when>
    <thetext>Comment on attachment 70233
proposed patch for FastAllocBase step 1

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

Please fix the namespace issue at least.

&gt; JavaScriptCore/wtf/FastAllocBase.h:89
&gt; +#ifndef WTF_MAKE_FASTALOCATED
&gt; +#define WTF_MAKE_FASTALLOCATED \

I see no reason for the #ifndef. Lets leave that out.

This should be WTF_MAKE_FAST_ALLOCATED since “fastallocated” is not a word.

&gt; JavaScriptCore/wtf/FastAllocBase.h:97
&gt; +        fastMallocMatchValidateMalloc(p, Internal::AllocTypeClassNew); \

This should be ::WTF::fastMallocMatchValidMalloc and ::WTF::Internal::AllocTypeClassNew. The code worked before because it was inside a class in the WTF namespace, but the macro can be invoked on classes outside the WTF namespace. The best syntax to use is to be completely independent of namespace, so start with ::WTF::, which will work even if there is another symbol named WTF.

We could do the same for the invocation of fastMalloc, although it is less important to do that since that is imported into the global namespace. Still, ::WTF::fastMalloc would be slightly more immune to unusual situations that might arise.

&gt; JavaScriptCore/wtf/FastAllocBase.h:123
&gt; +    WTF_MAKE_FASTALLOCATED  

I am not certain, but I believe some compilers will have trouble with &quot;private:&quot; at the end of a class with no members defined after it. I saw a patch at one point removing that idiom elsewhere in the project. Maybe I’m wrong, though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291730</commentid>
    <comment_count>9</comment_count>
      <attachid>70264</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-10-08 10:04:23 -0700</bug_when>
    <thetext>Comment on attachment 70264
updated proposed patch

Thanks for fixing the macro name. Please also fix the namespace issue I mentioned.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291737</commentid>
    <comment_count>10</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-10-08 10:13:06 -0700</bug_when>
    <thetext>Currently, the Noncopyable base class also implies that you inherit from FastAllocBase.

Should we add a new WTF_MAKE_NONCOPYABLE_AND_FAST_ALLOCATED macro that will do this?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291745</commentid>
    <comment_count>11</comment_count>
      <attachid>70267</attachid>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-10-08 10:25:30 -0700</bug_when>
    <thetext>Created attachment 70267
updated proposed patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291746</commentid>
    <comment_count>12</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-10-08 10:26:31 -0700</bug_when>
    <thetext>(In reply to comment #10)
&gt; Currently, the Noncopyable base class also implies that you inherit from FastAllocBase.
&gt; 
&gt; Should we add a new WTF_MAKE_NONCOPYABLE_AND_FAST_ALLOCATED macro that will do this?

I like that idea.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291748</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-10-08 10:27:45 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; (In reply to comment #10)
&gt; &gt; Currently, the Noncopyable base class also implies that you inherit from FastAllocBase.
&gt; &gt; 
&gt; &gt; Should we add a new WTF_MAKE_NONCOPYABLE_AND_FAST_ALLOCATED macro that will do this?
&gt; 
&gt; I like that idea.

But it’s not all that much better from invoking both macros on two subsequent lines, so it’s probably unneeded.

It would be nice to come up with a way to avoid redundant uses of these. If there was some way to make WTF_MAKE_NONCOPYABLE when already noncopyable or WTF_MAKE_FAST_ALLOCATED when already fast-allocated give an error.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291792</commentid>
    <comment_count>14</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-10-08 11:58:32 -0700</bug_when>
    <thetext>
After this patch will be landed, how should I do the changings? 

- Make one patch which get rid of all FastAllocBase inheriting and add the using of this macro.
or
- Do it in patch/directory basis?

Btw, I&apos;ll make a static analysis to see how many new classes are in the system which need to be fast-allocated.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291794</commentid>
    <comment_count>15</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-10-08 11:59:32 -0700</bug_when>
    <thetext>(In reply to comment #13)
&gt; 
&gt; But it’s not all that much better from invoking both macros on two subsequent lines, so it’s probably unneeded.
&gt; 
&gt; It would be nice to come up with a way to avoid redundant uses of these. If there was some way to make WTF_MAKE_NONCOPYABLE when already noncopyable or WTF_MAKE_FAST_ALLOCATED when already fast-allocated give an error.

On next week, I&apos;m going to investigate this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>291883</commentid>
    <comment_count>16</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-10-08 14:45:41 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; - Make one patch which get rid of all FastAllocBase inheriting and add the using of this macro.
&gt; or
&gt; - Do it in patch/directory basis?

I think it’s fine to do it all in one giant patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295379</commentid>
    <comment_count>17</comment_count>
    <who name="Zoltan Horvath">zoltan</who>
    <bug_when>2010-10-18 00:28:37 -0700</bug_when>
    <thetext>Landed in r69943.
http://trac.webkit.org/changeset/69943</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70226</attachid>
            <date>2010-10-08 05:14:11 -0700</date>
            <delta_ts>2010-10-08 05:52:29 -0700</delta_ts>
            <desc>proposed patch for FastAllocBase step 1</desc>
            <filename>fastallocbase.patch</filename>
            <type>text/plain</type>
            <size>2724</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCBhMGI0Nzg3Li5hYTQyOGU1IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTAtMTAtMDggIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIEZhc3RB
bGxvY0Jhc2UgaW1wbGVtZW50YXRpb24gaW50byBhIG1hY3JvCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjk5OAorCisgICAgICAgICogd3RmL0Zhc3RB
bGxvY0Jhc2UuaDoKKwogMjAxMC0xMC0wNyAgRGF2aWQgR29vZHdpbiAgPGRhdmlkX2dvb2R3aW5A
YXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZlciBIdW50LgpkaWZmIC0tZ2l0
IGEvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaCBiL0phdmFTY3JpcHRDb3JlL3d0
Zi9GYXN0QWxsb2NCYXNlLmgKaW5kZXggODFiMWRlMC4uMTU2YjU5ZiAxMDA2NDQKLS0tIGEvSmF2
YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYv
RmFzdEFsbG9jQmFzZS5oCkBAIC04NSwzOCArODUsNDMgQEAKIAogbmFtZXNwYWNlIFdURiB7CiAK
LSAgICBjbGFzcyBGYXN0QWxsb2NCYXNlIHsKLSAgICBwdWJsaWM6Ci0gICAgICAgIC8vIFBsYWNl
bWVudCBvcGVyYXRvciBuZXcuCi0gICAgICAgIHZvaWQqIG9wZXJhdG9yIG5ldyhzaXplX3QsIHZv
aWQqIHApIHsgcmV0dXJuIHA7IH0KLSAgICAgICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90
LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9Ci0KLSAgICAgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNp
emVfdCBzaXplKQotICAgICAgICB7Ci0gICAgICAgICAgICB2b2lkKiBwID0gZmFzdE1hbGxvYyhz
aXplKTsKLSAgICAgICAgICAgIGZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIEludGVy
bmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7Ci0gICAgICAgICAgICByZXR1cm4gcDsKLSAgICAgICAg
fQotCi0gICAgICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlKHZvaWQqIHApCi0gICAgICAgIHsKLSAg
ICAgICAgICAgIGZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCBJbnRlcm5hbDo6QWxsb2NU
eXBlQ2xhc3NOZXcpOwotICAgICAgICAgICAgZmFzdEZyZWUocCk7Ci0gICAgICAgIH0KLQotICAg
ICAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3Qgc2l6ZSkKLSAgICAgICAgewotICAgICAg
ICAgICAgdm9pZCogcCA9IGZhc3RNYWxsb2Moc2l6ZSk7Ci0gICAgICAgICAgICBmYXN0TWFsbG9j
TWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCBJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXdBcnJheSk7
Ci0gICAgICAgICAgICByZXR1cm4gcDsKLSAgICAgICAgfQotCi0gICAgICAgIHZvaWQgb3BlcmF0
b3IgZGVsZXRlW10odm9pZCogcCkKLSAgICAgICAgewotICAgICAgICAgICAgZmFzdE1hbGxvY01h
dGNoVmFsaWRhdGVGcmVlKHAsIEludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5KTsKLSAg
ICAgICAgICAgIGZhc3RGcmVlKHApOwotICAgICAgICB9Ci0gICAgfTsKKyNpZm5kZWYgV1RGX01B
S0VfRkFTVEFMT0NBVEVECisjZGVmaW5lIFdURl9NQUtFX0ZBU1RBTExPQ0FURUQgXAorcHVibGlj
OiBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsg
fSBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBw
OyB9IFwKKyAgICBcCisgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCBzaXplKSBcCisgICAg
eyBcCisgICAgICAgIHZvaWQqIHAgPSBmYXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgIGZhc3RN
YWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIEludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7
IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAgICBcCisgICAgdm9pZCBvcGVyYXRv
ciBkZWxldGUodm9pZCogcCkgXAorICAgIHsgXAorICAgICAgICBmYXN0TWFsbG9jTWF0Y2hWYWxp
ZGF0ZUZyZWUocCwgSW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsgXAorICAgICAgICBmYXN0
RnJlZShwKTsgXAorICAgIH0gXAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXpl
X3Qgc2l6ZSkgXAorICAgIHsgXAorICAgICAgICB2b2lkKiBwID0gZmFzdE1hbGxvYyhzaXplKTsg
XAorICAgICAgICBmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCBJbnRlcm5hbDo6QWxs
b2NUeXBlQ2xhc3NOZXdBcnJheSk7IFwKKyAgICAgICAgcmV0dXJuIHA7IFwKKyAgICB9IFwKKyAg
ICBcCisgICAgdm9pZCBvcGVyYXRvciBkZWxldGVbXSh2b2lkKiBwKSBcCisgICAgeyBcCisgICAg
ICAgIGZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCBJbnRlcm5hbDo6QWxsb2NUeXBlQ2xh
c3NOZXdBcnJheSk7IFwKKyAgICAgICAgZmFzdEZyZWUocCk7IFwKKyAgICB9IFwKK3ByaXZhdGU6
IAorI2VuZGlmCisKK2NsYXNzIEZhc3RBbGxvY0Jhc2UgeworICAgIFdURl9NQUtFX0ZBU1RBTExP
Q0FURUQgIAorfTsKIAogICAgIC8vIGZhc3ROZXcgLyBmYXN0RGVsZXRlCiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70233</attachid>
            <date>2010-10-08 05:52:29 -0700</date>
            <delta_ts>2010-10-08 10:25:30 -0700</delta_ts>
            <desc>proposed patch for FastAllocBase step 1</desc>
            <filename>fastallocbase.patch</filename>
            <type>text/plain</type>
            <size>3026</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCBhMGI0Nzg3Li42ZDhhMzZmIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTAtMTAtMDggIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIEZhc3RB
bGxvY0Jhc2UgaW1wbGVtZW50YXRpb24gaW50byBhIG1hY3JvCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjk5OAorCisgICAgICAgIEl0IHdhcyBpbnZl
c3RpZ2F0ZWQgaW4gYnVnICMzMzg5NiB0aGF0IGluaGVyaXRpbmcgY2xhc3NlcyBmcm9tIEZhc3RB
bGxvY0Jhc2UgCisgICAgICAgIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciB3
aGljaCBsZWFkcyB0byBtZW1vcnkgcmVncmVzc2lvbnMuIAorICAgICAgICBVc2luZyBhIG1hY3Jv
IGluc3RlYWQgb2YgaW5oZXJpdGluZyBjbGFzc2VzIGZyb20gRmFzdEFsbG9jQmFzZSB3b3VsZCBz
b2x2ZSB0aGUgaXNzdWUuIAorCisgICAgICAgICogd3RmL0Zhc3RBbGxvY0Jhc2UuaDogQWRkIGEg
V1RGX01BS0VfRkFTVEFMTE9DQVRFRCBtYWNybworCiAyMDEwLTEwLTA3ICBEYXZpZCBHb29kd2lu
ICA8ZGF2aWRfZ29vZHdpbkBhcHBsZS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVy
IEh1bnQuCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaAppbmRleCA4MWIxZGUwLi4xNTZiNTlm
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCisrKyBiL0ph
dmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKQEAgLTg1LDM4ICs4NSw0MyBAQAogCiBu
YW1lc3BhY2UgV1RGIHsKIAotICAgIGNsYXNzIEZhc3RBbGxvY0Jhc2UgewotICAgIHB1YmxpYzoK
LSAgICAgICAgLy8gUGxhY2VtZW50IG9wZXJhdG9yIG5ldy4KLSAgICAgICAgdm9pZCogb3BlcmF0
b3IgbmV3KHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfQotICAgICAgICB2b2lkKiBvcGVy
YXRvciBuZXdbXShzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0KLQotICAgICAgICB2b2lk
KiBvcGVyYXRvciBuZXcoc2l6ZV90IHNpemUpCi0gICAgICAgIHsKLSAgICAgICAgICAgIHZvaWQq
IHAgPSBmYXN0TWFsbG9jKHNpemUpOwotICAgICAgICAgICAgZmFzdE1hbGxvY01hdGNoVmFsaWRh
dGVNYWxsb2MocCwgSW50ZXJuYWw6OkFsbG9jVHlwZUNsYXNzTmV3KTsKLSAgICAgICAgICAgIHJl
dHVybiBwOwotICAgICAgICB9Ci0KLSAgICAgICAgdm9pZCBvcGVyYXRvciBkZWxldGUodm9pZCog
cCkKLSAgICAgICAgewotICAgICAgICAgICAgZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAs
IEludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7Ci0gICAgICAgICAgICBmYXN0RnJlZShwKTsK
LSAgICAgICAgfQotCi0gICAgICAgIHZvaWQqIG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKQot
ICAgICAgICB7Ci0gICAgICAgICAgICB2b2lkKiBwID0gZmFzdE1hbGxvYyhzaXplKTsKLSAgICAg
ICAgICAgIGZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIEludGVybmFsOjpBbGxvY1R5
cGVDbGFzc05ld0FycmF5KTsKLSAgICAgICAgICAgIHJldHVybiBwOwotICAgICAgICB9Ci0KLSAg
ICAgICAgdm9pZCBvcGVyYXRvciBkZWxldGVbXSh2b2lkKiBwKQotICAgICAgICB7Ci0gICAgICAg
ICAgICBmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZUZyZWUocCwgSW50ZXJuYWw6OkFsbG9jVHlwZUNs
YXNzTmV3QXJyYXkpOwotICAgICAgICAgICAgZmFzdEZyZWUocCk7Ci0gICAgICAgIH0KLSAgICB9
OworI2lmbmRlZiBXVEZfTUFLRV9GQVNUQUxPQ0FURUQKKyNkZWZpbmUgV1RGX01BS0VfRkFTVEFM
TE9DQVRFRCBcCitwdWJsaWM6IFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2b2lk
KiBwKSB7IHJldHVybiBwOyB9IFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3QsIHZv
aWQqIHApIHsgcmV0dXJuIHA7IH0gXAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6
ZV90IHNpemUpIFwKKyAgICB7IFwKKyAgICAgICAgdm9pZCogcCA9IGZhc3RNYWxsb2Moc2l6ZSk7
IFwKKyAgICAgICAgZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgSW50ZXJuYWw6OkFs
bG9jVHlwZUNsYXNzTmV3KTsgXAorICAgICAgICByZXR1cm4gcDsgXAorICAgIH0gXAorICAgIFwK
KyAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiBwKSBcCisgICAgeyBcCisgICAgICAgIGZh
c3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCBJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXcp
OyBcCisgICAgICAgIGZhc3RGcmVlKHApOyBcCisgICAgfSBcCisgICAgXAorICAgIHZvaWQqIG9w
ZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBcCisgICAgeyBcCisgICAgICAgIHZvaWQqIHAgPSBm
YXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgIGZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9j
KHAsIEludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAorICAgICAgICByZXR1cm4g
cDsgXAorICAgIH0gXAorICAgIFwKKyAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQqIHAp
IFwKKyAgICB7IFwKKyAgICAgICAgZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIEludGVy
bmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAorICAgICAgICBmYXN0RnJlZShwKTsgXAor
ICAgIH0gXAorcHJpdmF0ZTogCisjZW5kaWYKKworY2xhc3MgRmFzdEFsbG9jQmFzZSB7CisgICAg
V1RGX01BS0VfRkFTVEFMTE9DQVRFRCAgCit9OwogCiAgICAgLy8gZmFzdE5ldyAvIGZhc3REZWxl
dGUKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70264</attachid>
            <date>2010-10-08 09:49:38 -0700</date>
            <delta_ts>2010-10-08 10:25:30 -0700</delta_ts>
            <desc>updated proposed patch</desc>
            <filename>fastallocbase.patch</filename>
            <type>text/plain</type>
            <size>3030</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCBhMGI0Nzg3Li45N2ZiNDVlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTAtMTAtMDggIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIEZhc3RB
bGxvY0Jhc2UgaW1wbGVtZW50YXRpb24gaW50byBhIG1hY3JvCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjk5OAorCisgICAgICAgIEl0IHdhcyBpbnZl
c3RpZ2F0ZWQgaW4gYnVnICMzMzg5NiB0aGF0IGluaGVyaXRpbmcgY2xhc3NlcyBmcm9tIEZhc3RB
bGxvY0Jhc2UgCisgICAgICAgIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciB3
aGljaCBsZWFkcyB0byBtZW1vcnkgcmVncmVzc2lvbnMuIAorICAgICAgICBVc2luZyBhIG1hY3Jv
IGluc3RlYWQgb2YgaW5oZXJpdGluZyBjbGFzc2VzIGZyb20gRmFzdEFsbG9jQmFzZSB3b3VsZCBz
b2x2ZSB0aGUgaXNzdWUuIAorCisgICAgICAgICogd3RmL0Zhc3RBbGxvY0Jhc2UuaDogQWRkIGEg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQgbWFjcm8KKwogMjAxMC0xMC0wNyAgRGF2aWQgR29vZHdp
biAgPGRhdmlkX2dvb2R3aW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZl
ciBIdW50LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKaW5kZXggODFiMWRlMC4uZWNjZDBm
NSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCkBAIC04NSwzOCArODUsNDMgQEAKIAog
bmFtZXNwYWNlIFdURiB7CiAKLSAgICBjbGFzcyBGYXN0QWxsb2NCYXNlIHsKLSAgICBwdWJsaWM6
Ci0gICAgICAgIC8vIFBsYWNlbWVudCBvcGVyYXRvciBuZXcuCi0gICAgICAgIHZvaWQqIG9wZXJh
dG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0KLSAgICAgICAgdm9pZCogb3Bl
cmF0b3IgbmV3W10oc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9Ci0KLSAgICAgICAgdm9p
ZCogb3BlcmF0b3IgbmV3KHNpemVfdCBzaXplKQotICAgICAgICB7Ci0gICAgICAgICAgICB2b2lk
KiBwID0gZmFzdE1hbGxvYyhzaXplKTsKLSAgICAgICAgICAgIGZhc3RNYWxsb2NNYXRjaFZhbGlk
YXRlTWFsbG9jKHAsIEludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7Ci0gICAgICAgICAgICBy
ZXR1cm4gcDsKLSAgICAgICAgfQotCi0gICAgICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlKHZvaWQq
IHApCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShw
LCBJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXcpOwotICAgICAgICAgICAgZmFzdEZyZWUocCk7
Ci0gICAgICAgIH0KLQotICAgICAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3Qgc2l6ZSkK
LSAgICAgICAgewotICAgICAgICAgICAgdm9pZCogcCA9IGZhc3RNYWxsb2Moc2l6ZSk7Ci0gICAg
ICAgICAgICBmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCBJbnRlcm5hbDo6QWxsb2NU
eXBlQ2xhc3NOZXdBcnJheSk7Ci0gICAgICAgICAgICByZXR1cm4gcDsKLSAgICAgICAgfQotCi0g
ICAgICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlW10odm9pZCogcCkKLSAgICAgICAgewotICAgICAg
ICAgICAgZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIEludGVybmFsOjpBbGxvY1R5cGVD
bGFzc05ld0FycmF5KTsKLSAgICAgICAgICAgIGZhc3RGcmVlKHApOwotICAgICAgICB9Ci0gICAg
fTsKKyNpZm5kZWYgV1RGX01BS0VfRkFTVF9BTE9DQVRFRAorI2RlZmluZSBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRCBcCitwdWJsaWM6IFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXcoc2l6ZV90LCB2
b2lkKiBwKSB7IHJldHVybiBwOyB9IFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3Qs
IHZvaWQqIHApIHsgcmV0dXJuIHA7IH0gXAorICAgIFwKKyAgICB2b2lkKiBvcGVyYXRvciBuZXco
c2l6ZV90IHNpemUpIFwKKyAgICB7IFwKKyAgICAgICAgdm9pZCogcCA9IGZhc3RNYWxsb2Moc2l6
ZSk7IFwKKyAgICAgICAgZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVNYWxsb2MocCwgSW50ZXJuYWw6
OkFsbG9jVHlwZUNsYXNzTmV3KTsgXAorICAgICAgICByZXR1cm4gcDsgXAorICAgIH0gXAorICAg
IFwKKyAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZSh2b2lkKiBwKSBcCisgICAgeyBcCisgICAgICAg
IGZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCBJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NO
ZXcpOyBcCisgICAgICAgIGZhc3RGcmVlKHApOyBcCisgICAgfSBcCisgICAgXAorICAgIHZvaWQq
IG9wZXJhdG9yIG5ld1tdKHNpemVfdCBzaXplKSBcCisgICAgeyBcCisgICAgICAgIHZvaWQqIHAg
PSBmYXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgIGZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFs
bG9jKHAsIEludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAorICAgICAgICByZXR1
cm4gcDsgXAorICAgIH0gXAorICAgIFwKKyAgICB2b2lkIG9wZXJhdG9yIGRlbGV0ZVtdKHZvaWQq
IHApIFwKKyAgICB7IFwKKyAgICAgICAgZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIElu
dGVybmFsOjpBbGxvY1R5cGVDbGFzc05ld0FycmF5KTsgXAorICAgICAgICBmYXN0RnJlZShwKTsg
XAorICAgIH0gXAorcHJpdmF0ZTogCisjZW5kaWYKKworY2xhc3MgRmFzdEFsbG9jQmFzZSB7Cisg
ICAgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQgIAorfTsKIAogICAgIC8vIGZhc3ROZXcgLyBmYXN0
RGVsZXRlCiAK
</data>
<flag name="review"
          id="60086"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>70267</attachid>
            <date>2010-10-08 10:25:30 -0700</date>
            <delta_ts>2010-10-08 11:00:13 -0700</delta_ts>
            <desc>updated proposed patch</desc>
            <filename>fastallocbase.patch</filename>
            <type>text/plain</type>
            <size>3076</size>
            <attacher name="Zoltan Horvath">zoltan</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCBhMGI0Nzg3Li45N2ZiNDVlIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTYg
QEAKKzIwMTAtMTAtMDggIFpvbHRhbiBIb3J2YXRoICA8em9sdGFuQHdlYmtpdC5vcmc+CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIEZhc3RB
bGxvY0Jhc2UgaW1wbGVtZW50YXRpb24gaW50byBhIG1hY3JvCisgICAgICAgIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD00Mjk5OAorCisgICAgICAgIEl0IHdhcyBpbnZl
c3RpZ2F0ZWQgaW4gYnVnICMzMzg5NiB0aGF0IGluaGVyaXRpbmcgY2xhc3NlcyBmcm9tIEZhc3RB
bGxvY0Jhc2UgCisgICAgICAgIGNhbiByZXN1bHQgaW4gb2JqZWN0cyBnZXR0aW5nIGxhcmdlciB3
aGljaCBsZWFkcyB0byBtZW1vcnkgcmVncmVzc2lvbnMuIAorICAgICAgICBVc2luZyBhIG1hY3Jv
IGluc3RlYWQgb2YgaW5oZXJpdGluZyBjbGFzc2VzIGZyb20gRmFzdEFsbG9jQmFzZSB3b3VsZCBz
b2x2ZSB0aGUgaXNzdWUuIAorCisgICAgICAgICogd3RmL0Zhc3RBbGxvY0Jhc2UuaDogQWRkIGEg
V1RGX01BS0VfRkFTVF9BTExPQ0FURUQgbWFjcm8KKwogMjAxMC0xMC0wNyAgRGF2aWQgR29vZHdp
biAgPGRhdmlkX2dvb2R3aW5AYXBwbGUuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE9saXZl
ciBIdW50LgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaCBi
L0phdmFTY3JpcHRDb3JlL3d0Zi9GYXN0QWxsb2NCYXNlLmgKaW5kZXggODFiMWRlMC4uYmIxODI1
ZSAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENvcmUvd3RmL0Zhc3RBbGxvY0Jhc2UuaAorKysgYi9K
YXZhU2NyaXB0Q29yZS93dGYvRmFzdEFsbG9jQmFzZS5oCkBAIC04NSwzOCArODUsNDEgQEAKIAog
bmFtZXNwYWNlIFdURiB7CiAKLSAgICBjbGFzcyBGYXN0QWxsb2NCYXNlIHsKLSAgICBwdWJsaWM6
Ci0gICAgICAgIC8vIFBsYWNlbWVudCBvcGVyYXRvciBuZXcuCi0gICAgICAgIHZvaWQqIG9wZXJh
dG9yIG5ldyhzaXplX3QsIHZvaWQqIHApIHsgcmV0dXJuIHA7IH0KLSAgICAgICAgdm9pZCogb3Bl
cmF0b3IgbmV3W10oc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9Ci0KLSAgICAgICAgdm9p
ZCogb3BlcmF0b3IgbmV3KHNpemVfdCBzaXplKQotICAgICAgICB7Ci0gICAgICAgICAgICB2b2lk
KiBwID0gZmFzdE1hbGxvYyhzaXplKTsKLSAgICAgICAgICAgIGZhc3RNYWxsb2NNYXRjaFZhbGlk
YXRlTWFsbG9jKHAsIEludGVybmFsOjpBbGxvY1R5cGVDbGFzc05ldyk7Ci0gICAgICAgICAgICBy
ZXR1cm4gcDsKLSAgICAgICAgfQotCi0gICAgICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlKHZvaWQq
IHApCi0gICAgICAgIHsKLSAgICAgICAgICAgIGZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShw
LCBJbnRlcm5hbDo6QWxsb2NUeXBlQ2xhc3NOZXcpOwotICAgICAgICAgICAgZmFzdEZyZWUocCk7
Ci0gICAgICAgIH0KLQotICAgICAgICB2b2lkKiBvcGVyYXRvciBuZXdbXShzaXplX3Qgc2l6ZSkK
LSAgICAgICAgewotICAgICAgICAgICAgdm9pZCogcCA9IGZhc3RNYWxsb2Moc2l6ZSk7Ci0gICAg
ICAgICAgICBmYXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCBJbnRlcm5hbDo6QWxsb2NU
eXBlQ2xhc3NOZXdBcnJheSk7Ci0gICAgICAgICAgICByZXR1cm4gcDsKLSAgICAgICAgfQotCi0g
ICAgICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlW10odm9pZCogcCkKLSAgICAgICAgewotICAgICAg
ICAgICAgZmFzdE1hbGxvY01hdGNoVmFsaWRhdGVGcmVlKHAsIEludGVybmFsOjpBbGxvY1R5cGVD
bGFzc05ld0FycmF5KTsKLSAgICAgICAgICAgIGZhc3RGcmVlKHApOwotICAgICAgICB9Ci0gICAg
fTsKKyNkZWZpbmUgV1RGX01BS0VfRkFTVF9BTExPQ0FURUQgXAorcHVibGljOiBcCisgICAgdm9p
ZCogb3BlcmF0b3IgbmV3KHNpemVfdCwgdm9pZCogcCkgeyByZXR1cm4gcDsgfSBcCisgICAgdm9p
ZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90LCB2b2lkKiBwKSB7IHJldHVybiBwOyB9IFwKKyAgICBc
CisgICAgdm9pZCogb3BlcmF0b3IgbmV3KHNpemVfdCBzaXplKSBcCisgICAgeyBcCisgICAgICAg
IHZvaWQqIHAgPSA6OldURjo6ZmFzdE1hbGxvYyhzaXplKTsgXAorICAgICAgICAgOjpXVEY6OmZh
c3RNYWxsb2NNYXRjaFZhbGlkYXRlTWFsbG9jKHAsIDo6V1RGOjpJbnRlcm5hbDo6QWxsb2NUeXBl
Q2xhc3NOZXcpOyBcCisgICAgICAgIHJldHVybiBwOyBcCisgICAgfSBcCisgICAgXAorICAgIHZv
aWQgb3BlcmF0b3IgZGVsZXRlKHZvaWQqIHApIFwKKyAgICB7IFwKKyAgICAgICAgOjpXVEY6OmZh
c3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlwZUNs
YXNzTmV3KTsgXAorICAgICAgICA6OldURjo6ZmFzdEZyZWUocCk7IFwKKyAgICB9IFwKKyAgICBc
CisgICAgdm9pZCogb3BlcmF0b3IgbmV3W10oc2l6ZV90IHNpemUpIFwKKyAgICB7IFwKKyAgICAg
ICAgdm9pZCogcCA9IDo6V1RGOjpmYXN0TWFsbG9jKHNpemUpOyBcCisgICAgICAgIDo6V1RGOjpm
YXN0TWFsbG9jTWF0Y2hWYWxpZGF0ZU1hbGxvYyhwLCA6OldURjo6SW50ZXJuYWw6OkFsbG9jVHlw
ZUNsYXNzTmV3QXJyYXkpOyBcCisgICAgICAgIHJldHVybiBwOyBcCisgICAgfSBcCisgICAgXAor
ICAgIHZvaWQgb3BlcmF0b3IgZGVsZXRlW10odm9pZCogcCkgXAorICAgIHsgXAorICAgICAgICAg
OjpXVEY6OmZhc3RNYWxsb2NNYXRjaFZhbGlkYXRlRnJlZShwLCA6OldURjo6SW50ZXJuYWw6OkFs
bG9jVHlwZUNsYXNzTmV3QXJyYXkpOyBcCisgICAgICAgICA6OldURjo6ZmFzdEZyZWUocCk7IFwK
KyAgICB9IFwKK3ByaXZhdGU6CisKK2NsYXNzIEZhc3RBbGxvY0Jhc2UgeworICAgIFdURl9NQUtF
X0ZBU1RfQUxMT0NBVEVEICAKK307CiAKICAgICAvLyBmYXN0TmV3IC8gZmFzdERlbGV0ZQogCg==
</data>
<flag name="review"
          id="60088"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
      

    </bug>

</bugzilla>