<?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>28054</bug_id>
          
          <creation_ts>2009-08-06 12:09:57 -0700</creation_ts>
          <short_desc>use derefInNotNull function to work around winscw compiler bug regarding template arguments.</short_desc>
          <delta_ts>2010-09-02 15:53:43 -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>Tools / Tests</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>S60 Emulator</rep_platform>
          <op_sys>S60 3rd edition</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Qt</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          <blocked>27065</blocked>
    
    <blocked>29738</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Yongjun Zhang">yongjun.zhang</reporter>
          <assigned_to name="Yongjun Zhang">yongjun.zhang</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>eric</cc>
    
    <cc>koshuin</cc>
    
    <cc>vestbo</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>137615</commentid>
    <comment_count>0</comment_count>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-08-06 12:09:57 -0700</bug_when>
    <thetext>In the following code:

-----------------------------------------------------
class MyTemplatedArgument;

class ContainerClass {

private:
   PassRefPtr&lt;MyTemplatedArgument&gt; t;
};
-----------------------------------------------------

Winscw compiler will complain that MyTemplatedArugment is not defined so that it couldn&apos;t find the deref() implementation of MyTemplatedArgument. Forward declaration doesn&apos;t help. In previous S60 port, we had to explicitly include the MyTemplatedArugment.h before ContainerClass declaration to resolve this issue.  This leads to a lot of changes in WebCore files and some requires moving around header files.

This is because PassRefPtr&apos;s dtor is inlined and the MyTemplatedArguemnt::deref() is called inside PassRefPtr&apos;s dtor, and the compiler tries to further resolve deref() which is not visible yet if the header file is not included.

To avoid changing large number of WebCore files just to get around this compiler issue, we can use an helper function to defer resolving deref().  We flag this changes in COMPILER(WINSCW) to avoid any possible performance hit in hardware.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137622</commentid>
    <comment_count>1</comment_count>
      <attachid>34218</attachid>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-08-06 12:23:27 -0700</bug_when>
    <thetext>Created attachment 34218
Fix the issue with a helper function.

Use a helper function to work around winscw compiler forward declaration bug regarding templated classes.

Add parenthesis around (PassRefPtr::*UnspecifiedBoolType) to make winscw compiler
work with the default UnSpecifiedBoolType() operator, which removes the winscw
specific bool cast hack.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>137623</commentid>
    <comment_count>2</comment_count>
      <attachid>34218</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-08-06 12:32:42 -0700</bug_when>
    <thetext>Comment on attachment 34218
Fix the issue with a helper function.

&gt; +#if COMPILER(WINSCW)
&gt; +    template &lt;typename T&gt; void releaseRef(T*);
&gt; +#endif

This doesn&apos;t need to be #ifdef&apos;d compiler-specific. We can use this with the other compilers too. But it needs to be an inline function. It will hurt performance to not have it inlined. A good name for it would be derefIfNonNull or safeDeref.

Since this is designed to be used only internally, we should give it a name that won&apos;t tempt anyone to use it. And probably put it in a different namespace, as is done with WTF::Internal in FastAllocBase.h.

releaseRef is not a good name for this -- it&apos;s already the name for an unrelated member function.

&gt; +#if COMPILER(WINSCW)
&gt; +    template &lt;typename T&gt; void releaseRef(T* ptr)
&gt; +    {
&gt; +        if (UNLIKELY(ptr != 0))
&gt; +            ptr-&gt;deref();
&gt; +    }
&gt; +#endif

This should be marked inline and probably also should be defined before the PassRefPtr template just in case order matters. For non-template code it can sometimes be important to define inline functions before using them.

Otherwise looks quite good.

review- because of the comments above.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141206</commentid>
    <comment_count>3</comment_count>
      <attachid>35070</attachid>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-08-18 13:59:10 -0700</bug_when>
    <thetext>Created attachment 35070
Modified patch as per Darin&apos;s comments.

Thanks for the review!

I modified the patch according to the comments.  For winscw compiler, if inline is present in derefInNotNull templated function definition, the compiler will try to resolve deref() and will eventually report error if the argument class T is not defined before PassRefPtr&lt;T&gt; is used.  Therefore, I had to remove inline for winscw compiler, and add inline for other compilers to avoid introducing any performance hit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141279</commentid>
    <comment_count>4</comment_count>
      <attachid>35070</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-18 15:14:49 -0700</bug_when>
    <thetext>Comment on attachment 35070
Modified patch as per Darin&apos;s comments.

I think we need comments in the code to document what these two work-arounds do.

One about the forward declaration. And one about the need for the ().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141597</commentid>
    <comment_count>5</comment_count>
      <attachid>35143</attachid>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-08-19 14:20:47 -0700</bug_when>
    <thetext>Created attachment 35143
add comments in the code to explain why these two changes are needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141607</commentid>
    <comment_count>6</comment_count>
      <attachid>35143</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-08-19 14:45:10 -0700</bug_when>
    <thetext>Comment on attachment 35143
add comments in the code to explain why these two changes are needed.

Looks great!

typo:
 174     // which will fail compiling when PassRefPtr&lt;T&gt; is used as class member or fucntion 

if you were a committer I would r+ this and you could fix the typo when landing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>141662</commentid>
    <comment_count>7</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-08-19 17:27:30 -0700</bug_when>
    <thetext>+#if COMPILER(WINSCW)
+    // Remove inline here to prevent winscw compiler agressively resolving T::deref(),
+    // which will fail compiling when PassRefPtr&lt;T&gt; is used as class member or fucntion 
+    // arguments before T is defined.
+    template&lt;typename T&gt; void derefIfNotNull(T* ptr)
+#else
+    template&lt;typename T&gt; inline void derefIfNotNull(T* ptr)
+#endif    

I think you should put the ifdef around only the word &quot;inline&quot;.

I think the definition of the derefIfNotNull function template should come before the definition of the PassRefPtr class, since inlining is much more likely if they are in that order. You don&apos;t even need a separate declaration and definition.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>144806</commentid>
    <comment_count>8</comment_count>
      <attachid>39056</attachid>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-09-04 07:18:39 -0700</bug_when>
    <thetext>Created attachment 39056
Use derefIfNotNull for RefPtr, as it was done in PassRefPtr.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145315</commentid>
    <comment_count>9</comment_count>
    <who name="Janne Koskinen">koshuin</who>
    <bug_when>2009-09-08 03:35:45 -0700</bug_when>
    <thetext>This needs bit more tweaking.

Every call of ptr-&gt;ref() and ptr-&gt;deref() from inlined function in refptr.h and passrefptr.h must call non-inlined function instead (derefIfNotNull/refIfNotNull). This way we can get away of using extra includes in all webkit code with exception of threading functions.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145565</commentid>
    <comment_count>10</comment_count>
      <attachid>39056</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-08 15:13:19 -0700</bug_when>
    <thetext>Comment on attachment 39056
Use derefIfNotNull for RefPtr, as it was done in PassRefPtr.

LGTM.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145605</commentid>
    <comment_count>11</comment_count>
      <attachid>39056</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-08 17:44:05 -0700</bug_when>
    <thetext>Comment on attachment 39056
Use derefIfNotNull for RefPtr, as it was done in PassRefPtr.

Rejecting patch 39056 from commit-queue.

This patch will require manual commit. WebKitTools/Scripts/build-webkit failed with exit code 1</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145791</commentid>
    <comment_count>12</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-09 09:34:24 -0700</bug_when>
    <thetext>Sadly build logs are not yet available from the commit-bot.  But it appears this patch does not build on Mac in Release mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145815</commentid>
    <comment_count>13</comment_count>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-09-09 10:10:53 -0700</bug_when>
    <thetext>(In reply to comment #12)
&gt; Sadly build logs are not yet available from the commit-bot.  But it appears
&gt; this patch does not build on Mac in Release mode.

Thanks a lot!

I will check why it fails in Mac build in Release mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>145908</commentid>
    <comment_count>14</comment_count>
      <attachid>39298</attachid>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-09-09 13:39:55 -0700</bug_when>
    <thetext>Created attachment 39298
fix build break in mac build.

Thanks a lot for review.

The reason it fails the mac build is JSObjectWrapper::ref() and deref() are defined as private methods in WebCore/bridge/jni/jni_instance.h.  The new patch moves them to public to fix the build break.

Is there any reason why ref() and deref() needs to be private in this case?  If yes, the patch might be wrong and I will figure out a different way to address this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146551</commentid>
    <comment_count>15</comment_count>
      <attachid>39431</attachid>
    <who name="Janne Koskinen">koshuin</who>
    <bug_when>2009-09-11 07:30:18 -0700</bug_when>
    <thetext>Created attachment 39431
what is still required

For refptr.h/passrefptr.h to work every inline function containing either ref() or deref() needs to be changed to non-inlined.
This is now addition to already commited patch that added the derefIfNotNull() - function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146642</commentid>
    <comment_count>16</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2009-09-11 10:49:38 -0700</bug_when>
    <thetext>&gt; For refptr.h/passrefptr.h to work every inline function containing either ref()
&gt; or deref() needs to be changed to non-inlined.

Won&apos;t that hurt performance?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146653</commentid>
    <comment_count>17</comment_count>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-09-11 11:06:24 -0700</bug_when>
    <thetext>(In reply to comment #16)
&gt; &gt; For refptr.h/passrefptr.h to work every inline function containing either ref()
&gt; &gt; or deref() needs to be changed to non-inlined.
&gt; 
&gt; Won&apos;t that hurt performance?

Thanks for the comments.

Yes, it will hurt performance.  Good thing is winscw compiler is only used for building apps running on S60 emulator, and for real hardware, RVCT (armcc) compiler is used, so we wouldn&apos;t see performance penalty in real hardware because the inlined version is used for RVCT.

That being said, I don&apos;t think it is a good idea to change every inlined ref&amp;deref to be non-inlined. Two reasons:

1. it makes the code a bit harder to read; 
      if (ptr)
          ptr-&gt;deref();
      is much more readable than:
         derfIfNotNull(ptr);

2. even in emulator, we still want performance hit to be as small as possible; therefore, the patch only changes ref&amp;deref to be non-inline at places where it is really necessary.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>146706</commentid>
    <comment_count>18</comment_count>
    <who name="Janne Koskinen">koshuin</who>
    <bug_when>2009-09-11 12:17:02 -0700</bug_when>
    <thetext>&gt; 1. it makes the code a bit harder to read; 

I think this is matter of opinion. I made it to be consistent all for all functions.
If wanted it can be changed e.g.
if (ptr) derefInternal(ptr); // or similar

&gt; 2. even in emulator, we still want performance hit to be as small as possible;
&gt; therefore, the patch only changes ref&amp;deref to be non-inline at places where it
&gt; is really necessary.

I don&apos;t care about the emulator performance at all as it hopefully will not &lt;fingers crossed&gt; live too long.

Yes, it is not needed for every function, but I know that some of the constructors, copy constructors and assignment operators will need the modification as well.
You have now covered destructors and clear() (in the new patch).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>149807</commentid>
    <comment_count>19</comment_count>
      <attachid>39298</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-24 13:14:09 -0700</bug_when>
    <thetext>Comment on attachment 39298
fix build break in mac build.

This patch looks OK.  It would be better with references to the winscw bugs.  You mention above that winscw might not be used for much longer?  We should have bugs on file about rolling out these kind of hacks once winscw is no longer used.

Have you filed a bug with the winscw team about this issue?  Will you please add a link to said bug to the ChangeLog so someone looking at this later might know if they can remove this hack?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150101</commentid>
    <comment_count>20</comment_count>
      <attachid>40132</attachid>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-09-25 12:26:45 -0700</bug_when>
    <thetext>Created attachment 40132
modify the patch to include Eric&apos;s review comments.

thanks for the comments, Eric.

I added the winscw compiler bug url in the ChangeLog and created another webkit bug (https://bugs.webkit.org/show_bug.cgi?id=29738) to remind us to revert the changes when winscw compiler bug is fixed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150103</commentid>
    <comment_count>21</comment_count>
      <attachid>40132</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-25 12:29:14 -0700</bug_when>
    <thetext>Comment on attachment 40132
modify the patch to include Eric&apos;s review comments.

OK.  I&apos;m OK with this hack for now.  Seeing cq+ since Yongjun is not a committer to my knowledge.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150104</commentid>
    <comment_count>22</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-25 12:29:52 -0700</bug_when>
    <thetext>Thank you for following up with the bugs btw.  I think it&apos;s important that we document this sort of thing for long-term code cleanliness. :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150121</commentid>
    <comment_count>23</comment_count>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-09-25 13:06:35 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; Thank you for following up with the bugs btw.  I think it&apos;s important that we
&gt; document this sort of thing for long-term code cleanliness. :)

Thanks a lot, Eric.

I absolutely agree;  it is a good practice to document those temporary hacks to avoid clattering WebKit source code in long run.  I also find it is very helpful to tracking down those changes in the future.  Maybe we could add this practice to  WebKit coding guidelines?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150236</commentid>
    <comment_count>24</comment_count>
      <attachid>40132</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-25 19:51:01 -0700</bug_when>
    <thetext>Comment on attachment 40132
modify the patch to include Eric&apos;s review comments.

Rejecting patch 40132 from commit-queue.

Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;]&quot; exit_code: 1
Last 500 characters of output:
criptCore/wtf/RefPtr.h
	M	WebCore/ChangeLog
	M	WebCore/bridge/jni/jni_instance.h
A repository hook failed: MERGE request failed on &apos;/repository/webkit/trunk&apos;: Commit blocked by pre-commit hook (exit code 1) with output:

    The following files contain tab characters:

        trunk/WebCore/bridge/jni/jni_instance.h

    Please use spaces instead to indent.
    If you must commit a file with tabs, use svn propset to set the &quot;allow-tabs&quot; property.
 at /usr/local/libexec/git-core//git-svn line 469</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150520</commentid>
    <comment_count>25</comment_count>
      <attachid>40239</attachid>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-09-28 09:13:23 -0700</bug_when>
    <thetext>Created attachment 40239
remove the Tab in previous patch, please review, thanks.

 
Maybe it would be better to modify WebKitTools/Script/svn-create-patch in a way that it can remove Tabs in the resulting patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150578</commentid>
    <comment_count>26</comment_count>
      <attachid>40239</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-28 11:37:43 -0700</bug_when>
    <thetext>Comment on attachment 40239
remove the Tab in previous patch, please review, thanks.

svn-create-patch should certainly at least warn about tabs.  (bug 29509)  Having a --remove-tabs option wouldn&apos;t necessarily be bad either.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150601</commentid>
    <comment_count>27</comment_count>
      <attachid>40239</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-28 12:31:50 -0700</bug_when>
    <thetext>Comment on attachment 40239
remove the Tab in previous patch, please review, thanks.

Rejecting patch 40239 from commit-queue.

Failed to run &quot;[&apos;WebKitTools/Scripts/run-webkit-tests&apos;, &apos;--no-launch-safari&apos;, &apos;--quiet&apos;, &apos;--exit-after-n-failures=1&apos;]&quot; exit_code: 1
Running build-dumprendertree
Running tests from /Users/eseidel/Projects/CommitQueue/LayoutTests
Testing 11337 test cases.
http/tests/xmlhttprequest/cross-origin-no-authorization.html -&gt; failed

Exiting early after 1 failures. 8972 tests run.
259.20s total testing time

8971 test cases (99%) succeeded
1 test case (&lt;1%) had incorrect layout
5 test cases (&lt;1%) had stderr output</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150613</commentid>
    <comment_count>28</comment_count>
      <attachid>40239</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-28 12:56:12 -0700</bug_when>
    <thetext>Comment on attachment 40239
remove the Tab in previous patch, please review, thanks.

Flakey test. bug 29322.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150616</commentid>
    <comment_count>29</comment_count>
      <attachid>40239</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-28 13:09:48 -0700</bug_when>
    <thetext>Comment on attachment 40239
remove the Tab in previous patch, please review, thanks.

Clearing flags on attachment: 40239

Committed r48825: &lt;http://trac.webkit.org/changeset/48825&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150617</commentid>
    <comment_count>30</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2009-09-28 13:09:55 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150675</commentid>
    <comment_count>31</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-09-28 15:10:58 -0700</bug_when>
    <thetext>This change is broken for two reasons (one serious, one less so):
1) RefPtr.h uses a function named derefIfNotNull which is not defined anywhere.  It frequently works when it picks up a definition from PassRefPtr.h, but there&apos;s no requirement that that header be included.
2) Adding function call overhead to every deref is a terrible idea.

Reason 1 will cause build failures so this change needs to be rolled out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150678</commentid>
    <comment_count>32</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2009-09-28 15:16:43 -0700</bug_when>
    <thetext>Rolled out in r48839.  Please revise the patch to address at least the first issue and resubmit for review.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>150691</commentid>
    <comment_count>33</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-09-28 15:38:46 -0700</bug_when>
    <thetext>Thank you Mark.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152357</commentid>
    <comment_count>34</comment_count>
      <attachid>40132</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2009-10-05 10:55:55 -0700</bug_when>
    <thetext>Comment on attachment 40132
modify the patch to include Eric&apos;s review comments.

This patch was rolled out, marking r-.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>152821</commentid>
    <comment_count>35</comment_count>
      <attachid>40736</attachid>
    <who name="Yongjun Zhang">yongjun.zhang</who>
    <bug_when>2009-10-06 12:33:28 -0700</bug_when>
    <thetext>Created attachment 40736
include PassRefPtr.h explicitly to avoid possible building break.

Mark and Eric, thank you both for the comments.

I copied the idea from adoptRef&lt;T&gt;() in PassRefPtr.h when introducing derefIfNotNull(); and I assume if adoptRef doesn&apos;t break the build, neither will derefIfNotNull().

To be safe, I modified the patch and explicitly include PassRefPtr.h to prevent possible building break.

Regarding the concern on performance hit, the patch only removes inline for winscw compiler; for other compilers, derefIfNotNull is still inlined.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154727</commentid>
    <comment_count>36</comment_count>
      <attachid>40736</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2009-10-14 23:27:15 -0700</bug_when>
    <thetext>Comment on attachment 40736
include PassRefPtr.h explicitly to avoid possible building break.

Why is there a random change to jni_instance in this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>154734</commentid>
    <comment_count>37</comment_count>
    <who name="Janne Koskinen">koshuin</who>
    <bug_when>2009-10-15 00:06:52 -0700</bug_when>
    <thetext>(In reply to comment #36)
&gt; (From update of attachment 40736 [details])
&gt; Why is there a random change to jni_instance in this patch?

Well, it&apos;s not random but maybe it should be a separate patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>171335</commentid>
    <comment_count>38</comment_count>
    <who name="Janne Koskinen">koshuin</who>
    <bug_when>2009-12-14 03:38:07 -0800</bug_when>
    <thetext>Could this be fixed ? webkit won&apos;t compile for s60 emulator environment before this issue is resolved.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189286</commentid>
    <comment_count>39</comment_count>
      <attachid>48476</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-02-10 01:48:28 -0800</bug_when>
    <thetext>Created attachment 48476
Rebased against trunk, built successfully for both Safari/Mac and Qt/Mac</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189291</commentid>
    <comment_count>40</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-10 01:54:09 -0800</bug_when>
    <thetext>Attachment 48476 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
JavaScriptCore/wtf/RefPtr.h:60:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189308</commentid>
    <comment_count>41</comment_count>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-02-10 03:23:46 -0800</bug_when>
    <thetext>(In reply to comment #40)
&gt; Attachment 48476 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
&gt; JavaScriptCore/wtf/RefPtr.h:60:  More than one command on the same line 
&gt; [whitespace/newline] [4]
&gt; Total errors found: 1

Seems we have quite a few of these already in header files:

[whopper:~/dev/webkit/wip] $ git grep -E &apos;) {.*; [A-Za-z]+&apos; -- **/*.h | wc -l
270

Eric, would it make sense to skip this check for headers, like we do for macros and switch cases?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189309</commentid>
    <comment_count>42</comment_count>
      <attachid>48480</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-02-10 03:31:19 -0800</bug_when>
    <thetext>Created attachment 48480
Split up removal of bool hack into separate patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189310</commentid>
    <comment_count>43</comment_count>
      <attachid>48481</attachid>
    <who name="Tor Arne Vestbø">vestbo</who>
    <bug_when>2010-02-10 03:35:54 -0800</bug_when>
    <thetext>Created attachment 48481
Split up drefIfNotNull() patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189311</commentid>
    <comment_count>44</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-02-10 03:38:27 -0800</bug_when>
    <thetext>Attachment 48481 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
JavaScriptCore/wtf/RefPtr.h:60:  More than one command on the same line  [whitespace/newline] [4]
Total errors found: 1


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>189312</commentid>
    <comment_count>45</comment_count>
      <attachid>48481</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2010-02-10 03:44:40 -0800</bug_when>
    <thetext>Comment on attachment 48481
Split up drefIfNotNull() patch

Treating the style as false positive and considering that this is the same as r47592, it looks good to me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226645</commentid>
    <comment_count>46</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-05-17 00:36:28 -0700</bug_when>
    <thetext>Did this land?  This has been in the pending-commit list for months. :(</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273599</commentid>
    <comment_count>47</comment_count>
      <attachid>48480</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-02 15:11:12 -0700</bug_when>
    <thetext>Comment on attachment 48480
Split up removal of bool hack into separate patch

Rejecting patch 48480 from commit-queue.

Failed to run &quot;[u&apos;/Users/eseidel/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Simon Hausmann&apos;, u&apos;--force&apos;]&quot; exit_code: 1
Parsed 2 diffs from patch file(s).
patching file JavaScriptCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file JavaScriptCore/wtf/RefPtr.h
Hunk #1 FAILED at 65.
1 out of 1 hunk FAILED -- saving rejects to file JavaScriptCore/wtf/RefPtr.h.rej

Full output: http://queues.webkit.org/results/3972045</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273630</commentid>
    <comment_count>48</comment_count>
      <attachid>48481</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-09-02 15:47:15 -0700</bug_when>
    <thetext>Comment on attachment 48481
Split up drefIfNotNull() patch

Rejecting patch 48481 from commit-queue.

Failed to run &quot;[u&apos;/Users/eseidel/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Simon Hausmann&apos;, u&apos;--force&apos;]&quot; exit_code: 1
Last 500 characters of output:
/wtf/RefPtr.h.rej
patching file WebCore/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file WebCore/bridge/jni/jsc/JavaInstanceJSC.h
Hunk #1 FAILED at 50.
Hunk #2 succeeded at 57 with fuzz 2.
1 out of 2 hunks FAILED -- saving rejects to file WebCore/bridge/jni/jsc/JavaInstanceJSC.h.rej
patching file WebCore/bridge/jni/v8/JavaInstanceV8.h
Hunk #1 FAILED at 50.
Hunk #2 succeeded at 57 with fuzz 2.
1 out of 2 hunks FAILED -- saving rejects to file WebCore/bridge/jni/v8/JavaInstanceV8.h.rej

Full output: http://queues.webkit.org/results/3967060</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>273637</commentid>
    <comment_count>49</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-09-02 15:53:43 -0700</bug_when>
    <thetext>I&apos;m suspecting these were already landed.  If they weren&apos;t please don&apos;t reopen this unless you plan do land it.  :)</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>34218</attachid>
            <date>2009-08-06 12:23:27 -0700</date>
            <delta_ts>2009-08-18 13:59:10 -0700</delta_ts>
            <desc>Fix the issue with a helper function.</desc>
            <filename>PassRefPtr.patch</filename>
            <type>text/plain</type>
            <size>3033</size>
            <attacher name="Yongjun Zhang">yongjun.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ2ODUzKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDktMDgtMDYgIFlvbmdqdW4g
WmhhbmcgIDx5b25nanVuLnpoYW5nQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjgwNTQKKworICAgICAgICBVc2UgYSBoZWxwZXIgZnVuY3Rpb24gdG8gd29yayBh
cm91bmQgd2luc2N3IGNvbXBpbGVyIGZvcndhcmQgZGVjbGFyYXRpb24gYnVnCisgICAgICAgIHJl
Z2FyZGluZyB0ZW1wbGF0ZWQgY2xhc3Nlcy4KKworICAgICAgICBBZGQgcGFyZW50aGVzaXMgYXJv
dW5kIChQYXNzUmVmUHRyOjoqVW5zcGVjaWZpZWRCb29sVHlwZSkgdG8gbWFrZSB3aW5zY3cgY29t
cGlsZXIKKyAgICAgICAgd29yayB3aXRoIHRoZSBkZWZhdWx0IFVuU3BlY2lmaWVkQm9vbFR5cGUo
KSBvcGVyYXRvciwgd2hpY2ggcmVtb3ZlcyB0aGUgd2luc2N3CisgICAgICAgIHNwZWNpZmljIGJv
b2wgY2FzdCBoYWNrLgorCisgICAgICAgICogd3RmL1Bhc3NSZWZQdHIuaDoKKyAgICAgICAgKFdU
Rjo6UGFzc1JlZlB0cjo6flBhc3NSZWZQdHIpOgorICAgICAgICAoV1RGOjpyZWxlYXNlUmVmKToK
KwogMjAwOS0wOC0wNSAgWm9sdGFuIEhvcnZhdGggIDxoem9sdGFuQGluZi51LXN6ZWdlZC5odT4K
IAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KSW5kZXg6IEphdmFTY3JpcHRDb3Jl
L3d0Zi9QYXNzUmVmUHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL1Bhc3NS
ZWZQdHIuaAkocmV2aXNpb24gNDY4NTApCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvUGFzc1JlZlB0
ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw3ICsyOCw5IEBAIG5hbWVzcGFjZSBXVEYgewogICAg
IHRlbXBsYXRlPHR5cGVuYW1lIFQ+IGNsYXNzIFJlZlB0cjsKICAgICB0ZW1wbGF0ZTx0eXBlbmFt
ZSBUPiBjbGFzcyBQYXNzUmVmUHRyOwogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBQYXNzUmVm
UHRyPFQ+IGFkb3B0UmVmKFQqKTsKLQorI2lmIENPTVBJTEVSKFdJTlNDVykKKyAgICB0ZW1wbGF0
ZSA8dHlwZW5hbWUgVD4gdm9pZCByZWxlYXNlUmVmKFQqKTsKKyNlbmRpZgogICAgIHRlbXBsYXRl
PHR5cGVuYW1lIFQ+IGNsYXNzIFBhc3NSZWZQdHIgewogICAgIHB1YmxpYzoKICAgICAgICAgUGFz
c1JlZlB0cigpIDogbV9wdHIoMCkge30KQEAgLTQwLDggKzQyLDExIEBAIG5hbWVzcGFjZSBXVEYg
ewogICAgICAgICBQYXNzUmVmUHRyKGNvbnN0IFBhc3NSZWZQdHImIG8pIDogbV9wdHIoby5yZWxl
YXNlUmVmKCkpIHt9CiAgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPiBQYXNzUmVmUHRyKGNv
bnN0IFBhc3NSZWZQdHI8VT4mIG8pIDogbV9wdHIoby5yZWxlYXNlUmVmKCkpIHsgfQogCisjaWYg
Q09NUElMRVIoV0lOU0NXKQorICAgICAgICBBTFdBWVNfSU5MSU5FIH5QYXNzUmVmUHRyKCkgeyBX
VEY6OnJlbGVhc2VSZWYobV9wdHIpOyB9CisjZWxzZQogICAgICAgICBBTFdBWVNfSU5MSU5FIH5Q
YXNzUmVmUHRyKCkgeyBpZiAoVU5MSUtFTFkobV9wdHIgIT0gMCkpIG1fcHRyLT5kZXJlZigpOyB9
Ci0gICAgICAgIAorI2VuZGlmCiAgICAgICAgIHRlbXBsYXRlIDxjbGFzcyBVPiAKICAgICAgICAg
UGFzc1JlZlB0cihjb25zdCBSZWZQdHI8VT4mIG8pIDogbV9wdHIoby5nZXQoKSkgeyBpZiAoVCog
cHRyID0gbV9wdHIpIHB0ci0+cmVmKCk7IH0KICAgICAgICAgCkBAIC01NiwxMiArNjEsOSBAQCBu
YW1lc3BhY2UgV1RGIHsKICAgICAgICAgYm9vbCBvcGVyYXRvciEoKSBjb25zdCB7IHJldHVybiAh
bV9wdHI7IH0KIAogICAgICAgICAvLyBUaGlzIGNvbnZlcnNpb24gb3BlcmF0b3IgYWxsb3dzIGlt
cGxpY2l0IGNvbnZlcnNpb24gdG8gYm9vbCBidXQgbm90IHRvIG90aGVyIGludGVnZXIgdHlwZXMu
Ci0jaWYgQ09NUElMRVIoV0lOU0NXKQotICAgICAgICBvcGVyYXRvciBib29sKCkgY29uc3QgeyBy
ZXR1cm4gbV9wdHI7IH0KLSNlbHNlCi0gICAgICAgIHR5cGVkZWYgVCogUGFzc1JlZlB0cjo6KlVu
c3BlY2lmaWVkQm9vbFR5cGU7CisgICAgICAgIHR5cGVkZWYgVCogKFBhc3NSZWZQdHI6OipVbnNw
ZWNpZmllZEJvb2xUeXBlKTsKICAgICAgICAgb3BlcmF0b3IgVW5zcGVjaWZpZWRCb29sVHlwZSgp
IGNvbnN0IHsgcmV0dXJuIG1fcHRyID8gJlBhc3NSZWZQdHI6Om1fcHRyIDogMDsgfQotI2VuZGlm
CisKICAgICAgICAgUGFzc1JlZlB0ciYgb3BlcmF0b3I9KFQqKTsKICAgICAgICAgUGFzc1JlZlB0
ciYgb3BlcmF0b3I9KGNvbnN0IFBhc3NSZWZQdHImKTsKICAgICAgICAgdGVtcGxhdGUgPHR5cGVu
YW1lIFU+IFBhc3NSZWZQdHImIG9wZXJhdG9yPShjb25zdCBQYXNzUmVmUHRyPFU+Jik7CkBAIC0x
NzAsNiArMTcyLDE0IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICByZXR1cm4gUGFzc1JlZlB0
cjxUPihwLCB0cnVlKTsKICAgICB9CiAKKyNpZiBDT01QSUxFUihXSU5TQ1cpCisgICAgdGVtcGxh
dGUgPHR5cGVuYW1lIFQ+IHZvaWQgcmVsZWFzZVJlZihUKiBwdHIpCisgICAgeworICAgICAgICBp
ZiAoVU5MSUtFTFkocHRyICE9IDApKQorICAgICAgICAgICAgcHRyLT5kZXJlZigpOworICAgIH0K
KyNlbmRpZgorCiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQsIHR5cGVuYW1lIFU+IGlubGluZSBQ
YXNzUmVmUHRyPFQ+IHN0YXRpY19wb2ludGVyX2Nhc3QoY29uc3QgUGFzc1JlZlB0cjxVPiYgcCkg
CiAgICAgeyAKICAgICAgICAgcmV0dXJuIGFkb3B0UmVmKHN0YXRpY19jYXN0PFQqPihwLnJlbGVh
c2VSZWYoKSkpOyAK
</data>
<flag name="review"
          id="18376"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>35070</attachid>
            <date>2009-08-18 13:59:10 -0700</date>
            <delta_ts>2009-08-19 14:20:47 -0700</delta_ts>
            <desc>Modified patch as per Darin&apos;s comments.</desc>
            <filename>passrefptr_new.patch</filename>
            <type>text/plain</type>
            <size>2706</size>
            <attacher name="Yongjun Zhang">yongjun.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ3NDUzKQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDktMDgtMTggIFlvbmdqdW4g
WmhhbmcgIDx5b25nanVuLnpoYW5nQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjgwNTQKKyAgICAgICAKKyAgICAgICAgVXNlIGEgaGVscGVyIGZ1bmN0aW9uIHRv
IHdvcmsgYXJvdW5kIHdpbnNjdyBjb21waWxlciBmb3J3YXJkIGRlY2xhcmF0aW9uIGJ1ZworICAg
ICAgICByZWdhcmRpbmcgdGVtcGxhdGVkIGNsYXNzZXMuCisKKyAgICAgICAgQWRkIHBhcmVudGhl
c2lzIGFyb3VuZCAoUGFzc1JlZlB0cjo6KlVuc3BlY2lmaWVkQm9vbFR5cGUpIHRvIG1ha2Ugd2lu
c2N3IGNvbXBpbGVyCisgICAgICAgIHdvcmsgd2l0aCB0aGUgZGVmYXVsdCBVblNwZWNpZmllZEJv
b2xUeXBlKCkgb3BlcmF0b3IsIHdoaWNoIHJlbW92ZXMgdGhlIHdpbnNjdworICAgICAgICBzcGVj
aWZpYyBib29sIGNhc3QgaGFjay4KKworICAgICAgICAqIHd0Zi9QYXNzUmVmUHRyLmg6CisgICAg
ICAgIChXVEY6OmRlcmVmSWZOb3ROdWxsKToKKyAgICAgICAgKFdURjo6UGFzc1JlZlB0cjo6flBh
c3NSZWZQdHIpOgorCiAyMDA5LTA4LTE4ICBQZXRlciBLYXN0aW5nICA8cGthc3RpbmdAZ29vZ2xl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBFcmljIFNlaWRlbC4KSW5kZXg6IEphdmFTY3Jp
cHRDb3JlL3d0Zi9QYXNzUmVmUHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3Rm
L1Bhc3NSZWZQdHIuaAkocmV2aXNpb24gNDc0MjYpCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvUGFz
c1JlZlB0ci5oCSh3b3JraW5nIGNvcHkpCkBAIC0yOCw2ICsyOCwxNSBAQCBuYW1lc3BhY2UgV1RG
IHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHI7CiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVD4gY2xhc3MgUGFzc1JlZlB0cjsKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
UGFzc1JlZlB0cjxUPiBhZG9wdFJlZihUKik7CisjaWYgQ09NUElMRVIoV0lOU0NXKQorICAgIHRl
bXBsYXRlPHR5cGVuYW1lIFQ+IHZvaWQgZGVyZWZJZk5vdE51bGwoVCogcHRyKQorI2Vsc2UKKyAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBpbmxpbmUgdm9pZCBkZXJlZklmTm90TnVsbChUKiBwdHIp
CisjZW5kaWYgICAgCisgICAgeworICAgICAgICBpZiAoVU5MSUtFTFkocHRyICE9IDApKQorICAg
ICAgICAgICAgcHRyLT5kZXJlZigpOworICAgIH0KIAogICAgIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIFBhc3NSZWZQdHIgewogICAgIHB1YmxpYzoKQEAgLTQwLDggKzQ5LDggQEAgbmFtZXNw
YWNlIFdURiB7CiAgICAgICAgIFBhc3NSZWZQdHIoY29uc3QgUGFzc1JlZlB0ciYgbykgOiBtX3B0
cihvLnJlbGVhc2VSZWYoKSkge30KICAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+IFBhc3NS
ZWZQdHIoY29uc3QgUGFzc1JlZlB0cjxVPiYgbykgOiBtX3B0cihvLnJlbGVhc2VSZWYoKSkgeyB9
CiAKLSAgICAgICAgQUxXQVlTX0lOTElORSB+UGFzc1JlZlB0cigpIHsgaWYgKFVOTElLRUxZKG1f
cHRyICE9IDApKSBtX3B0ci0+ZGVyZWYoKTsgfQotICAgICAgICAKKyAgICAgICAgQUxXQVlTX0lO
TElORSB+UGFzc1JlZlB0cigpIHsgZGVyZWZJZk5vdE51bGw8VD4obV9wdHIpOyB9CisKICAgICAg
ICAgdGVtcGxhdGUgPGNsYXNzIFU+IAogICAgICAgICBQYXNzUmVmUHRyKGNvbnN0IFJlZlB0cjxV
PiYgbykgOiBtX3B0cihvLmdldCgpKSB7IGlmIChUKiBwdHIgPSBtX3B0cikgcHRyLT5yZWYoKTsg
fQogICAgICAgICAKQEAgLTU2LDEyICs2NSw5IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICBi
b29sIG9wZXJhdG9yISgpIGNvbnN0IHsgcmV0dXJuICFtX3B0cjsgfQogCiAgICAgICAgIC8vIFRo
aXMgY29udmVyc2lvbiBvcGVyYXRvciBhbGxvd3MgaW1wbGljaXQgY29udmVyc2lvbiB0byBib29s
IGJ1dCBub3QgdG8gb3RoZXIgaW50ZWdlciB0eXBlcy4KLSNpZiBDT01QSUxFUihXSU5TQ1cpCi0g
ICAgICAgIG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiBtX3B0cjsgfQotI2Vsc2UKLSAg
ICAgICAgdHlwZWRlZiBUKiBQYXNzUmVmUHRyOjoqVW5zcGVjaWZpZWRCb29sVHlwZTsKKyAgICAg
ICAgdHlwZWRlZiBUKiAoUGFzc1JlZlB0cjo6KlVuc3BlY2lmaWVkQm9vbFR5cGUpOwogICAgICAg
ICBvcGVyYXRvciBVbnNwZWNpZmllZEJvb2xUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9wdHIgPyAm
UGFzc1JlZlB0cjo6bV9wdHIgOiAwOyB9Ci0jZW5kaWYKKwogICAgICAgICBQYXNzUmVmUHRyJiBv
cGVyYXRvcj0oVCopOwogICAgICAgICBQYXNzUmVmUHRyJiBvcGVyYXRvcj0oY29uc3QgUGFzc1Jl
ZlB0ciYpOwogICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT4gUGFzc1JlZlB0ciYgb3BlcmF0
b3I9KGNvbnN0IFBhc3NSZWZQdHI8VT4mKTsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>35143</attachid>
            <date>2009-08-19 14:20:47 -0700</date>
            <delta_ts>2009-09-04 07:18:39 -0700</delta_ts>
            <desc>add comments in the code to explain why these two changes are needed.</desc>
            <filename>PassRefPtr_latest.patch</filename>
            <type>text/plain</type>
            <size>3332</size>
            <attacher name="Yongjun Zhang">yongjun.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ3NTI2KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDktMDgtMTkgIFlvbmdqdW4g
WmhhbmcgIDx5b25nanVuLnpoYW5nQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjgwNTQKKyAgICAgICAKKyAgICAgICAgVXNlIGEgaGVscGVyIGZ1bmN0aW9uIHRv
IHdvcmsgYXJvdW5kIHdpbnNjdyBjb21waWxlciBmb3J3YXJkIGRlY2xhcmF0aW9uIGJ1ZworICAg
ICAgICByZWdhcmRpbmcgdGVtcGxhdGVkIGNsYXNzZXMuCisKKyAgICAgICAgQWRkIHBhcmVudGhl
c2lzIGFyb3VuZCAoUGFzc1JlZlB0cjo6KlVuc3BlY2lmaWVkQm9vbFR5cGUpIHRvIG1ha2Ugd2lu
c2N3IGNvbXBpbGVyCisgICAgICAgIHdvcmsgd2l0aCB0aGUgZGVmYXVsdCBVblNwZWNpZmllZEJv
b2xUeXBlKCkgb3BlcmF0b3IsIHdoaWNoIHJlbW92ZXMgdGhlIHdpbnNjdworICAgICAgICBzcGVj
aWZpYyBib29sIGNhc3QgaGFjay4KKworICAgICAgICAqIHd0Zi9QYXNzUmVmUHRyLmg6CisgICAg
ICAgIChXVEY6OlBhc3NSZWZQdHI6On5QYXNzUmVmUHRyKToKKyAgICAgICAgKFdURjo6ZGVyZWZJ
Zk5vdE51bGwpOgorCiAyMDA5LTA4LTE5ICBPbGl2ZXIgSHVudCAgPG9saXZlckBhcHBsZS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR2F2aW4gQmFycmFjbG91Z2guCkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS93dGYvUGFzc1JlZlB0ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0
Zi9QYXNzUmVmUHRyLmgJKHJldmlzaW9uIDQ3NTE5KQorKysgSmF2YVNjcmlwdENvcmUvd3RmL1Bh
c3NSZWZQdHIuaAkod29ya2luZyBjb3B5KQpAQCAtMjgsNiArMjgsNyBAQCBuYW1lc3BhY2UgV1RG
IHsKICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHI7CiAgICAgdGVtcGxhdGU8
dHlwZW5hbWUgVD4gY2xhc3MgUGFzc1JlZlB0cjsKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4g
UGFzc1JlZlB0cjxUPiBhZG9wdFJlZihUKik7CisgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IHZv
aWQgZGVyZWZJZk5vdE51bGwoVCopOwogCiAgICAgdGVtcGxhdGU8dHlwZW5hbWUgVD4gY2xhc3Mg
UGFzc1JlZlB0ciB7CiAgICAgcHVibGljOgpAQCAtNDAsOCArNDEsOCBAQCBuYW1lc3BhY2UgV1RG
IHsKICAgICAgICAgUGFzc1JlZlB0cihjb25zdCBQYXNzUmVmUHRyJiBvKSA6IG1fcHRyKG8ucmVs
ZWFzZVJlZigpKSB7fQogICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT4gUGFzc1JlZlB0cihj
b25zdCBQYXNzUmVmUHRyPFU+JiBvKSA6IG1fcHRyKG8ucmVsZWFzZVJlZigpKSB7IH0KIAotICAg
ICAgICBBTFdBWVNfSU5MSU5FIH5QYXNzUmVmUHRyKCkgeyBpZiAoVU5MSUtFTFkobV9wdHIgIT0g
MCkpIG1fcHRyLT5kZXJlZigpOyB9Ci0gICAgICAgIAorICAgICAgICBBTFdBWVNfSU5MSU5FIH5Q
YXNzUmVmUHRyKCkgeyBkZXJlZklmTm90TnVsbDxUPihtX3B0cik7IH0KKwogICAgICAgICB0ZW1w
bGF0ZSA8Y2xhc3MgVT4gCiAgICAgICAgIFBhc3NSZWZQdHIoY29uc3QgUmVmUHRyPFU+JiBvKSA6
IG1fcHRyKG8uZ2V0KCkpIHsgaWYgKFQqIHB0ciA9IG1fcHRyKSBwdHItPnJlZigpOyB9CiAgICAg
ICAgIApAQCAtNTYsMTIgKzU3LDEwIEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICBib29sIG9w
ZXJhdG9yISgpIGNvbnN0IHsgcmV0dXJuICFtX3B0cjsgfQogCiAgICAgICAgIC8vIFRoaXMgY29u
dmVyc2lvbiBvcGVyYXRvciBhbGxvd3MgaW1wbGljaXQgY29udmVyc2lvbiB0byBib29sIGJ1dCBu
b3QgdG8gb3RoZXIgaW50ZWdlciB0eXBlcy4KLSNpZiBDT01QSUxFUihXSU5TQ1cpCi0gICAgICAg
IG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiBtX3B0cjsgfQotI2Vsc2UKLSAgICAgICAg
dHlwZWRlZiBUKiBQYXNzUmVmUHRyOjoqVW5zcGVjaWZpZWRCb29sVHlwZTsKKyAgICAgICAgLy8g
UGFyZW50aGVzaXMgaXMgbmVlZGVkIGZvciB3aW5zY3cgY29tcGlsZXIgdG8gcmVzb2x2ZSBjbGFz
cyBxdWFsaWZpZXIgaW4gdGhpcyBjYXNlLgorICAgICAgICB0eXBlZGVmIFQqIChQYXNzUmVmUHRy
OjoqVW5zcGVjaWZpZWRCb29sVHlwZSk7CiAgICAgICAgIG9wZXJhdG9yIFVuc3BlY2lmaWVkQm9v
bFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3B0ciA/ICZQYXNzUmVmUHRyOjptX3B0ciA6IDA7IH0K
LSNlbmRpZgorCiAgICAgICAgIFBhc3NSZWZQdHImIG9wZXJhdG9yPShUKik7CiAgICAgICAgIFBh
c3NSZWZQdHImIG9wZXJhdG9yPShjb25zdCBQYXNzUmVmUHRyJik7CiAgICAgICAgIHRlbXBsYXRl
IDx0eXBlbmFtZSBVPiBQYXNzUmVmUHRyJiBvcGVyYXRvcj0oY29uc3QgUGFzc1JlZlB0cjxVPiYp
OwpAQCAtMTcwLDYgKzE2OSwxOSBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgcmV0dXJuIFBh
c3NSZWZQdHI8VD4ocCwgdHJ1ZSk7CiAgICAgfQogCisjaWYgQ09NUElMRVIoV0lOU0NXKQorICAg
IC8vIFJlbW92ZSBpbmxpbmUgaGVyZSB0byBwcmV2ZW50IHdpbnNjdyBjb21waWxlciBhZ3Jlc3Np
dmVseSByZXNvbHZpbmcgVDo6ZGVyZWYoKSwKKyAgICAvLyB3aGljaCB3aWxsIGZhaWwgY29tcGls
aW5nIHdoZW4gUGFzc1JlZlB0cjxUPiBpcyB1c2VkIGFzIGNsYXNzIG1lbWJlciBvciBmdWNudGlv
biAKKyAgICAvLyBhcmd1bWVudHMgYmVmb3JlIFQgaXMgZGVmaW5lZC4KKyAgICB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiB2b2lkIGRlcmVmSWZOb3ROdWxsKFQqIHB0cikKKyNlbHNlCisgICAgdGVtcGxh
dGU8dHlwZW5hbWUgVD4gaW5saW5lIHZvaWQgZGVyZWZJZk5vdE51bGwoVCogcHRyKQorI2VuZGlm
ICAgIAorICAgIHsKKyAgICAgICAgaWYgKFVOTElLRUxZKHB0ciAhPSAwKSkKKyAgICAgICAgICAg
IHB0ci0+ZGVyZWYoKTsKKyAgICB9CisKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVCwgdHlwZW5h
bWUgVT4gaW5saW5lIFBhc3NSZWZQdHI8VD4gc3RhdGljX3BvaW50ZXJfY2FzdChjb25zdCBQYXNz
UmVmUHRyPFU+JiBwKSAKICAgICB7IAogICAgICAgICByZXR1cm4gYWRvcHRSZWYoc3RhdGljX2Nh
c3Q8VCo+KHAucmVsZWFzZVJlZigpKSk7IAo=
</data>
<flag name="review"
          id="19333"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39056</attachid>
            <date>2009-09-04 07:18:39 -0700</date>
            <delta_ts>2009-09-09 15:22:28 -0700</delta_ts>
            <desc>Use derefIfNotNull for RefPtr, as it was done in PassRefPtr.</desc>
            <filename>RefPtr.patch</filename>
            <type>text/plain</type>
            <size>2553</size>
            <attacher name="Yongjun Zhang">yongjun.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ4MDQ5KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjEgQEAKKzIwMDktMDktMDQgIFlvbmdqdW4g
WmhhbmcgIDx5b25nanVuLnpoYW5nQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjgwNTQKKyAgICAgICAKKyAgICAgICAgVXNlIGRlcmVmSW5Ob3ROdWxsKCkgdG8g
d29yayBhcm91bmQgd2luc2N3IGNvbXBpbGVyIGZvcndhcmQgZGVjbGFyYXRpb24gYnVnCisgICAg
ICAgIHJlZ2FyZGluZyB0ZW1wbGF0ZWQgY2xhc3Nlcy4KKworICAgICAgICBBZGQgcGFyZW50aGVz
aXMgYXJvdW5kIChSZWZQdHI6OipVbnNwZWNpZmllZEJvb2xUeXBlKSB0byBtYWtlIHdpbnNjdyBj
b21waWxlcgorICAgICAgICB3b3JrIHdpdGggdGhlIGRlZmF1bHQgVW5TcGVjaWZpZWRCb29sVHlw
ZSgpIG9wZXJhdG9yLCB3aGljaCByZW1vdmVzIHRoZSB3aW5zY3cKKyAgICAgICAgc3BlY2lmaWMg
Ym9vbCBjYXN0IGhhY2suCisKKyAgICAgICAgKiB3dGYvUmVmUHRyLmg6CisgICAgICAgIChXVEY6
OlJlZlB0cjo6flJlZlB0cik6CisgICAgICAgIChXVEY6OlJlZlB0cjo6Y2xlYXIpOgorICAgICAg
ICAoV1RGOjpSZWZQdHI6Om9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUpOgorCiAyMDA5LTA5
LTAzICBZb25nIExpICA8eW9uZy5saUB0b3JjaG1vYmlsZS5jb20+CiAKICAgICAgICAgUmV2aWV3
ZWQgYnkgRGF2aWQgTGV2aW4uCkluZGV4OiBKYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCShyZXZpc2lvbiA0ODA0NykK
KysrIEphdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaAkod29ya2luZyBjb3B5KQpAQCAtNDgsMTMg
KzQ4LDEzIEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICBSZWZQdHIoSGFzaFRhYmxlRGVsZXRl
ZFZhbHVlVHlwZSkgOiBtX3B0cihoYXNoVGFibGVEZWxldGVkVmFsdWUoKSkgeyB9CiAgICAgICAg
IGJvb2wgaXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3B0ciA9PSBo
YXNoVGFibGVEZWxldGVkVmFsdWUoKTsgfQogCi0gICAgICAgIH5SZWZQdHIoKSB7IGlmIChUKiBw
dHIgPSBtX3B0cikgcHRyLT5kZXJlZigpOyB9CisgICAgICAgIH5SZWZQdHIoKSB7IGRlcmVmSWZO
b3ROdWxsKG1fcHRyKTsgfQogICAgICAgICAKICAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+
IFJlZlB0cihjb25zdCBSZWZQdHI8VT4mIG8pIDogbV9wdHIoby5nZXQoKSkgeyBpZiAoVCogcHRy
ID0gbV9wdHIpIHB0ci0+cmVmKCk7IH0KICAgICAgICAgCiAgICAgICAgIFQqIGdldCgpIGNvbnN0
IHsgcmV0dXJuIG1fcHRyOyB9CiAgICAgICAgIAotICAgICAgICB2b2lkIGNsZWFyKCkgeyBpZiAo
VCogcHRyID0gbV9wdHIpIHB0ci0+ZGVyZWYoKTsgbV9wdHIgPSAwOyB9CisgICAgICAgIHZvaWQg
Y2xlYXIoKSB7IGRlcmVmSWZOb3ROdWxsKG1fcHRyKTsgbV9wdHIgPSAwOyB9CiAgICAgICAgIFBh
c3NSZWZQdHI8VD4gcmVsZWFzZSgpIHsgUGFzc1JlZlB0cjxUPiB0bXAgPSBhZG9wdFJlZihtX3B0
cik7IG1fcHRyID0gMDsgcmV0dXJuIHRtcDsgfQogCiAgICAgICAgIFQmIG9wZXJhdG9yKigpIGNv
bnN0IHsgcmV0dXJuICptX3B0cjsgfQpAQCAtNjMsMTIgKzYzLDkgQEAgbmFtZXNwYWNlIFdURiB7
CiAgICAgICAgIGJvb2wgb3BlcmF0b3IhKCkgY29uc3QgeyByZXR1cm4gIW1fcHRyOyB9CiAgICAg
CiAgICAgICAgIC8vIFRoaXMgY29udmVyc2lvbiBvcGVyYXRvciBhbGxvd3MgaW1wbGljaXQgY29u
dmVyc2lvbiB0byBib29sIGJ1dCBub3QgdG8gb3RoZXIgaW50ZWdlciB0eXBlcy4KLSNpZiBDT01Q
SUxFUihXSU5TQ1cpCi0gICAgICAgIG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiBtX3B0
cjsgfQotI2Vsc2UKLSAgICAgICAgdHlwZWRlZiBUKiBSZWZQdHI6OipVbnNwZWNpZmllZEJvb2xU
eXBlOworICAgICAgICAvLyBQYXJlbnRoZXNpcyBpcyBuZWVkZWQgZm9yIHdpbnNjdyBjb21waWxl
ciB0byByZXNvbHZlIGNsYXNzIHF1YWxpZmllciBpbiB0aGlzIGNhc2UuCisgICAgICAgIHR5cGVk
ZWYgVCogKFJlZlB0cjo6KlVuc3BlY2lmaWVkQm9vbFR5cGUpOwogICAgICAgICBvcGVyYXRvciBV
bnNwZWNpZmllZEJvb2xUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9wdHIgPyAmUmVmUHRyOjptX3B0
ciA6IDA7IH0KLSNlbmRpZgogICAgICAgICAKICAgICAgICAgUmVmUHRyJiBvcGVyYXRvcj0oY29u
c3QgUmVmUHRyJik7CiAgICAgICAgIFJlZlB0ciYgb3BlcmF0b3I9KFQqKTsK
</data>
<flag name="review"
          id="20090"
          type_id="1"
          status="-"
          setter="eric"
    />
    <flag name="commit-queue"
          id="20285"
          type_id="3"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>39298</attachid>
            <date>2009-09-09 13:39:55 -0700</date>
            <delta_ts>2009-09-25 12:26:45 -0700</delta_ts>
            <desc>fix build break in mac build.</desc>
            <filename>derefIfNotNull_refptr.patch</filename>
            <type>text/plain</type>
            <size>3679</size>
            <attacher name="Yongjun Zhang">yongjun.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ4MjE4KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjAgQEAKKzIwMDktMDktMDkgIFlvbmdqdW4g
WmhhbmcgIDx5b25nanVuLnpoYW5nQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjgwNTQKKyAgICAgICAKKyAgICAgICAgVXNlIGRlcmVmSW5Ob3ROdWxsKCkgdG8g
d29yayBhcm91bmQgd2luc2N3IGNvbXBpbGVyIGZvcndhcmQgZGVjbGFyYXRpb24gYnVnCisgICAg
ICAgIHJlZ2FyZGluZyB0ZW1wbGF0ZWQgY2xhc3Nlcy4KKworICAgICAgICBBZGQgcGFyZW50aGVz
aXMgYXJvdW5kIChSZWZQdHI6OipVbnNwZWNpZmllZEJvb2xUeXBlKSB0byBtYWtlIHdpbnNjdyBj
b21waWxlcgorICAgICAgICB3b3JrIHdpdGggdGhlIGRlZmF1bHQgVW5TcGVjaWZpZWRCb29sVHlw
ZSgpIG9wZXJhdG9yLCB3aGljaCByZW1vdmVzIHRoZSB3aW5zY3cKKworICAgICAgICAqIHd0Zi9S
ZWZQdHIuaDoKKyAgICAgICAgKFdURjo6UmVmUHRyOjp+UmVmUHRyKToKKyAgICAgICAgKFdURjo6
UmVmUHRyOjpjbGVhcik6CisgICAgICAgIChXVEY6OlJlZlB0cjo6b3BlcmF0b3IgVW5zcGVjaWZp
ZWRCb29sVHlwZSk6CisKIDIwMDktMDktMDkgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21i
b3NAbm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgpJbmRleDog
SmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3Jl
L3d0Zi9SZWZQdHIuaAkocmV2aXNpb24gNDgyMTIpCisrKyBKYXZhU2NyaXB0Q29yZS93dGYvUmVm
UHRyLmgJKHdvcmtpbmcgY29weSkKQEAgLTQ4LDEzICs0OCwxMyBAQCBuYW1lc3BhY2UgV1RGIHsK
ICAgICAgICAgUmVmUHRyKEhhc2hUYWJsZURlbGV0ZWRWYWx1ZVR5cGUpIDogbV9wdHIoaGFzaFRh
YmxlRGVsZXRlZFZhbHVlKCkpIHsgfQogICAgICAgICBib29sIGlzSGFzaFRhYmxlRGVsZXRlZFZh
bHVlKCkgY29uc3QgeyByZXR1cm4gbV9wdHIgPT0gaGFzaFRhYmxlRGVsZXRlZFZhbHVlKCk7IH0K
IAotICAgICAgICB+UmVmUHRyKCkgeyBpZiAoVCogcHRyID0gbV9wdHIpIHB0ci0+ZGVyZWYoKTsg
fQorICAgICAgICB+UmVmUHRyKCkgeyBkZXJlZklmTm90TnVsbChtX3B0cik7IH0KICAgICAgICAg
CiAgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPiBSZWZQdHIoY29uc3QgUmVmUHRyPFU+JiBv
KSA6IG1fcHRyKG8uZ2V0KCkpIHsgaWYgKFQqIHB0ciA9IG1fcHRyKSBwdHItPnJlZigpOyB9CiAg
ICAgICAgIAogICAgICAgICBUKiBnZXQoKSBjb25zdCB7IHJldHVybiBtX3B0cjsgfQogICAgICAg
ICAKLSAgICAgICAgdm9pZCBjbGVhcigpIHsgaWYgKFQqIHB0ciA9IG1fcHRyKSBwdHItPmRlcmVm
KCk7IG1fcHRyID0gMDsgfQorICAgICAgICB2b2lkIGNsZWFyKCkgeyBkZXJlZklmTm90TnVsbCht
X3B0cik7IG1fcHRyID0gMDsgfQogICAgICAgICBQYXNzUmVmUHRyPFQ+IHJlbGVhc2UoKSB7IFBh
c3NSZWZQdHI8VD4gdG1wID0gYWRvcHRSZWYobV9wdHIpOyBtX3B0ciA9IDA7IHJldHVybiB0bXA7
IH0KIAogICAgICAgICBUJiBvcGVyYXRvciooKSBjb25zdCB7IHJldHVybiAqbV9wdHI7IH0KQEAg
LTYzLDEyICs2Myw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICBib29sIG9wZXJhdG9yISgp
IGNvbnN0IHsgcmV0dXJuICFtX3B0cjsgfQogICAgIAogICAgICAgICAvLyBUaGlzIGNvbnZlcnNp
b24gb3BlcmF0b3IgYWxsb3dzIGltcGxpY2l0IGNvbnZlcnNpb24gdG8gYm9vbCBidXQgbm90IHRv
IG90aGVyIGludGVnZXIgdHlwZXMuCi0jaWYgQ09NUElMRVIoV0lOU0NXKQotICAgICAgICBvcGVy
YXRvciBib29sKCkgY29uc3QgeyByZXR1cm4gbV9wdHI7IH0KLSNlbHNlCi0gICAgICAgIHR5cGVk
ZWYgVCogUmVmUHRyOjoqVW5zcGVjaWZpZWRCb29sVHlwZTsKKyAgICAgICAgdHlwZWRlZiBUKiAo
UmVmUHRyOjoqVW5zcGVjaWZpZWRCb29sVHlwZSk7CiAgICAgICAgIG9wZXJhdG9yIFVuc3BlY2lm
aWVkQm9vbFR5cGUoKSBjb25zdCB7IHJldHVybiBtX3B0ciA/ICZSZWZQdHI6Om1fcHRyIDogMDsg
fQotI2VuZGlmCiAgICAgICAgIAogICAgICAgICBSZWZQdHImIG9wZXJhdG9yPShjb25zdCBSZWZQ
dHImKTsKICAgICAgICAgUmVmUHRyJiBvcGVyYXRvcj0oVCopOwpJbmRleDogV2ViQ29yZS9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ4MjE4KQor
KysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyArMSwxMyBAQAorMjAw
OS0wOS0wOSAgWW9uZ2p1biBaaGFuZyAgPHlvbmdqdW4uemhhbmdAbm9raWEuY29tPgorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODA1NAorCisgICAgICAgIE1ha2UgSk9iamVjdFdy
YXBwZXI6OnJlZigpIGFuZCBkZXJlZigpIHB1YmxpYyBhY2Nlc3NpYmxlIHRvIGRlcmVmSWZOdWxs
KCkuCisKKyAgICAgICAgKiBicmlkZ2Uvam5pL2puaV9pbnN0YW5jZS5oOgorCiAyMDA5LTA5LTA4
ICBLZXZpbiBXYXR0ZXJzICA8a2V2aW53YXR0ZXJzQGdtYWlsLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBLZXZpbiBPbGxpdmllci4KSW5kZXg6IFdlYkNvcmUvYnJpZGdlL2puaS9qbmlfaW5z
dGFuY2UuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL2JyaWRnZS9qbmkvam5pX2luc3RhbmNlLmgJ
KHJldmlzaW9uIDQ4MjEyKQorKysgV2ViQ29yZS9icmlkZ2Uvam5pL2puaV9pbnN0YW5jZS5oCSh3
b3JraW5nIGNvcHkpCkBAIC00NiwxOCArNDYsMTkgQEAgZnJpZW5kIGNsYXNzIEphdmFBcnJheTsK
IGZyaWVuZCBjbGFzcyBKYXZhRmllbGQ7CiBmcmllbmQgY2xhc3MgSmF2YUluc3RhbmNlOwogZnJp
ZW5kIGNsYXNzIEphdmFNZXRob2Q7Ci0KLXByb3RlY3RlZDoKLSAgICBKT2JqZWN0V3JhcHBlcihq
b2JqZWN0IGluc3RhbmNlKTsgICAgCi0gICAgfkpPYmplY3RXcmFwcGVyKCk7Ci0gICAgCisJCitw
dWJsaWM6CiAgICAgdm9pZCByZWYoKSB7IF9yZWZDb3VudCsrOyB9CiAgICAgdm9pZCBkZXJlZigp
IAogICAgIHsgCiAgICAgICAgIGlmICgtLV9yZWZDb3VudCA9PSAwKSAKICAgICAgICAgICAgIGRl
bGV0ZSB0aGlzOyAKICAgICB9Ci0KKwkKK3Byb3RlY3RlZDoKKyAgICBKT2JqZWN0V3JhcHBlcihq
b2JqZWN0IGluc3RhbmNlKTsgICAgCisgICAgfkpPYmplY3RXcmFwcGVyKCk7CisgICAgCiAgICAg
am9iamVjdCBfaW5zdGFuY2U7CiAKIHByaXZhdGU6Cg==
</data>
<flag name="review"
          id="20372"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="0"
              isprivate="0"
          >
            <attachid>39431</attachid>
            <date>2009-09-11 07:30:18 -0700</date>
            <delta_ts>2010-02-10 05:20:47 -0800</delta_ts>
            <desc>what is still required</desc>
            <filename>ptr_inline_fix.diff</filename>
            <type>text/plain</type>
            <size>7055</size>
            <attacher name="Janne Koskinen">koshuin</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA1ZGE3NDQwLi4xZGEzMWJkIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjMg
QEAKKzIwMDktMDktMTEgIEphbm5lIEtvc2tpbmVuICA8amFubmUucC5rb3NraW5lbkBkaWdpYS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgV0lO
U0NXIG13Y2NzeW0yIGNvbXBpbGVyIHRyaWVzIHRvIHJlc29sdmUgYWxsIGlubGluZWQgZnVuY3Rp
b25zIGV2ZW4gYmVmb3JlIHRoZXkgYXJlIGNhbGxlZC4KKyAgICAgICAgVGhpcyBjcmVhdGVzIGEg
c2l0dWF0aW9uIHdoZXJlIHdlIGhhdmUgb25seSBmb3J3YXJkIGRlY2xhcmVkIGNsYXNzIFQgYW5k
IGNvbXBpbGVyIGZhaWxzIGZpbmRpbmcgZnVuY3Rpb25zCisgICAgICAgIHJlZigpIGFuZCBkZXJl
ZigpLiBXb3JrYXJvdW5kIGlzIHRvIG1vdmUgYWxsIGNhbGxzIHRvIFQtPnJlZigpIGFuZCBULT5k
ZXJlZigpIGludG8gbm9uLWlubGluZWQgZnVuY3Rpb24uCisKKyAgICAgICAgKiB3dGYvUGFzc1Jl
ZlB0ci5oOgorICAgICAgICAoV1RGOjpyZWZJZk5vdE51bGwpOgorICAgICAgICAoV1RGOjpQYXNz
UmVmUHRyOjpQYXNzUmVmUHRyKToKKyAgICAgICAgKFdURjo6UGFzc1JlZlB0cjo6flBhc3NSZWZQ
dHIpOgorICAgICAgICAoV1RGOjpQYXNzUmVmUHRyOjpjbGVhcik6CisgICAgICAgIChXVEY6Ojo6
b3BlcmF0b3IpOgorICAgICAgICAqIHd0Zi9SZWZQdHIuaDoKKyAgICAgICAgKFdURjo6UmVmUHRy
OjpSZWZQdHIpOgorICAgICAgICAoV1RGOjpSZWZQdHI6On5SZWZQdHIpOgorICAgICAgICAoV1RG
OjpSZWZQdHI6OmNsZWFyKToKKyAgICAgICAgKFdURjo6OjpvcGVyYXRvcik6CisKIDIwMDktMDkt
MDggIEpvaG4gQWJkLUVsLU1hbGVrICA8amFtQGNocm9taXVtLm9yZz4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBEaW1pdHJpIEdsYXprb3YuCmRpZmYgLS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYv
UGFzc1JlZlB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1Bhc3NSZWZQdHIuaAppbmRleCA0MmQ3
NzAxLi5hZTM5OGQzIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvUGFzc1JlZlB0ci5o
CisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9QYXNzUmVmUHRyLmgKQEAgLTQyLDEwICs0MiwyMCBA
QCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgICAgIHB0ci0+ZGVyZWYoKTsKICAgICB9CiAKKyAg
ICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPgorI2lmICFDT01QSUxFUihXSU5TQ1cpCisgICAgaW5saW5l
CisjZW5kaWYKKyAgICB2b2lkIHJlZklmTm90TnVsbChUKiBwdHIpCisgICAgeworICAgICAgICBp
ZiAoVU5MSUtFTFkocHRyICE9IDApKQorICAgICAgICAgICAgcHRyLT5yZWYoKTsKKyAgICB9CisK
ICAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBQYXNzUmVmUHRyIHsKICAgICBwdWJsaWM6
CiAgICAgICAgIFBhc3NSZWZQdHIoKSA6IG1fcHRyKDApIHt9Ci0gICAgICAgIFBhc3NSZWZQdHIo
VCogcHRyKSA6IG1fcHRyKHB0cikgeyBpZiAocHRyKSBwdHItPnJlZigpOyB9CisgICAgICAgIFBh
c3NSZWZQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikgeyByZWZJZk5vdE51bGwocHRyKTsgfQogICAg
ICAgICAvLyBJdCBzb21ld2hhdCBicmVha3MgdGhlIHR5cGUgc3lzdGVtIHRvIGFsbG93IHRyYW5z
ZmVyIG9mIG93bmVyc2hpcCBvdXQgb2YKICAgICAgICAgLy8gYSBjb25zdCBQYXNzUmVmUHRyLiBI
b3dldmVyLCBpdCBtYWtlcyBpdCBtdWNoIGVhc2llciB0byB3b3JrIHdpdGggUGFzc1JlZlB0cgog
ICAgICAgICAvLyB0ZW1wb3JhcmllcywgYW5kIHdlIGRvbid0IHJlYWxseSBoYXZlIGEgbmVlZCB0
byB1c2UgcmVhbCBjb25zdCBQYXNzUmVmUHRycyAKQEAgLTUzLDE0ICs2MywxNCBAQCBuYW1lc3Bh
Y2UgV1RGIHsKICAgICAgICAgUGFzc1JlZlB0cihjb25zdCBQYXNzUmVmUHRyJiBvKSA6IG1fcHRy
KG8ucmVsZWFzZVJlZigpKSB7fQogICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT4gUGFzc1Jl
ZlB0cihjb25zdCBQYXNzUmVmUHRyPFU+JiBvKSA6IG1fcHRyKG8ucmVsZWFzZVJlZigpKSB7IH0K
IAotICAgICAgICBBTFdBWVNfSU5MSU5FIH5QYXNzUmVmUHRyKCkgeyBkZXJlZklmTm90TnVsbDxU
PihtX3B0cik7IH0KKyAgICAgICAgQUxXQVlTX0lOTElORSB+UGFzc1JlZlB0cigpIHsgZGVyZWZJ
Zk5vdE51bGwobV9wdHIpOyB9CiAKICAgICAgICAgdGVtcGxhdGUgPGNsYXNzIFU+IAotICAgICAg
ICBQYXNzUmVmUHRyKGNvbnN0IFJlZlB0cjxVPiYgbykgOiBtX3B0cihvLmdldCgpKSB7IGlmIChU
KiBwdHIgPSBtX3B0cikgcHRyLT5yZWYoKTsgfQorICAgICAgICBQYXNzUmVmUHRyKGNvbnN0IFJl
ZlB0cjxVPiYgbykgOiBtX3B0cihvLmdldCgpKSB7IFQqIHB0ciA9IG1fcHRyOyByZWZJZk5vdE51
bGwocHRyKTsgfQogICAgICAgICAKICAgICAgICAgVCogZ2V0KCkgY29uc3QgeyByZXR1cm4gbV9w
dHI7IH0KIAotICAgICAgICB2b2lkIGNsZWFyKCkgeyBpZiAoVCogcHRyID0gbV9wdHIpIHB0ci0+
ZGVyZWYoKTsgbV9wdHIgPSAwOyB9CisgICAgICAgIHZvaWQgY2xlYXIoKSB7IFQqIHB0ciA9IG1f
cHRyOyBkZXJlZklmTm90TnVsbChwdHIpOyBtX3B0ciA9IDA7IH0KICAgICAgICAgVCogcmVsZWFz
ZVJlZigpIGNvbnN0IHsgVCogdG1wID0gbV9wdHI7IG1fcHRyID0gMDsgcmV0dXJuIHRtcDsgfQog
CiAgICAgICAgIFQmIG9wZXJhdG9yKigpIGNvbnN0IHsgcmV0dXJuICptX3B0cjsgfQpAQCAtODgs
MjMgKzk4LDE5IEBAIG5hbWVzcGFjZSBXVEYgewogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUPiB0
ZW1wbGF0ZSA8dHlwZW5hbWUgVT4gaW5saW5lIFBhc3NSZWZQdHI8VD4mIFBhc3NSZWZQdHI8VD46
Om9wZXJhdG9yPShjb25zdCBSZWZQdHI8VT4mIG8pIAogICAgIHsKICAgICAgICAgVCogb3B0ciA9
IG8uZ2V0KCk7Ci0gICAgICAgIGlmIChvcHRyKQotICAgICAgICAgICAgb3B0ci0+cmVmKCk7Cisg
ICAgICAgIHJlZklmTm90TnVsbChvcHRyKTsKICAgICAgICAgVCogcHRyID0gbV9wdHI7CiAgICAg
ICAgIG1fcHRyID0gb3B0cjsKLSAgICAgICAgaWYgKHB0cikKLSAgICAgICAgICAgIHB0ci0+ZGVy
ZWYoKTsKKyAgICAgICAgZGVyZWZJZk5vdE51bGwocHRyKTsKICAgICAgICAgcmV0dXJuICp0aGlz
OwogICAgIH0KICAgICAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gaW5saW5lIFBhc3NSZWZQ
dHI8VD4mIFBhc3NSZWZQdHI8VD46Om9wZXJhdG9yPShUKiBvcHRyKQogICAgIHsKLSAgICAgICAg
aWYgKG9wdHIpCi0gICAgICAgICAgICBvcHRyLT5yZWYoKTsKKyAgICAgICAgcmVmSWZOb3ROdWxs
KG9wdHIpOwogICAgICAgICBUKiBwdHIgPSBtX3B0cjsKICAgICAgICAgbV9wdHIgPSBvcHRyOwot
ICAgICAgICBpZiAocHRyKQotICAgICAgICAgICAgcHRyLT5kZXJlZigpOworICAgICAgICBkZXJl
ZklmTm90TnVsbChwdHIpOwogICAgICAgICByZXR1cm4gKnRoaXM7CiAgICAgfQogCkBAIC0xMTIs
OCArMTE4LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgewogICAgICAgICBUKiBwdHIgPSBtX3B0
cjsKICAgICAgICAgbV9wdHIgPSByZWYucmVsZWFzZVJlZigpOwotICAgICAgICBpZiAocHRyKQot
ICAgICAgICAgICAgcHRyLT5kZXJlZigpOworICAgICAgICBkZXJlZklmTm90TnVsbChwdHIpOwog
ICAgICAgICByZXR1cm4gKnRoaXM7CiAgICAgfQogICAgIApAQCAtMTIxLDggKzEyNiw3IEBAIG5h
bWVzcGFjZSBXVEYgewogICAgIHsKICAgICAgICAgVCogcHRyID0gbV9wdHI7CiAgICAgICAgIG1f
cHRyID0gcmVmLnJlbGVhc2VSZWYoKTsKLSAgICAgICAgaWYgKHB0cikKLSAgICAgICAgICAgIHB0
ci0+ZGVyZWYoKTsKKyAgICAgICAgZGVyZWZJZk5vdE51bGwocHRyKTsKICAgICAgICAgcmV0dXJu
ICp0aGlzOwogICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQ
dHIuaCBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaAppbmRleCA3NGNkMGVhLi43NzgzNWFk
IDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgKKysrIGIvSmF2YVNjcmlw
dENvcmUvd3RmL1JlZlB0ci5oCkBAIC0zNiw4ICszNiw4IEBAIG5hbWVzcGFjZSBXVEYgewogICAg
IHRlbXBsYXRlIDx0eXBlbmFtZSBUPiBjbGFzcyBSZWZQdHIgOiBwdWJsaWMgRmFzdEFsbG9jQmFz
ZSB7CiAgICAgcHVibGljOgogICAgICAgICBSZWZQdHIoKSA6IG1fcHRyKDApIHsgfQotICAgICAg
ICBSZWZQdHIoVCogcHRyKSA6IG1fcHRyKHB0cikgeyBpZiAocHRyKSBwdHItPnJlZigpOyB9Ci0g
ICAgICAgIFJlZlB0cihjb25zdCBSZWZQdHImIG8pIDogbV9wdHIoby5tX3B0cikgeyBpZiAoVCog
cHRyID0gbV9wdHIpIHB0ci0+cmVmKCk7IH0KKyAgICAgICAgUmVmUHRyKFQqIHB0cikgOiBtX3B0
cihwdHIpIHsgcmVmSWZOb3ROdWxsKHB0cik7IH0KKyAgICAgICAgUmVmUHRyKGNvbnN0IFJlZlB0
ciYgbykgOiBtX3B0cihvLm1fcHRyKSB7IFQqIHB0ciA9IG1fcHRyOyByZWZJZk5vdE51bGwocHRy
KTsgfQogICAgICAgICAvLyBzZWUgY29tbWVudCBpbiBQYXNzUmVmUHRyLmggZm9yIHdoeSB0aGlz
IHRha2VzIGNvbnN0IHJlZmVyZW5jZQogICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT4gUmVm
UHRyKGNvbnN0IFBhc3NSZWZQdHI8VT4mKTsKIApAQCAtNDgsMTMgKzQ4LDEzIEBAIG5hbWVzcGFj
ZSBXVEYgewogICAgICAgICBSZWZQdHIoSGFzaFRhYmxlRGVsZXRlZFZhbHVlVHlwZSkgOiBtX3B0
cihoYXNoVGFibGVEZWxldGVkVmFsdWUoKSkgeyB9CiAgICAgICAgIGJvb2wgaXNIYXNoVGFibGVE
ZWxldGVkVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3B0ciA9PSBoYXNoVGFibGVEZWxldGVkVmFs
dWUoKTsgfQogCi0gICAgICAgIH5SZWZQdHIoKSB7IGlmIChUKiBwdHIgPSBtX3B0cikgcHRyLT5k
ZXJlZigpOyB9CisgICAgICAgIH5SZWZQdHIoKSB7IFQqIHB0ciA9IG1fcHRyOyBkZXJlZklmTm90
TnVsbChwdHIpOyB9CiAgICAgICAgIAogICAgICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT4gUmVm
UHRyKGNvbnN0IFJlZlB0cjxVPiYgbykgOiBtX3B0cihvLmdldCgpKSB7IGlmIChUKiBwdHIgPSBt
X3B0cikgcHRyLT5yZWYoKTsgfQogICAgICAgICAKICAgICAgICAgVCogZ2V0KCkgY29uc3QgeyBy
ZXR1cm4gbV9wdHI7IH0KICAgICAgICAgCi0gICAgICAgIHZvaWQgY2xlYXIoKSB7IGlmIChUKiBw
dHIgPSBtX3B0cikgcHRyLT5kZXJlZigpOyBtX3B0ciA9IDA7IH0KKyAgICAgICAgdm9pZCBjbGVh
cigpIHsgVCogcHRyID0gbV9wdHI7IGRlcmVmSWZOb3ROdWxsKHB0cik7IG1fcHRyID0gMDsgfQog
ICAgICAgICBQYXNzUmVmUHRyPFQ+IHJlbGVhc2UoKSB7IFBhc3NSZWZQdHI8VD4gdG1wID0gYWRv
cHRSZWYobV9wdHIpOyBtX3B0ciA9IDA7IHJldHVybiB0bXA7IH0KIAogICAgICAgICBUJiBvcGVy
YXRvciooKSBjb25zdCB7IHJldHVybiAqbV9wdHI7IH0KQEAgLTkyLDM1ICs5MiwyOSBAQCBuYW1l
c3BhY2UgV1RGIHsKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gaW5saW5lIFJlZlB0cjxUPiYg
UmVmUHRyPFQ+OjpvcGVyYXRvcj0oY29uc3QgUmVmUHRyPFQ+JiBvKQogICAgIHsKICAgICAgICAg
VCogb3B0ciA9IG8uZ2V0KCk7Ci0gICAgICAgIGlmIChvcHRyKQotICAgICAgICAgICAgb3B0ci0+
cmVmKCk7CisgICAgICAgIHJlZklmTm90TnVsbChvcHRyKTsKICAgICAgICAgVCogcHRyID0gbV9w
dHI7CiAgICAgICAgIG1fcHRyID0gb3B0cjsKLSAgICAgICAgaWYgKHB0cikKLSAgICAgICAgICAg
IHB0ci0+ZGVyZWYoKTsKKyAgICAgICAgZGVyZWZJZk5vdE51bGwocHRyKTsKICAgICAgICAgcmV0
dXJuICp0aGlzOwogICAgIH0KICAgICAKICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVD4gdGVtcGxh
dGUgPHR5cGVuYW1lIFU+IGlubGluZSBSZWZQdHI8VD4mIFJlZlB0cjxUPjo6b3BlcmF0b3I9KGNv
bnN0IFJlZlB0cjxVPiYgbykKICAgICB7CiAgICAgICAgIFQqIG9wdHIgPSBvLmdldCgpOwotICAg
ICAgICBpZiAob3B0cikKLSAgICAgICAgICAgIG9wdHItPnJlZigpOworICAgICAgICByZWZJZk5v
dE51bGwob3B0cik7CiAgICAgICAgIFQqIHB0ciA9IG1fcHRyOwogICAgICAgICBtX3B0ciA9IG9w
dHI7Ci0gICAgICAgIGlmIChwdHIpCi0gICAgICAgICAgICBwdHItPmRlcmVmKCk7CisgICAgICAg
IGRlcmVmSWZOb3ROdWxsKHB0cik7CiAgICAgICAgIHJldHVybiAqdGhpczsKICAgICB9CiAgICAg
CiAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFQ+IGlubGluZSBSZWZQdHI8VD4mIFJlZlB0cjxUPjo6
b3BlcmF0b3I9KFQqIG9wdHIpCiAgICAgewotICAgICAgICBpZiAob3B0cikKLSAgICAgICAgICAg
IG9wdHItPnJlZigpOworICAgICAgICByZWZJZk5vdE51bGwob3B0cik7CiAgICAgICAgIFQqIHB0
ciA9IG1fcHRyOwogICAgICAgICBtX3B0ciA9IG9wdHI7Ci0gICAgICAgIGlmIChwdHIpCi0gICAg
ICAgICAgICBwdHItPmRlcmVmKCk7CisgICAgICAgIGRlcmVmSWZOb3ROdWxsKHB0cik7CiAgICAg
ICAgIHJldHVybiAqdGhpczsKICAgICB9CiAKQEAgLTEyOCw4ICsxMjIsNyBAQCBuYW1lc3BhY2Ug
V1RGIHsKICAgICB7CiAgICAgICAgIFQqIHB0ciA9IG1fcHRyOwogICAgICAgICBtX3B0ciA9IG8u
cmVsZWFzZVJlZigpOwotICAgICAgICBpZiAocHRyKQotICAgICAgICAgICAgcHRyLT5kZXJlZigp
OworICAgICAgICBkZXJlZklmTm90TnVsbChwdHIpOwogICAgICAgICByZXR1cm4gKnRoaXM7CiAg
ICAgfQogCkBAIC0xMzcsOCArMTMwLDcgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgewogICAgICAg
ICBUKiBwdHIgPSBtX3B0cjsKICAgICAgICAgbV9wdHIgPSBvLnJlbGVhc2VSZWYoKTsKLSAgICAg
ICAgaWYgKHB0cikKLSAgICAgICAgICAgIHB0ci0+ZGVyZWYoKTsKKyAgICAgICAgZGVyZWZJZk5v
dE51bGwocHRyKTsKICAgICAgICAgcmV0dXJuICp0aGlzOwogICAgIH0KIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40132</attachid>
            <date>2009-09-25 12:26:45 -0700</date>
            <delta_ts>2009-10-05 10:55:55 -0700</delta_ts>
            <desc>modify the patch to include Eric&apos;s review comments.</desc>
            <filename>derefIfNotNull_refptr.patch</filename>
            <type>text/plain</type>
            <size>4034</size>
            <attacher name="Yongjun Zhang">yongjun.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ4NzY0KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMDktMDktMjUgIFlvbmdqdW4g
WmhhbmcgIDx5b25nanVuLnpoYW5nQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjgwNTQKKyAgICAgICAKKyAgICAgICAgVXNlIGRlcmVmSW5Ob3ROdWxsKCkgdG8g
d29yayBhcm91bmQgd2luc2N3IGNvbXBpbGVyIGZvcndhcmQgZGVjbGFyYXRpb24gYnVnCisgICAg
ICAgIHJlZ2FyZGluZyB0ZW1wbGF0ZWQgY2xhc3Nlcy4gCisKKyAgICAgICAgVGhlIGNvbXBpbGVy
IGJ1ZyBpcyByZXBvcnRlZCBhdCAKKyAgICAgICAgaHR0cHM6Ly94ZGFidWcwMDEuZXh0Lm5va2lh
LmNvbS9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9OTgxMi4KKyAgICAgICAgCisgICAgICAgIFRo
ZSBjaGFuZ2Ugc2hvdWxkIGJlIHJldmVydGVkIHdoZW4gdGhlIGFib3ZlIGJ1ZyBpcyBmaXhlZCBp
biB3aW5zY3cgY29tcGlsZXIuIAorCisgICAgICAgIEFkZCBwYXJlbnRoZXNpcyBhcm91bmQgKFJl
ZlB0cjo6KlVuc3BlY2lmaWVkQm9vbFR5cGUpIHRvIG1ha2Ugd2luc2N3IGNvbXBpbGVyCisgICAg
ICAgIHdvcmsgd2l0aCB0aGUgZGVmYXVsdCBVblNwZWNpZmllZEJvb2xUeXBlKCkgb3BlcmF0b3Is
IHdoaWNoIHJlbW92ZXMgdGhlIHdpbnNjdworCisgICAgICAgICogd3RmL1JlZlB0ci5oOgorICAg
ICAgICAoV1RGOjpSZWZQdHI6On5SZWZQdHIpOgorICAgICAgICAoV1RGOjpSZWZQdHI6OmNsZWFy
KToKKyAgICAgICAgKFdURjo6UmVmUHRyOjpvcGVyYXRvciBVbnNwZWNpZmllZEJvb2xUeXBlKToK
KwogMjAwOS0wOS0yNSAgTGFzemxvIEdvbWJvcyAgPGxhc3psby4xLmdvbWJvc0Bub2tpYS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR2F2aW4gQmFycmFjbG91Z2guCkluZGV4OiBKYXZhU2Ny
aXB0Q29yZS93dGYvUmVmUHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL1Jl
ZlB0ci5oCShyZXZpc2lvbiA0ODc2MSkKKysrIEphdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaAko
d29ya2luZyBjb3B5KQpAQCAtNDgsMTMgKzQ4LDEzIEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAg
ICBSZWZQdHIoSGFzaFRhYmxlRGVsZXRlZFZhbHVlVHlwZSkgOiBtX3B0cihoYXNoVGFibGVEZWxl
dGVkVmFsdWUoKSkgeyB9CiAgICAgICAgIGJvb2wgaXNIYXNoVGFibGVEZWxldGVkVmFsdWUoKSBj
b25zdCB7IHJldHVybiBtX3B0ciA9PSBoYXNoVGFibGVEZWxldGVkVmFsdWUoKTsgfQogCi0gICAg
ICAgIH5SZWZQdHIoKSB7IGlmIChUKiBwdHIgPSBtX3B0cikgcHRyLT5kZXJlZigpOyB9CisgICAg
ICAgIH5SZWZQdHIoKSB7IGRlcmVmSWZOb3ROdWxsKG1fcHRyKTsgfQogICAgICAgICAKICAgICAg
ICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+IFJlZlB0cihjb25zdCBSZWZQdHI8VT4mIG8pIDogbV9w
dHIoby5nZXQoKSkgeyBpZiAoVCogcHRyID0gbV9wdHIpIHB0ci0+cmVmKCk7IH0KICAgICAgICAg
CiAgICAgICAgIFQqIGdldCgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyOyB9CiAgICAgICAgIAotICAg
ICAgICB2b2lkIGNsZWFyKCkgeyBpZiAoVCogcHRyID0gbV9wdHIpIHB0ci0+ZGVyZWYoKTsgbV9w
dHIgPSAwOyB9CisgICAgICAgIHZvaWQgY2xlYXIoKSB7IGRlcmVmSWZOb3ROdWxsKG1fcHRyKTsg
bV9wdHIgPSAwOyB9CiAgICAgICAgIFBhc3NSZWZQdHI8VD4gcmVsZWFzZSgpIHsgUGFzc1JlZlB0
cjxUPiB0bXAgPSBhZG9wdFJlZihtX3B0cik7IG1fcHRyID0gMDsgcmV0dXJuIHRtcDsgfQogCiAg
ICAgICAgIFQmIG9wZXJhdG9yKigpIGNvbnN0IHsgcmV0dXJuICptX3B0cjsgfQpAQCAtNjMsMTIg
KzYzLDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIGJvb2wgb3BlcmF0b3IhKCkgY29uc3Qg
eyByZXR1cm4gIW1fcHRyOyB9CiAgICAgCiAgICAgICAgIC8vIFRoaXMgY29udmVyc2lvbiBvcGVy
YXRvciBhbGxvd3MgaW1wbGljaXQgY29udmVyc2lvbiB0byBib29sIGJ1dCBub3QgdG8gb3RoZXIg
aW50ZWdlciB0eXBlcy4KLSNpZiBDT01QSUxFUihXSU5TQ1cpCi0gICAgICAgIG9wZXJhdG9yIGJv
b2woKSBjb25zdCB7IHJldHVybiBtX3B0cjsgfQotI2Vsc2UKLSAgICAgICAgdHlwZWRlZiBUKiBS
ZWZQdHI6OipVbnNwZWNpZmllZEJvb2xUeXBlOworICAgICAgICB0eXBlZGVmIFQqIChSZWZQdHI6
OipVbnNwZWNpZmllZEJvb2xUeXBlKTsKICAgICAgICAgb3BlcmF0b3IgVW5zcGVjaWZpZWRCb29s
VHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyID8gJlJlZlB0cjo6bV9wdHIgOiAwOyB9Ci0jZW5k
aWYKICAgICAgICAgCiAgICAgICAgIFJlZlB0ciYgb3BlcmF0b3I9KGNvbnN0IFJlZlB0ciYpOwog
ICAgICAgICBSZWZQdHImIG9wZXJhdG9yPShUKik7CkluZGV4OiBXZWJDb3JlL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNDg3NjQpCisrKyBXZWJD
b3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDA5LTA5LTI1
ICBZb25nanVuIFpoYW5nICA8eW9uZ2p1bi56aGFuZ0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBKT2JqZWN0V3JhcHBlcjo6
cmVmKCkgYW5kIGRlcmVmKCkgcHVibGljIGFjY2Vzc2libGUgdG8gZGVyZWZJZk51bGwoKS4KKyAg
ICAgICAgCisgICAgICAgIFdpbGwgYmUgcmV2ZXJ0ZWQgd2hlbiB0aGUgZm9sbG93aW5nIHdpbnNj
dyBjb21waWxlciBidWcgaXMgZml4ZWQuCisgICAgICAgIGh0dHBzOi8veGRhYnVnMDAxLmV4dC5u
b2tpYS5jb20vYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTk4MTIKKworICAgICAgICAqIGJyaWRn
ZS9qbmkvam5pX2luc3RhbmNlLmg6CisKIDIwMDktMDktMjUgIEVucmljYSBDYXN1Y2NpICA8ZW5y
aWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlciwgRGFuIEJl
cm5zdGVpbiwgQWRlbGUgUGV0ZXJzb24sIGFuZCBvdGhlcnMuCkluZGV4OiBXZWJDb3JlL2JyaWRn
ZS9qbmkvam5pX2luc3RhbmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2Uvam5pL2pu
aV9pbnN0YW5jZS5oCShyZXZpc2lvbiA0ODc2MSkKKysrIFdlYkNvcmUvYnJpZGdlL2puaS9qbmlf
aW5zdGFuY2UuaAkod29ya2luZyBjb3B5KQpAQCAtNDYsMTggKzQ2LDE5IEBAIGZyaWVuZCBjbGFz
cyBKYXZhQXJyYXk7CiBmcmllbmQgY2xhc3MgSmF2YUZpZWxkOwogZnJpZW5kIGNsYXNzIEphdmFJ
bnN0YW5jZTsKIGZyaWVuZCBjbGFzcyBKYXZhTWV0aG9kOwotCi1wcm90ZWN0ZWQ6Ci0gICAgSk9i
amVjdFdyYXBwZXIoam9iamVjdCBpbnN0YW5jZSk7ICAgIAotICAgIH5KT2JqZWN0V3JhcHBlcigp
OwotICAgIAorCQorcHVibGljOgogICAgIHZvaWQgcmVmKCkgeyBfcmVmQ291bnQrKzsgfQogICAg
IHZvaWQgZGVyZWYoKSAKICAgICB7IAogICAgICAgICBpZiAoLS1fcmVmQ291bnQgPT0gMCkgCiAg
ICAgICAgICAgICBkZWxldGUgdGhpczsgCiAgICAgfQotCisJCitwcm90ZWN0ZWQ6CisgICAgSk9i
amVjdFdyYXBwZXIoam9iamVjdCBpbnN0YW5jZSk7ICAgIAorICAgIH5KT2JqZWN0V3JhcHBlcigp
OworICAgIAogICAgIGpvYmplY3QgX2luc3RhbmNlOwogCiBwcml2YXRlOgo=
</data>
<flag name="review"
          id="21318"
          type_id="1"
          status="-"
          setter="eric"
    />
    <flag name="commit-queue"
          id="21319"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40239</attachid>
            <date>2009-09-28 09:13:23 -0700</date>
            <delta_ts>2010-02-10 01:48:28 -0800</delta_ts>
            <desc>remove the Tab in previous patch, please review, thanks.</desc>
            <filename>derefIfNotNull_refptr.patch</filename>
            <type>text/plain</type>
            <size>4030</size>
            <attacher name="Yongjun Zhang">yongjun.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cocmV2aXNpb24gNDg3NjQpCisrKyBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VM
b2cod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBACisyMDA5LTA5LTI1ICBZb25nanVuIFpo
YW5nICA8eW9uZ2p1bi56aGFuZ0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTI4MDU0CisgICAgICAgCisgICAgICAgIFVzZSBkZXJlZkluTm90TnVsbCgpIHRvIHdv
cmsgYXJvdW5kIHdpbnNjdyBjb21waWxlciBmb3J3YXJkIGRlY2xhcmF0aW9uIGJ1ZworICAgICAg
ICByZWdhcmRpbmcgdGVtcGxhdGVkIGNsYXNzZXMuIAorCisgICAgICAgIFRoZSBjb21waWxlciBi
dWcgaXMgcmVwb3J0ZWQgYXQgCisgICAgICAgIGh0dHBzOi8veGRhYnVnMDAxLmV4dC5ub2tpYS5j
b20vYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTk4MTIuCisgICAgICAgIAorICAgICAgICBUaGUg
Y2hhbmdlIHNob3VsZCBiZSByZXZlcnRlZCB3aGVuIHRoZSBhYm92ZSBidWcgaXMgZml4ZWQgaW4g
d2luc2N3IGNvbXBpbGVyLiAKKworICAgICAgICBBZGQgcGFyZW50aGVzaXMgYXJvdW5kIChSZWZQ
dHI6OipVbnNwZWNpZmllZEJvb2xUeXBlKSB0byBtYWtlIHdpbnNjdyBjb21waWxlcgorICAgICAg
ICB3b3JrIHdpdGggdGhlIGRlZmF1bHQgVW5TcGVjaWZpZWRCb29sVHlwZSgpIG9wZXJhdG9yLCB3
aGljaCByZW1vdmVzIHRoZSB3aW5zY3cgaGFjay4KKworICAgICAgICAqIHd0Zi9SZWZQdHIuaDoK
KyAgICAgICAgKFdURjo6UmVmUHRyOjp+UmVmUHRyKToKKyAgICAgICAgKFdURjo6UmVmUHRyOjpj
bGVhcik6CisgICAgICAgIChXVEY6OlJlZlB0cjo6b3BlcmF0b3IgVW5zcGVjaWZpZWRCb29sVHlw
ZSk6CisKIDIwMDktMDktMjUgIExhc3psbyBHb21ib3MgIDxsYXN6bG8uMS5nb21ib3NAbm9raWEu
Y29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdhdmluIEJhcnJhY2xvdWdoLgpJbmRleDogSmF2
YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL3d0
Zi9SZWZQdHIuaChyZXZpc2lvbiA0ODc2MSkKKysrIEphdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIu
aCh3b3JraW5nIGNvcHkpCkBAIC00OCwxMyArNDgsMTMgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
ICAgIFJlZlB0cihIYXNoVGFibGVEZWxldGVkVmFsdWVUeXBlKSA6IG1fcHRyKGhhc2hUYWJsZURl
bGV0ZWRWYWx1ZSgpKSB7IH0KICAgICAgICAgYm9vbCBpc0hhc2hUYWJsZURlbGV0ZWRWYWx1ZSgp
IGNvbnN0IHsgcmV0dXJuIG1fcHRyID09IGhhc2hUYWJsZURlbGV0ZWRWYWx1ZSgpOyB9CiAKLSAg
ICAgICAgflJlZlB0cigpIHsgaWYgKFQqIHB0ciA9IG1fcHRyKSBwdHItPmRlcmVmKCk7IH0KKyAg
ICAgICAgflJlZlB0cigpIHsgZGVyZWZJZk5vdE51bGwobV9wdHIpOyB9CiAgICAgICAgIAogICAg
ICAgICB0ZW1wbGF0ZSA8dHlwZW5hbWUgVT4gUmVmUHRyKGNvbnN0IFJlZlB0cjxVPiYgbykgOiBt
X3B0cihvLmdldCgpKSB7IGlmIChUKiBwdHIgPSBtX3B0cikgcHRyLT5yZWYoKTsgfQogICAgICAg
ICAKICAgICAgICAgVCogZ2V0KCkgY29uc3QgeyByZXR1cm4gbV9wdHI7IH0KICAgICAgICAgCi0g
ICAgICAgIHZvaWQgY2xlYXIoKSB7IGlmIChUKiBwdHIgPSBtX3B0cikgcHRyLT5kZXJlZigpOyBt
X3B0ciA9IDA7IH0KKyAgICAgICAgdm9pZCBjbGVhcigpIHsgZGVyZWZJZk5vdE51bGwobV9wdHIp
OyBtX3B0ciA9IDA7IH0KICAgICAgICAgUGFzc1JlZlB0cjxUPiByZWxlYXNlKCkgeyBQYXNzUmVm
UHRyPFQ+IHRtcCA9IGFkb3B0UmVmKG1fcHRyKTsgbV9wdHIgPSAwOyByZXR1cm4gdG1wOyB9CiAK
ICAgICAgICAgVCYgb3BlcmF0b3IqKCkgY29uc3QgeyByZXR1cm4gKm1fcHRyOyB9CkBAIC02Mywx
MiArNjMsOCBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgYm9vbCBvcGVyYXRvciEoKSBjb25z
dCB7IHJldHVybiAhbV9wdHI7IH0KICAgICAKICAgICAgICAgLy8gVGhpcyBjb252ZXJzaW9uIG9w
ZXJhdG9yIGFsbG93cyBpbXBsaWNpdCBjb252ZXJzaW9uIHRvIGJvb2wgYnV0IG5vdCB0byBvdGhl
ciBpbnRlZ2VyIHR5cGVzLgotI2lmIENPTVBJTEVSKFdJTlNDVykKLSAgICAgICAgb3BlcmF0b3Ig
Ym9vbCgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyOyB9Ci0jZWxzZQotICAgICAgICB0eXBlZGVmIFQq
IFJlZlB0cjo6KlVuc3BlY2lmaWVkQm9vbFR5cGU7CisgICAgICAgIHR5cGVkZWYgVCogKFJlZlB0
cjo6KlVuc3BlY2lmaWVkQm9vbFR5cGUpOwogICAgICAgICBvcGVyYXRvciBVbnNwZWNpZmllZEJv
b2xUeXBlKCkgY29uc3QgeyByZXR1cm4gbV9wdHIgPyAmUmVmUHRyOjptX3B0ciA6IDA7IH0KLSNl
bmRpZgogICAgICAgICAKICAgICAgICAgUmVmUHRyJiBvcGVyYXRvcj0oY29uc3QgUmVmUHRyJik7
CiAgICAgICAgIFJlZlB0ciYgb3BlcmF0b3I9KFQqKTsKSW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nKHJldmlzaW9uIDQ4NzY0KQorKysgV2Vi
Q29yZS9DaGFuZ2VMb2cod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE0IEBACisyMDA5LTA5LTI1
ICBZb25nanVuIFpoYW5nICA8eW9uZ2p1bi56aGFuZ0Bub2tpYS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFrZSBKT2JqZWN0V3JhcHBlcjo6
cmVmKCkgYW5kIGRlcmVmKCkgcHVibGljIGFjY2Vzc2libGUgdG8gZGVyZWZJZk51bGwoKS4KKyAg
ICAgICAgCisgICAgICAgIFdpbGwgYmUgcmV2ZXJ0ZWQgd2hlbiB0aGUgZm9sbG93aW5nIHdpbnNj
dyBjb21waWxlciBidWcgaXMgZml4ZWQuCisgICAgICAgIGh0dHBzOi8veGRhYnVnMDAxLmV4dC5u
b2tpYS5jb20vYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTk4MTIKKworICAgICAgICAqIGJyaWRn
ZS9qbmkvam5pX2luc3RhbmNlLmg6CisKIDIwMDktMDktMjUgIEVucmljYSBDYXN1Y2NpICA8ZW5y
aWNhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlciwgRGFuIEJl
cm5zdGVpbiwgQWRlbGUgUGV0ZXJzb24sIGFuZCBvdGhlcnMuCkluZGV4OiBXZWJDb3JlL2JyaWRn
ZS9qbmkvam5pX2luc3RhbmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2Uvam5pL2pu
aV9pbnN0YW5jZS5oKHJldmlzaW9uIDQ4NzYxKQorKysgV2ViQ29yZS9icmlkZ2Uvam5pL2puaV9p
bnN0YW5jZS5oKHdvcmtpbmcgY29weSkKQEAgLTQ2LDE4ICs0NiwxOSBAQCBmcmllbmQgY2xhc3Mg
SmF2YUFycmF5OwogZnJpZW5kIGNsYXNzIEphdmFGaWVsZDsKIGZyaWVuZCBjbGFzcyBKYXZhSW5z
dGFuY2U7CiBmcmllbmQgY2xhc3MgSmF2YU1ldGhvZDsKLQotcHJvdGVjdGVkOgotICAgIEpPYmpl
Y3RXcmFwcGVyKGpvYmplY3QgaW5zdGFuY2UpOyAgICAKLSAgICB+Sk9iamVjdFdyYXBwZXIoKTsK
LSAgICAKKworcHVibGljOgogICAgIHZvaWQgcmVmKCkgeyBfcmVmQ291bnQrKzsgfQogICAgIHZv
aWQgZGVyZWYoKSAKICAgICB7IAogICAgICAgICBpZiAoLS1fcmVmQ291bnQgPT0gMCkgCiAgICAg
ICAgICAgICBkZWxldGUgdGhpczsgCiAgICAgfQotCisKK3Byb3RlY3RlZDoKKyAgICBKT2JqZWN0
V3JhcHBlcihqb2JqZWN0IGluc3RhbmNlKTsgICAgCisgICAgfkpPYmplY3RXcmFwcGVyKCk7Cisg
ICAgCiAgICAgam9iamVjdCBfaW5zdGFuY2U7CiAKIHByaXZhdGU6Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>40736</attachid>
            <date>2009-10-06 12:33:28 -0700</date>
            <delta_ts>2010-02-10 01:48:28 -0800</delta_ts>
            <desc>include PassRefPtr.h explicitly to avoid possible building break.</desc>
            <filename>ifNotNull.patch</filename>
            <type>text/plain</type>
            <size>4105</size>
            <attacher name="Yongjun Zhang">yongjun.zhang</attacher>
            
              <data encoding="base64">SW5kZXg6IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBKYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDQ5MTg2KQorKysgSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMjUgQEAKKzIwMDktMTAtMDYgIFlvbmdqdW4g
WmhhbmcgIDx5b25nanVuLnpoYW5nQG5va2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MjgwNTQKKyAgICAgICAKKyAgICAgICAgVXNlIGRlcmVmSW5Ob3ROdWxsKCkgdG8g
d29yayBhcm91bmQgd2luc2N3IGNvbXBpbGVyIGZvcndhcmQgZGVjbGFyYXRpb24gYnVnCisgICAg
ICAgIHJlZ2FyZGluZyB0ZW1wbGF0ZWQgY2xhc3Nlcy4gCisKKyAgICAgICAgVGhlIGNvbXBpbGVy
IGJ1ZyBpcyByZXBvcnRlZCBhdCAKKyAgICAgICAgaHR0cHM6Ly94ZGFidWcwMDEuZXh0Lm5va2lh
LmNvbS9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9OTgxMi4KKyAgICAgICAgCisgICAgICAgIFRo
ZSBjaGFuZ2Ugc2hvdWxkIGJlIHJldmVydGVkIHdoZW4gdGhlIGFib3ZlIGJ1ZyBpcyBmaXhlZCBp
biB3aW5zY3cgY29tcGlsZXIuIAorCisgICAgICAgIEFkZCBwYXJlbnRoZXNpcyBhcm91bmQgKFJl
ZlB0cjo6KlVuc3BlY2lmaWVkQm9vbFR5cGUpIHRvIG1ha2Ugd2luc2N3IGNvbXBpbGVyCisgICAg
ICAgIHdvcmsgd2l0aCB0aGUgZGVmYXVsdCBVblNwZWNpZmllZEJvb2xUeXBlKCkgb3BlcmF0b3Is
IHdoaWNoIHJlbW92ZXMgdGhlIHdpbnNjdyBoYWNrLgorCisgICAgICAgICogd3RmL1JlZlB0ci5o
OgorICAgICAgICAoV1RGOjpSZWZQdHI6On5SZWZQdHIpOgorICAgICAgICAoV1RGOjpSZWZQdHI6
OmNsZWFyKToKKyAgICAgICAgKFdURjo6UmVmUHRyOjpvcGVyYXRvciBVbnNwZWNpZmllZEJvb2xU
eXBlKToKKwogMjAwOS0xMC0wNiAgRGF2aWQgTGV2aW4gIDxsZXZpbkBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgT2xpdmVyIEh1bnQuCkluZGV4OiBKYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCShy
ZXZpc2lvbiA0OTE4NikKKysrIEphdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaAkod29ya2luZyBj
b3B5KQpAQCAtMjQsNiArMjQsNyBAQAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlICJB
bHdheXNJbmxpbmUuaCIKICNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCisjaW5jbHVkZSAiUGFz
c1JlZlB0ci5oIgogCiBuYW1lc3BhY2UgV1RGIHsKIApAQCAtNTAsMTMgKzUxLDEzIEBAIG5hbWVz
cGFjZSBXVEYgewogICAgICAgICBSZWZQdHIoSGFzaFRhYmxlRGVsZXRlZFZhbHVlVHlwZSkgOiBt
X3B0cihoYXNoVGFibGVEZWxldGVkVmFsdWUoKSkgeyB9CiAgICAgICAgIGJvb2wgaXNIYXNoVGFi
bGVEZWxldGVkVmFsdWUoKSBjb25zdCB7IHJldHVybiBtX3B0ciA9PSBoYXNoVGFibGVEZWxldGVk
VmFsdWUoKTsgfQogCi0gICAgICAgIH5SZWZQdHIoKSB7IGlmIChUKiBwdHIgPSBtX3B0cikgcHRy
LT5kZXJlZigpOyB9CisgICAgICAgIH5SZWZQdHIoKSB7IGRlcmVmSWZOb3ROdWxsKG1fcHRyKTsg
fQogICAgICAgICAKICAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+IFJlZlB0cihjb25zdCBS
ZWZQdHI8VT4mIG8pIDogbV9wdHIoby5nZXQoKSkgeyBpZiAoVCogcHRyID0gbV9wdHIpIHB0ci0+
cmVmKCk7IH0KICAgICAgICAgCiAgICAgICAgIFQqIGdldCgpIGNvbnN0IHsgcmV0dXJuIG1fcHRy
OyB9CiAgICAgICAgIAotICAgICAgICB2b2lkIGNsZWFyKCkgeyBpZiAoVCogcHRyID0gbV9wdHIp
IHB0ci0+ZGVyZWYoKTsgbV9wdHIgPSAwOyB9CisgICAgICAgIHZvaWQgY2xlYXIoKSB7IGRlcmVm
SWZOb3ROdWxsKG1fcHRyKTsgbV9wdHIgPSAwOyB9CiAgICAgICAgIFBhc3NSZWZQdHI8VD4gcmVs
ZWFzZSgpIHsgUGFzc1JlZlB0cjxUPiB0bXAgPSBhZG9wdFJlZihtX3B0cik7IG1fcHRyID0gMDsg
cmV0dXJuIHRtcDsgfQogCiAgICAgICAgIFQmIG9wZXJhdG9yKigpIGNvbnN0IHsgcmV0dXJuICpt
X3B0cjsgfQpAQCAtNjUsMTIgKzY2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIGJvb2wg
b3BlcmF0b3IhKCkgY29uc3QgeyByZXR1cm4gIW1fcHRyOyB9CiAgICAgCiAgICAgICAgIC8vIFRo
aXMgY29udmVyc2lvbiBvcGVyYXRvciBhbGxvd3MgaW1wbGljaXQgY29udmVyc2lvbiB0byBib29s
IGJ1dCBub3QgdG8gb3RoZXIgaW50ZWdlciB0eXBlcy4KLSNpZiBDT01QSUxFUihXSU5TQ1cpCi0g
ICAgICAgIG9wZXJhdG9yIGJvb2woKSBjb25zdCB7IHJldHVybiBtX3B0cjsgfQotI2Vsc2UKLSAg
ICAgICAgdHlwZWRlZiBUKiBSZWZQdHI6OipVbnNwZWNpZmllZEJvb2xUeXBlOworICAgICAgICB0
eXBlZGVmIFQqIChSZWZQdHI6OipVbnNwZWNpZmllZEJvb2xUeXBlKTsKICAgICAgICAgb3BlcmF0
b3IgVW5zcGVjaWZpZWRCb29sVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyID8gJlJlZlB0cjo6
bV9wdHIgOiAwOyB9Ci0jZW5kaWYKICAgICAgICAgCiAgICAgICAgIFJlZlB0ciYgb3BlcmF0b3I9
KGNvbnN0IFJlZlB0ciYpOwogICAgICAgICBSZWZQdHImIG9wZXJhdG9yPShUKik7CkluZGV4OiBX
ZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNp
b24gNDkxODYpCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsx
LDE0IEBACisyMDA5LTEwLTA2ICBZb25nanVuIFpoYW5nICA8eW9uZ2p1bi56aGFuZ0Bub2tpYS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTWFr
ZSBKT2JqZWN0V3JhcHBlcjo6cmVmKCkgYW5kIGRlcmVmKCkgcHVibGljIGFjY2Vzc2libGUgdG8g
ZGVyZWZJZk51bGwoKS4KKyAgICAgICAgCisgICAgICAgIFdpbGwgYmUgcmV2ZXJ0ZWQgd2hlbiB0
aGUgZm9sbG93aW5nIHdpbnNjdyBjb21waWxlciBidWcgaXMgZml4ZWQuCisgICAgICAgIGh0dHBz
Oi8veGRhYnVnMDAxLmV4dC5ub2tpYS5jb20vYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTk4MTIK
KworICAgICAgICAqIGJyaWRnZS9qbmkvam5pX2luc3RhbmNlLmg6CisKIDIwMDktMTAtMDUgIEhv
bGdlciBIYW5zIFBldGVyIEZyZXl0aGVyICA8emVja2VAc2VsZmlzaC5vcmc+CiAKICAgICAgICAg
UmV2aWV3ZWQgYnkgU2ltb24gSGF1c21hbm4uCkluZGV4OiBXZWJDb3JlL2JyaWRnZS9qbmkvam5p
X2luc3RhbmNlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9icmlkZ2Uvam5pL2puaV9pbnN0YW5j
ZS5oCShyZXZpc2lvbiA0OTE4NikKKysrIFdlYkNvcmUvYnJpZGdlL2puaS9qbmlfaW5zdGFuY2Uu
aAkod29ya2luZyBjb3B5KQpAQCAtNDcsMTAgKzQ3LDcgQEAgZnJpZW5kIGNsYXNzIEphdmFGaWVs
ZDsKIGZyaWVuZCBjbGFzcyBKYXZhSW5zdGFuY2U7CiBmcmllbmQgY2xhc3MgSmF2YU1ldGhvZDsK
IAotcHJvdGVjdGVkOgotICAgIEpPYmplY3RXcmFwcGVyKGpvYmplY3QgaW5zdGFuY2UpOyAgICAK
LSAgICB+Sk9iamVjdFdyYXBwZXIoKTsKLSAgICAKK3B1YmxpYzoKICAgICB2b2lkIHJlZigpIHsg
X3JlZkNvdW50Kys7IH0KICAgICB2b2lkIGRlcmVmKCkgCiAgICAgeyAKQEAgLTU4LDYgKzU1LDEw
IEBAIHByb3RlY3RlZDoKICAgICAgICAgICAgIGRlbGV0ZSB0aGlzOyAKICAgICB9CiAKK3Byb3Rl
Y3RlZDoKKyAgICBKT2JqZWN0V3JhcHBlcihqb2JqZWN0IGluc3RhbmNlKTsgICAgCisgICAgfkpP
YmplY3RXcmFwcGVyKCk7CisgICAgCiAgICAgam9iamVjdCBfaW5zdGFuY2U7CiAKIHByaXZhdGU6
Cg==
</data>
<flag name="review"
          id="22003"
          type_id="1"
          status="-"
          setter="abarth"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48476</attachid>
            <date>2010-02-10 01:48:28 -0800</date>
            <delta_ts>2010-02-10 03:35:54 -0800</delta_ts>
            <desc>Rebased against trunk, built successfully for both Safari/Mac and Qt/Mac</desc>
            <filename>0001-JavaScriptCore-Use-derefInNotNull-to-work-around-win.patch</filename>
            <type>text/plain</type>
            <size>6327</size>
            <attacher name="Tor Arne Vestbø">vestbo</attacher>
            
              <data encoding="base64">RnJvbSAxNzdhODVmNTY4ODY3ZWNjNDQ3NzQxZjliZjdiNTE0N2E2ZGEyYmM0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/VG9yPTIwQXJuZT0yMFZlc3RiPUMzPUI4Pz0g
PHRvci5hcm5lLnZlc3Rib0Bub2tpYS5jb20+CkRhdGU6IFdlZCwgMTAgRmViIDIwMTAgMTA6NDY6
MjEgKzAxMDAKU3ViamVjdDogW1BBVENIXSBKYXZhU2NyaXB0Q29yZTogVXNlIGRlcmVmSW5Ob3RO
dWxsKCkgdG8gd29yayBhcm91bmQgd2luc2N3IGNvbXBpbGVyIGZvcndhcmQgZGVjbGFyYXRpb24g
YnVnCiByZWdhcmRpbmcgdGVtcGxhdGVkIGNsYXNzZXMuCgpQYXRjaCBieSBZb25nanVuIFpoYW5n
IDx5b25nanVuLnpoYW5nQG5va2lhLmNvbT4gb24gMjAwOS0xMC0wNgpSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KClRoZSBjb21waWxlciBidWcgaXMgcmVwb3J0ZWQgYXQKaHR0cHM6Ly94ZGFi
dWcwMDEuZXh0Lm5va2lhLmNvbS9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9OTgxMi4KClRoZSBj
aGFuZ2Ugc2hvdWxkIGJlIHJldmVydGVkIHdoZW4gdGhlIGFib3ZlIGJ1ZyBpcyBmaXhlZCBpbiB3
aW5zY3cgY29tcGlsZXIuCgpBZGQgcGFyZW50aGVzaXMgYXJvdW5kIChSZWZQdHI6OipVbnNwZWNp
ZmllZEJvb2xUeXBlKSB0byBtYWtlIHdpbnNjdyBjb21waWxlcgp3b3JrIHdpdGggdGhlIGRlZmF1
bHQgVW5TcGVjaWZpZWRCb29sVHlwZSgpIG9wZXJhdG9yLCB3aGljaCByZW1vdmVzIHRoZSB3aW5z
Y3cgaGFjay4KCmh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODA1NAoK
KiB3dGYvUmVmUHRyLmg6CgpXZWJDb3JlOiBNYWtlIEpPYmplY3RXcmFwcGVyOjpyZWYoKSBhbmQg
ZGVyZWYoKSBwdWJsaWMgYWNjZXNzaWJsZSB0byBkZXJlZklmTnVsbCgpLgoKUGF0Y2ggYnkgWW9u
Z2p1biBaaGFuZyA8eW9uZ2p1bi56aGFuZ0Bub2tpYS5jb20+IG9uIDIwMDktMTAtMDYKUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCgpXaWxsIGJlIHJldmVydGVkIHdoZW4gdGhlIGZvbGxvd2lu
ZyB3aW5zY3cgY29tcGlsZXIgYnVnIGlzIGZpeGVkLgpodHRwczovL3hkYWJ1ZzAwMS5leHQubm9r
aWEuY29tL2J1Z3ppbGxhL3Nob3dfYnVnLmNnaT9pZD05ODEyCgpodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgwNTQKCiogYnJpZGdlL2puaS9qc2MvSmF2YUluc3RhbmNl
SlNDLmg6CiogYnJpZGdlL2puaS92OC9KYXZhSW5zdGFuY2VWOC5oOgotLS0KIEphdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgfCAgIDE5ICsrKysrKysrKysrKysrKysrKysK
IEphdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaCAgICAgICAgICAgICAgfCAgIDExICsrKystLS0t
LS0tCiBXZWJDb3JlL0NoYW5nZUxvZyAgICAgICAgICAgICAgICAgICAgICAgIHwgICAxNCArKysr
KysrKysrKysrKwogV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhSW5zdGFuY2VKU0MuaCB8ICAg
IDggKysrKy0tLS0KIFdlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZhSW5zdGFuY2VWOC5oICAgfCAg
ICA4ICsrKystLS0tCiA1IGZpbGVzIGNoYW5nZWQsIDQ1IGluc2VydGlvbnMoKyksIDE1IGRlbGV0
aW9ucygtKQoKZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3Jp
cHRDb3JlL0NoYW5nZUxvZwppbmRleCBkYzNhN2VkLi5jYTVhNTY0IDEwMDY0NAotLS0gYS9KYXZh
U2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMjIgQEAKKzIwMDktMTAtMDYgIFlvbmdqdW4gWmhhbmcgIDx5b25nanVuLnpoYW5nQG5v
a2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBVc2UgZGVyZWZJbk5vdE51bGwoKSB0byB3b3JrIGFyb3VuZCB3aW5zY3cgY29tcGlsZXIgZm9y
d2FyZCBkZWNsYXJhdGlvbiBidWcKKyAgICAgICAgcmVnYXJkaW5nIHRlbXBsYXRlZCBjbGFzc2Vz
LgorCisgICAgICAgIFRoZSBjb21waWxlciBidWcgaXMgcmVwb3J0ZWQgYXQKKyAgICAgICAgaHR0
cHM6Ly94ZGFidWcwMDEuZXh0Lm5va2lhLmNvbS9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9OTgx
Mi4KKworICAgICAgICBUaGUgY2hhbmdlIHNob3VsZCBiZSByZXZlcnRlZCB3aGVuIHRoZSBhYm92
ZSBidWcgaXMgZml4ZWQgaW4gd2luc2N3IGNvbXBpbGVyLgorCisgICAgICAgIEFkZCBwYXJlbnRo
ZXNpcyBhcm91bmQgKFJlZlB0cjo6KlVuc3BlY2lmaWVkQm9vbFR5cGUpIHRvIG1ha2Ugd2luc2N3
IGNvbXBpbGVyCisgICAgICAgIHdvcmsgd2l0aCB0aGUgZGVmYXVsdCBVblNwZWNpZmllZEJvb2xU
eXBlKCkgb3BlcmF0b3IsIHdoaWNoIHJlbW92ZXMgdGhlIHdpbnNjdyBoYWNrLgorCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODA1NAorCisgICAgICAg
ICogd3RmL1JlZlB0ci5oOgorCiAyMDEwLTAyLTA5ICBOaWtvbGFzIFppbW1lcm1hbm4gIDxuemlt
bWVybWFubkByaW0uY29tPgogCiAgICAgICAgIE5vdCByZXZpZXdlZC4gVHJ5IHRvIGZpeCBidWls
ZCBwcm9ibGVtIG9uIFNub3dMZW9wYXJkIHNsYXZlcyB0byBicmluZyB0aGVtIGJhY2suCmRpZmYg
LS1naXQgYS9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmggYi9KYXZhU2NyaXB0Q29yZS93dGYv
UmVmUHRyLmgKaW5kZXggZTZkMTA0Ny4uMmRjZmJmNyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlwdENv
cmUvd3RmL1JlZlB0ci5oCisrKyBiL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaApAQCAtMjQs
NiArMjQsNyBAQAogI2luY2x1ZGUgPGFsZ29yaXRobT4KICNpbmNsdWRlICJBbHdheXNJbmxpbmUu
aCIKICNpbmNsdWRlICJGYXN0QWxsb2NCYXNlLmgiCisjaW5jbHVkZSAiUGFzc1JlZlB0ci5oIgog
CiBuYW1lc3BhY2UgV1RGIHsKIApAQCAtNTAsMTMgKzUxLDEzIEBAIG5hbWVzcGFjZSBXVEYgewog
ICAgICAgICBSZWZQdHIoSGFzaFRhYmxlRGVsZXRlZFZhbHVlVHlwZSkgOiBtX3B0cihoYXNoVGFi
bGVEZWxldGVkVmFsdWUoKSkgeyB9CiAgICAgICAgIGJvb2wgaXNIYXNoVGFibGVEZWxldGVkVmFs
dWUoKSBjb25zdCB7IHJldHVybiBtX3B0ciA9PSBoYXNoVGFibGVEZWxldGVkVmFsdWUoKTsgfQog
Ci0gICAgICAgIH5SZWZQdHIoKSB7IGlmIChUKiBwdHIgPSBtX3B0cikgcHRyLT5kZXJlZigpOyB9
CisgICAgICAgIH5SZWZQdHIoKSB7IGRlcmVmSWZOb3ROdWxsKG1fcHRyKTsgfQogICAgICAgICAK
ICAgICAgICAgdGVtcGxhdGUgPHR5cGVuYW1lIFU+IFJlZlB0cihjb25zdCBSZWZQdHI8VT4mIG8p
IDogbV9wdHIoby5nZXQoKSkgeyBpZiAoVCogcHRyID0gbV9wdHIpIHB0ci0+cmVmKCk7IH0KICAg
ICAgICAgCiAgICAgICAgIFQqIGdldCgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyOyB9CiAgICAgICAg
IAotICAgICAgICB2b2lkIGNsZWFyKCkgeyBpZiAoVCogcHRyID0gbV9wdHIpIHB0ci0+ZGVyZWYo
KTsgbV9wdHIgPSAwOyB9CisgICAgICAgIHZvaWQgY2xlYXIoKSB7IGRlcmVmSWZOb3ROdWxsKG1f
cHRyKTsgbV9wdHIgPSAwOyB9CiAgICAgICAgIFBhc3NSZWZQdHI8VD4gcmVsZWFzZSgpIHsgUGFz
c1JlZlB0cjxUPiB0bXAgPSBhZG9wdFJlZihtX3B0cik7IG1fcHRyID0gMDsgcmV0dXJuIHRtcDsg
fQogCiAgICAgICAgIFQmIG9wZXJhdG9yKigpIGNvbnN0IHsgcmV0dXJuICptX3B0cjsgfQpAQCAt
NjUsMTIgKzY2LDggQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgIGJvb2wgb3BlcmF0b3IhKCkg
Y29uc3QgeyByZXR1cm4gIW1fcHRyOyB9CiAgICAgCiAgICAgICAgIC8vIFRoaXMgY29udmVyc2lv
biBvcGVyYXRvciBhbGxvd3MgaW1wbGljaXQgY29udmVyc2lvbiB0byBib29sIGJ1dCBub3QgdG8g
b3RoZXIgaW50ZWdlciB0eXBlcy4KLSNpZiBDT01QSUxFUihXSU5TQ1cpCi0gICAgICAgIG9wZXJh
dG9yIGJvb2woKSBjb25zdCB7IHJldHVybiBtX3B0cjsgfQotI2Vsc2UKLSAgICAgICAgdHlwZWRl
ZiBUKiBSZWZQdHI6OipVbnNwZWNpZmllZEJvb2xUeXBlOworICAgICAgICB0eXBlZGVmIFQqIChS
ZWZQdHI6OipVbnNwZWNpZmllZEJvb2xUeXBlKTsKICAgICAgICAgb3BlcmF0b3IgVW5zcGVjaWZp
ZWRCb29sVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcHRyID8gJlJlZlB0cjo6bV9wdHIgOiAwOyB9
Ci0jZW5kaWYKICAgICAgICAgCiAgICAgICAgIFJlZlB0ciYgb3BlcmF0b3I9KGNvbnN0IFJlZlB0
ciYpOwogICAgICAgICBSZWZQdHImIG9wZXJhdG9yPShUKik7CmRpZmYgLS1naXQgYS9XZWJDb3Jl
L0NoYW5nZUxvZyBiL1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDk4N2MwYzEuLmJjZTFjMzQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTcgQEAKKzIwMDktMTAtMDYgIFlvbmdqdW4gWmhhbmcgIDx5b25nanVuLnpoYW5nQG5v
a2lhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAg
ICBNYWtlIEpPYmplY3RXcmFwcGVyOjpyZWYoKSBhbmQgZGVyZWYoKSBwdWJsaWMgYWNjZXNzaWJs
ZSB0byBkZXJlZklmTnVsbCgpLgorCisgICAgICAgIFdpbGwgYmUgcmV2ZXJ0ZWQgd2hlbiB0aGUg
Zm9sbG93aW5nIHdpbnNjdyBjb21waWxlciBidWcgaXMgZml4ZWQuCisgICAgICAgIGh0dHBzOi8v
eGRhYnVnMDAxLmV4dC5ub2tpYS5jb20vYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTk4MTIKKwor
ICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgwNTQKKwor
ICAgICAgICAqIGJyaWRnZS9qbmkvanNjL0phdmFJbnN0YW5jZUpTQy5oOgorICAgICAgICAqIGJy
aWRnZS9qbmkvdjgvSmF2YUluc3RhbmNlVjguaDoKKwogMjAxMC0wMi0wOSAgTU9SSVRBIEhhamlt
ZSAgPG1vcnJpdGFAZ21haWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IE5pa29sYXMgWmlt
bWVybWFubi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YUluc3RhbmNl
SlNDLmggYi9XZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFJbnN0YW5jZUpTQy5oCmluZGV4IGQ3
YjYxMDIuLmE0NmM2ZDMgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MvSmF2YUlu
c3RhbmNlSlNDLmgKKysrIGIvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhSW5zdGFuY2VKU0Mu
aApAQCAtNTAsMTAgKzUwLDYgQEAgcHVibGljOgogICAgIGpvYmplY3QgaW5zdGFuY2UoKSBjb25z
dCB7IHJldHVybiBtX2luc3RhbmNlOyB9CiAgICAgdm9pZCBzZXRJbnN0YW5jZShqb2JqZWN0IGlu
c3RhbmNlKSB7IG1faW5zdGFuY2UgPSBpbnN0YW5jZTsgfQogCi1wcm90ZWN0ZWQ6Ci0gICAgSk9i
amVjdFdyYXBwZXIoam9iamVjdCBpbnN0YW5jZSk7Ci0gICAgfkpPYmplY3RXcmFwcGVyKCk7Ci0K
ICAgICB2b2lkIHJlZigpIHsgbV9yZWZDb3VudCsrOyB9CiAgICAgdm9pZCBkZXJlZigpCiAgICAg
ewpAQCAtNjEsNiArNTcsMTAgQEAgcHJvdGVjdGVkOgogICAgICAgICAgICAgZGVsZXRlIHRoaXM7
CiAgICAgfQogCitwcm90ZWN0ZWQ6CisgICAgSk9iamVjdFdyYXBwZXIoam9iamVjdCBpbnN0YW5j
ZSk7CisgICAgfkpPYmplY3RXcmFwcGVyKCk7CisKICAgICBqb2JqZWN0IG1faW5zdGFuY2U7CiAK
IHByaXZhdGU6CmRpZmYgLS1naXQgYS9XZWJDb3JlL2JyaWRnZS9qbmkvdjgvSmF2YUluc3RhbmNl
VjguaCBiL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZhSW5zdGFuY2VWOC5oCmluZGV4IGMxOGYy
ZDYuLmM5MjhjMDUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZhSW5zdGFu
Y2VWOC5oCisrKyBiL1dlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZhSW5zdGFuY2VWOC5oCkBAIC01
MCwxMCArNTAsNiBAQCBwdWJsaWM6CiAgICAgam9iamVjdCBpbnN0YW5jZSgpIGNvbnN0IHsgcmV0
dXJuIG1faW5zdGFuY2U7IH0KICAgICB2b2lkIHNldEluc3RhbmNlKGpvYmplY3QgaW5zdGFuY2Up
IHsgbV9pbnN0YW5jZSA9IGluc3RhbmNlOyB9CiAKLXByb3RlY3RlZDoKLSAgICBKT2JqZWN0V3Jh
cHBlcihqb2JqZWN0KTsKLSAgICB+Sk9iamVjdFdyYXBwZXIoKTsKLQogICAgIHZvaWQgcmVmKCkg
eyBtX3JlZkNvdW50Kys7IH0KICAgICB2b2lkIGRlcmVmKCkKICAgICB7CkBAIC02MSw2ICs1Nywx
MCBAQCBwcm90ZWN0ZWQ6CiAgICAgICAgICAgICBkZWxldGUgdGhpczsKICAgICB9CiAKK3Byb3Rl
Y3RlZDoKKyAgICBKT2JqZWN0V3JhcHBlcihqb2JqZWN0KTsKKyAgICB+Sk9iamVjdFdyYXBwZXIo
KTsKKwogICAgIGpvYmplY3QgbV9pbnN0YW5jZTsKIAogcHJpdmF0ZToKLS0gCjEuNi41LnJjMgoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48480</attachid>
            <date>2010-02-10 03:31:19 -0800</date>
            <delta_ts>2010-09-02 15:11:12 -0700</delta_ts>
            <desc>Split up removal of bool hack into separate patch</desc>
            <filename>0001-Get-rid-of-WINSCW-hack-for-UnSpecifiedBoolType.patch</filename>
            <type>text/plain</type>
            <size>2138</size>
            <attacher name="Tor Arne Vestbø">vestbo</attacher>
            
              <data encoding="base64">RnJvbSA5NzllNmZjOWExOTdmYWY5MjVjMmE0YWYyNDU5YzJiMzBhYzIyYzliIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/VG9yPTIwQXJuZT0yMFZlc3RiPUMzPUI4Pz0g
PHRvci5hcm5lLnZlc3Rib0Bub2tpYS5jb20+CkRhdGU6IFdlZCwgMTAgRmViIDIwMTAgMTI6MzA6
MjggKzAxMDAKU3ViamVjdDogW1BBVENIXSBHZXQgcmlkIG9mIFdJTlNDVyBoYWNrIGZvciBVblNw
ZWNpZmllZEJvb2xUeXBlCgpQYXRjaCBieSBZb25nanVuIFpoYW5nIDx5b25nanVuLnpoYW5nQG5v
a2lhLmNvbT4gb24gMjAwOS0xMC0wNgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCkFkZCBw
YXJlbnRoZXNpcyBhcm91bmQgKFJlZlB0cjo6KlVuc3BlY2lmaWVkQm9vbFR5cGUpIHRvIG1ha2Ug
dGhlIFdJTlNDVwpjb21waWxlciB3b3JrIHdpdGggdGhlIGRlZmF1bHQgVW5TcGVjaWZpZWRCb29s
VHlwZSgpIG9wZXJhdG9yLgoKaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTI4MDU0CgoqIHd0Zi9SZWZQdHIuaDoKLS0tCiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgICAg
fCAgIDEzICsrKysrKysrKysrKysKIEphdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaCB8ICAgIDYg
Ky0tLS0tCiAyIGZpbGVzIGNoYW5nZWQsIDE0IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0p
CgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvSmF2YVNjcmlwdENvcmUv
Q2hhbmdlTG9nCmluZGV4IGRjM2E3ZWQuLmY5NDMxMDcgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwx
NiBAQAorMjAwOS0xMC0wNiAgWW9uZ2p1biBaaGFuZyAgPHlvbmdqdW4uemhhbmdAbm9raWEuY29t
PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEdldCBy
aWQgb2YgV0lOU0NXIGhhY2sgZm9yIFVuU3BlY2lmaWVkQm9vbFR5cGUKKworICAgICAgICBBZGQg
cGFyZW50aGVzaXMgYXJvdW5kIChSZWZQdHI6OipVbnNwZWNpZmllZEJvb2xUeXBlKSB0byBtYWtl
IHRoZSBXSU5TQ1cKKyAgICAgICAgY29tcGlsZXIgd29yayB3aXRoIHRoZSBkZWZhdWx0IFVuU3Bl
Y2lmaWVkQm9vbFR5cGUoKSBvcGVyYXRvci4KKworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgwNTQKKworICAgICAgICAqIHd0Zi9SZWZQdHIuaDoKKwog
MjAxMC0wMi0wOSAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KIAog
ICAgICAgICBOb3QgcmV2aWV3ZWQuIFRyeSB0byBmaXggYnVpbGQgcHJvYmxlbSBvbiBTbm93TGVv
cGFyZCBzbGF2ZXMgdG8gYnJpbmcgdGhlbSBiYWNrLgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENv
cmUvd3RmL1JlZlB0ci5oIGIvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCmluZGV4IGU2ZDEw
NDcuLmU1MjdjZWQgMTAwNjQ0Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaAorKysg
Yi9KYXZhU2NyaXB0Q29yZS93dGYvUmVmUHRyLmgKQEAgLTY1LDEyICs2NSw4IEBAIG5hbWVzcGFj
ZSBXVEYgewogICAgICAgICBib29sIG9wZXJhdG9yISgpIGNvbnN0IHsgcmV0dXJuICFtX3B0cjsg
fQogICAgIAogICAgICAgICAvLyBUaGlzIGNvbnZlcnNpb24gb3BlcmF0b3IgYWxsb3dzIGltcGxp
Y2l0IGNvbnZlcnNpb24gdG8gYm9vbCBidXQgbm90IHRvIG90aGVyIGludGVnZXIgdHlwZXMuCi0j
aWYgQ09NUElMRVIoV0lOU0NXKQotICAgICAgICBvcGVyYXRvciBib29sKCkgY29uc3QgeyByZXR1
cm4gbV9wdHI7IH0KLSNlbHNlCi0gICAgICAgIHR5cGVkZWYgVCogUmVmUHRyOjoqVW5zcGVjaWZp
ZWRCb29sVHlwZTsKKyAgICAgICAgdHlwZWRlZiBUKiAoUmVmUHRyOjoqVW5zcGVjaWZpZWRCb29s
VHlwZSk7CiAgICAgICAgIG9wZXJhdG9yIFVuc3BlY2lmaWVkQm9vbFR5cGUoKSBjb25zdCB7IHJl
dHVybiBtX3B0ciA/ICZSZWZQdHI6Om1fcHRyIDogMDsgfQotI2VuZGlmCiAgICAgICAgIAogICAg
ICAgICBSZWZQdHImIG9wZXJhdG9yPShjb25zdCBSZWZQdHImKTsKICAgICAgICAgUmVmUHRyJiBv
cGVyYXRvcj0oVCopOwotLSAKMS42LjUucmMyCgo=
</data>
<flag name="review"
          id="31167"
          type_id="1"
          status="+"
          setter="hausmann"
    />
    <flag name="commit-queue"
          id="55421"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>48481</attachid>
            <date>2010-02-10 03:35:54 -0800</date>
            <delta_ts>2010-09-02 15:47:14 -0700</delta_ts>
            <desc>Split up drefIfNotNull() patch</desc>
            <filename>0001-JavaScriptCore-Use-derefIfNotNull-to-work-around-WIN.patch</filename>
            <type>text/plain</type>
            <size>5336</size>
            <attacher name="Tor Arne Vestbø">vestbo</attacher>
            
              <data encoding="base64">RnJvbSAzZDlhYjI3YmJmOTU1MTZlMWZlYzYwNDg1YmExOTIzNjUzNjBiNjc1IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiA9P1VURi04P3E/VG9yPTIwQXJuZT0yMFZlc3RiPUMzPUI4Pz0g
PHRvci5hcm5lLnZlc3Rib0Bub2tpYS5jb20+CkRhdGU6IFdlZCwgMTAgRmViIDIwMTAgMTI6MzQ6
MTMgKzAxMDAKU3ViamVjdDogW1BBVENIXSBKYXZhU2NyaXB0Q29yZTogVXNlIGRlcmVmSWZOb3RO
dWxsKCkgdG8gd29yayBhcm91bmQgV0lOU0NXIGNvbXBpbGVyIGZvcndhcmQgZGVjbGFyYXRpb24g
YnVnCgpQYXRjaCBieSBZb25nanVuIFpoYW5nIDx5b25nanVuLnpoYW5nQG5va2lhLmNvbT4gb24g
MjAwOS0xMC0wNgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClRoZSBjb21waWxlciBidWcg
aXMgcmVwb3J0ZWQgYXQKaHR0cHM6Ly94ZGFidWcwMDEuZXh0Lm5va2lhLmNvbS9idWd6aWxsYS9z
aG93X2J1Zy5jZ2k/aWQ9OTgxMi4KClRoZSBjaGFuZ2Ugc2hvdWxkIGJlIHJldmVydGVkIHdoZW4g
dGhlIGFib3ZlIGJ1ZyBpcyBmaXhlZCBpbiBXSU5TQ1cgY29tcGlsZXIuCgpodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjgwNTQKCldlYkNvcmU6IE1ha2UgSk9iamVjdFdy
YXBwZXI6OnJlZigpIGFuZCBkZXJlZigpIHB1YmxpYyBhY2Nlc3NpYmxlIHRvIGRlcmVmSWZOdWxs
KCkuCgpQYXRjaCBieSBZb25nanVuIFpoYW5nIDx5b25nanVuLnpoYW5nQG5va2lhLmNvbT4gb24g
MjAwOS0xMC0wNgpSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KCldpbGwgYmUgcmV2ZXJ0ZWQg
d2hlbiB0aGUgZm9sbG93aW5nIHdpbnNjdyBjb21waWxlciBidWcgaXMgZml4ZWQuCmh0dHBzOi8v
eGRhYnVnMDAxLmV4dC5ub2tpYS5jb20vYnVnemlsbGEvc2hvd19idWcuY2dpP2lkPTk4MTIKCmh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODA1NAoKKiBicmlkZ2Uvam5p
L2pzYy9KYXZhSW5zdGFuY2VKU0MuaDoKKiBicmlkZ2Uvam5pL3Y4L0phdmFJbnN0YW5jZVY4Lmg6
Ci0tLQogSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICB8ICAgMTMgKysr
KysrKysrKysrKwogSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oICAgICAgICAgICAgICB8ICAg
IDUgKysrLS0KIFdlYkNvcmUvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDE0
ICsrKysrKysrKysrKysrCiBXZWJDb3JlL2JyaWRnZS9qbmkvanNjL0phdmFJbnN0YW5jZUpTQy5o
IHwgICAgOCArKysrLS0tLQogV2ViQ29yZS9icmlkZ2Uvam5pL3Y4L0phdmFJbnN0YW5jZVY4Lmgg
ICB8ICAgIDggKysrKy0tLS0KIDUgZmlsZXMgY2hhbmdlZCwgMzggaW5zZXJ0aW9ucygrKSwgMTAg
ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nIGIvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGY5NDMxMDcuLjFlZjcxMjEgMTAwNjQ0Ci0tLSBh
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZworKysgYi9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cK
QEAgLTIsNiArMiwxOSBAQAogCiAgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgog
CisgICAgICAgIFVzZSBkZXJlZklmTm90TnVsbCgpIHRvIHdvcmsgYXJvdW5kIFdJTlNDVyBjb21w
aWxlciBmb3J3YXJkIGRlY2xhcmF0aW9uIGJ1ZworCisgICAgICAgIFRoZSBjb21waWxlciBidWcg
aXMgcmVwb3J0ZWQgYXQKKyAgICAgICAgaHR0cHM6Ly94ZGFidWcwMDEuZXh0Lm5va2lhLmNvbS9i
dWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9OTgxMi4KKworICAgICAgICBUaGUgY2hhbmdlIHNob3Vs
ZCBiZSByZXZlcnRlZCB3aGVuIHRoZSBhYm92ZSBidWcgaXMgZml4ZWQgaW4gV0lOU0NXIGNvbXBp
bGVyLgorCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
ODA1NAorCisyMDA5LTEwLTA2ICBZb25nanVuIFpoYW5nICA8eW9uZ2p1bi56aGFuZ0Bub2tpYS5j
b20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKICAgICAgICAgR2V0
IHJpZCBvZiBXSU5TQ1cgaGFjayBmb3IgVW5TcGVjaWZpZWRCb29sVHlwZQogCiAgICAgICAgIEFk
ZCBwYXJlbnRoZXNpcyBhcm91bmQgKFJlZlB0cjo6KlVuc3BlY2lmaWVkQm9vbFR5cGUpIHRvIG1h
a2UgdGhlIFdJTlNDVwpkaWZmIC0tZ2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oIGIv
SmF2YVNjcmlwdENvcmUvd3RmL1JlZlB0ci5oCmluZGV4IGU1MjdjZWQuLjJkY2ZiZjcgMTAwNjQ0
Ci0tLSBhL0phdmFTY3JpcHRDb3JlL3d0Zi9SZWZQdHIuaAorKysgYi9KYXZhU2NyaXB0Q29yZS93
dGYvUmVmUHRyLmgKQEAgLTI0LDYgKzI0LDcgQEAKICNpbmNsdWRlIDxhbGdvcml0aG0+CiAjaW5j
bHVkZSAiQWx3YXlzSW5saW5lLmgiCiAjaW5jbHVkZSAiRmFzdEFsbG9jQmFzZS5oIgorI2luY2x1
ZGUgIlBhc3NSZWZQdHIuaCIKIAogbmFtZXNwYWNlIFdURiB7CiAKQEAgLTUwLDEzICs1MSwxMyBA
QCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgUmVmUHRyKEhhc2hUYWJsZURlbGV0ZWRWYWx1ZVR5
cGUpIDogbV9wdHIoaGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkpIHsgfQogICAgICAgICBib29sIGlz
SGFzaFRhYmxlRGVsZXRlZFZhbHVlKCkgY29uc3QgeyByZXR1cm4gbV9wdHIgPT0gaGFzaFRhYmxl
RGVsZXRlZFZhbHVlKCk7IH0KIAotICAgICAgICB+UmVmUHRyKCkgeyBpZiAoVCogcHRyID0gbV9w
dHIpIHB0ci0+ZGVyZWYoKTsgfQorICAgICAgICB+UmVmUHRyKCkgeyBkZXJlZklmTm90TnVsbCht
X3B0cik7IH0KICAgICAgICAgCiAgICAgICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBVPiBSZWZQdHIo
Y29uc3QgUmVmUHRyPFU+JiBvKSA6IG1fcHRyKG8uZ2V0KCkpIHsgaWYgKFQqIHB0ciA9IG1fcHRy
KSBwdHItPnJlZigpOyB9CiAgICAgICAgIAogICAgICAgICBUKiBnZXQoKSBjb25zdCB7IHJldHVy
biBtX3B0cjsgfQogICAgICAgICAKLSAgICAgICAgdm9pZCBjbGVhcigpIHsgaWYgKFQqIHB0ciA9
IG1fcHRyKSBwdHItPmRlcmVmKCk7IG1fcHRyID0gMDsgfQorICAgICAgICB2b2lkIGNsZWFyKCkg
eyBkZXJlZklmTm90TnVsbChtX3B0cik7IG1fcHRyID0gMDsgfQogICAgICAgICBQYXNzUmVmUHRy
PFQ+IHJlbGVhc2UoKSB7IFBhc3NSZWZQdHI8VD4gdG1wID0gYWRvcHRSZWYobV9wdHIpOyBtX3B0
ciA9IDA7IHJldHVybiB0bXA7IH0KIAogICAgICAgICBUJiBvcGVyYXRvciooKSBjb25zdCB7IHJl
dHVybiAqbV9wdHI7IH0KZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9D
aGFuZ2VMb2cKaW5kZXggOTg3YzBjMS4uYmNlMWMzNCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFu
Z2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAwOS0xMC0w
NiAgWW9uZ2p1biBaaGFuZyAgPHlvbmdqdW4uemhhbmdAbm9raWEuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIE1ha2UgSk9iamVjdFdyYXBwZXI6
OnJlZigpIGFuZCBkZXJlZigpIHB1YmxpYyBhY2Nlc3NpYmxlIHRvIGRlcmVmSWZOdWxsKCkuCisK
KyAgICAgICAgV2lsbCBiZSByZXZlcnRlZCB3aGVuIHRoZSBmb2xsb3dpbmcgd2luc2N3IGNvbXBp
bGVyIGJ1ZyBpcyBmaXhlZC4KKyAgICAgICAgaHR0cHM6Ly94ZGFidWcwMDEuZXh0Lm5va2lhLmNv
bS9idWd6aWxsYS9zaG93X2J1Zy5jZ2k/aWQ9OTgxMgorCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yODA1NAorCisgICAgICAgICogYnJpZGdlL2puaS9q
c2MvSmF2YUluc3RhbmNlSlNDLmg6CisgICAgICAgICogYnJpZGdlL2puaS92OC9KYXZhSW5zdGFu
Y2VWOC5oOgorCiAyMDEwLTAyLTA5ICBNT1JJVEEgSGFqaW1lICA8bW9ycml0YUBnbWFpbC5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTmlrb2xhcyBaaW1tZXJtYW5uLgpkaWZmIC0tZ2l0IGEv
V2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhSW5zdGFuY2VKU0MuaCBiL1dlYkNvcmUvYnJpZGdl
L2puaS9qc2MvSmF2YUluc3RhbmNlSlNDLmgKaW5kZXggZDdiNjEwMi4uYTQ2YzZkMyAxMDA2NDQK
LS0tIGEvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYy9KYXZhSW5zdGFuY2VKU0MuaAorKysgYi9XZWJD
b3JlL2JyaWRnZS9qbmkvanNjL0phdmFJbnN0YW5jZUpTQy5oCkBAIC01MCwxMCArNTAsNiBAQCBw
dWJsaWM6CiAgICAgam9iamVjdCBpbnN0YW5jZSgpIGNvbnN0IHsgcmV0dXJuIG1faW5zdGFuY2U7
IH0KICAgICB2b2lkIHNldEluc3RhbmNlKGpvYmplY3QgaW5zdGFuY2UpIHsgbV9pbnN0YW5jZSA9
IGluc3RhbmNlOyB9CiAKLXByb3RlY3RlZDoKLSAgICBKT2JqZWN0V3JhcHBlcihqb2JqZWN0IGlu
c3RhbmNlKTsKLSAgICB+Sk9iamVjdFdyYXBwZXIoKTsKLQogICAgIHZvaWQgcmVmKCkgeyBtX3Jl
ZkNvdW50Kys7IH0KICAgICB2b2lkIGRlcmVmKCkKICAgICB7CkBAIC02MSw2ICs1NywxMCBAQCBw
cm90ZWN0ZWQ6CiAgICAgICAgICAgICBkZWxldGUgdGhpczsKICAgICB9CiAKK3Byb3RlY3RlZDoK
KyAgICBKT2JqZWN0V3JhcHBlcihqb2JqZWN0IGluc3RhbmNlKTsKKyAgICB+Sk9iamVjdFdyYXBw
ZXIoKTsKKwogICAgIGpvYmplY3QgbV9pbnN0YW5jZTsKIAogcHJpdmF0ZToKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvYnJpZGdlL2puaS92OC9KYXZhSW5zdGFuY2VWOC5oIGIvV2ViQ29yZS9icmlkZ2Uv
am5pL3Y4L0phdmFJbnN0YW5jZVY4LmgKaW5kZXggYzE4ZjJkNi4uYzkyOGMwNSAxMDA2NDQKLS0t
IGEvV2ViQ29yZS9icmlkZ2Uvam5pL3Y4L0phdmFJbnN0YW5jZVY4LmgKKysrIGIvV2ViQ29yZS9i
cmlkZ2Uvam5pL3Y4L0phdmFJbnN0YW5jZVY4LmgKQEAgLTUwLDEwICs1MCw2IEBAIHB1YmxpYzoK
ICAgICBqb2JqZWN0IGluc3RhbmNlKCkgY29uc3QgeyByZXR1cm4gbV9pbnN0YW5jZTsgfQogICAg
IHZvaWQgc2V0SW5zdGFuY2Uoam9iamVjdCBpbnN0YW5jZSkgeyBtX2luc3RhbmNlID0gaW5zdGFu
Y2U7IH0KIAotcHJvdGVjdGVkOgotICAgIEpPYmplY3RXcmFwcGVyKGpvYmplY3QpOwotICAgIH5K
T2JqZWN0V3JhcHBlcigpOwotCiAgICAgdm9pZCByZWYoKSB7IG1fcmVmQ291bnQrKzsgfQogICAg
IHZvaWQgZGVyZWYoKQogICAgIHsKQEAgLTYxLDYgKzU3LDEwIEBAIHByb3RlY3RlZDoKICAgICAg
ICAgICAgIGRlbGV0ZSB0aGlzOwogICAgIH0KIAorcHJvdGVjdGVkOgorICAgIEpPYmplY3RXcmFw
cGVyKGpvYmplY3QpOworICAgIH5KT2JqZWN0V3JhcHBlcigpOworCiAgICAgam9iamVjdCBtX2lu
c3RhbmNlOwogCiBwcml2YXRlOgotLSAKMS42LjUucmMyCgo=
</data>
<flag name="review"
          id="31168"
          type_id="1"
          status="+"
          setter="hausmann"
    />
    <flag name="commit-queue"
          id="55422"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>