<?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>94810</bug_id>
          
          <creation_ts>2012-08-23 07:15:38 -0700</creation_ts>
          <short_desc>Vector::shrinkToFit should use realloc when canMoveWithMemcpy is true</short_desc>
          <delta_ts>2012-08-30 14:56:39 -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>Web Template Framework</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Yong Li">yong.li.webkit</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>ap</cc>
    
    <cc>benjamin</cc>
    
    <cc>darin</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>kling</cc>
    
    <cc>mjs</cc>
    
    <cc>peter+ews</cc>
    
    <cc>philn</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>702958</commentid>
    <comment_count>0</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-23 07:15:38 -0700</bug_when>
    <thetext>This should be safe. But I don&apos;t know why there are both canCopyWithMemcpy and canMoveWithMemcpy. Is there any case they are not equivalent?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703208</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-08-23 11:52:20 -0700</bug_when>
    <thetext>Can realloc result in more memory fragmentation?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703227</commentid>
    <comment_count>2</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-23 12:07:31 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Can realloc result in more memory fragmentation?

It could... But that is up to the implementation of realloc, because realloc doesn&apos;t have to keep the address unchanged when shrinking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703237</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2012-08-23 12:14:54 -0700</bug_when>
    <thetext>I think that at least OS X man page for realloc implies that it cannot move the allocation when shrinking.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703248</commentid>
    <comment_count>4</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-23 12:22:17 -0700</bug_when>
    <thetext>(In reply to comment #3)
&gt; I think that at least OS X man page for realloc implies that it cannot move the allocation when shrinking.

Hm... good to know. For large blocks, the memory allocator can decommit/munmap the free space. For small blocks, probably we don&apos;t care that much?

Also StringBuilder/StringImpl is using fastRealloc to shrink memory anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705342</commentid>
    <comment_count>5</comment_count>
      <attachid>160738</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-27 10:03:42 -0700</bug_when>
    <thetext>Created attachment 160738
the patch

It doesn&apos;t show any noticeable diff on sunspider and octane, though.

Any other suggested perf tests?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>705380</commentid>
    <comment_count>6</comment_count>
      <attachid>160738</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-27 10:38:33 -0700</bug_when>
    <thetext>Comment on attachment 160738
the patch

Attachment 160738 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13619208</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706065</commentid>
    <comment_count>7</comment_count>
      <attachid>160738</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-27 22:19:57 -0700</bug_when>
    <thetext>Comment on attachment 160738
the patch

r- because you do not provide any rationale for making the change.

1) Please microbenchmark this to provide numbers for the improvement.
2) Please find what is the memory impact. Exactly how does fastMalloc work with those Realloc.


&gt; Also StringBuilder/StringImpl is using fastRealloc to shrink memory anyway.

This is pretty much irrelevant. The memory allocated there is small on average and the lost memory on shrink is at most a little less the size of the useful payload.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706326</commentid>
    <comment_count>8</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-28 07:33:22 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; (From update of attachment 160738 [details])
&gt; r- because you do not provide any rationale for making the change.
&gt; 
&gt; 1) Please microbenchmark this to provide numbers for the improvement.
&gt; 2) Please find what is the memory impact. Exactly how does fastMalloc work with those Realloc.

OK

&gt; 
&gt; 
&gt; &gt; Also StringBuilder/StringImpl is using fastRealloc to shrink memory anyway.
&gt; 
&gt; This is pretty much irrelevant. The memory allocated there is small on average and the lost memory on shrink is at most a little less the size of the useful payload.

Isn&apos;t this the worst case of using realloc (causing fragments)? If the memory allocated isn&apos;t small, and realloc() would keep the address unchanged, it saves a memcpy on a large block. If realloc() uses different addresses, it is same as malloc/memcpy/free.

I understand this depends very much on the actual malloc algorithm. But what Vector is trying to do here is just a re-alloc. It is very natural to use realloc, and lets the malloc algorithm to decide what to do for best performance. Probably adding an ENABLE switch is better?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706383</commentid>
    <comment_count>9</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-28 08:37:59 -0700</bug_when>
    <thetext>&gt; Isn&apos;t this the worst case of using realloc (causing fragments)? If the memory allocated isn&apos;t small, and realloc() would keep the address unchanged, it saves a memcpy on a large block. If realloc() uses different addresses, it is same as malloc/memcpy/free.
&gt; 
&gt; I understand this depends very much on the actual malloc algorithm. But what Vector is trying to do here is just a re-alloc. It is very natural to use realloc, and lets the malloc algorithm to decide what to do for best performance.

I am not sure what you arguing for? (against?)
What you say is correct, and I agree using realloc seems like the good thing to do.

But you should not make changes like this one without measuring the benefits. You are modifying a abstract data type used everywhere in WebKit in a non obvious way, you should be able to prove the change is correct.

It is not obvious if
1) This will increase memory fragmentation because realloc is not flexible for shrink.
2) This will not provide any improvement and it is just extra code to support.
3) Fastmalloc does the right thing and the patch avoid some memcopy.

(3) should go in WebKit, (1) and (2) should just be discarded. I only ask you make sure you have the third case.

&gt; Probably adding an ENABLE switch is better?

No, please. ENABLE switch is a bad idea here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706478</commentid>
    <comment_count>10</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-28 10:20:26 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; It is not obvious if
&gt; 1) This will increase memory fragmentation because realloc is not flexible for shrink.
&gt; 2) This will not provide any improvement and it is just extra code to support.
&gt; 3) Fastmalloc does the right thing and the patch avoid some memcopy.
&gt; 
&gt; (3) should go in WebKit, (1) and (2) should just be discarded. I only ask you make sure you have the third case.
&gt; 
&gt; &gt; Probably adding an ENABLE switch is better?
&gt; 
&gt; No, please. ENABLE switch is a bad idea here.

It seems FastMalloc is OK, as its realloc() allocates a new block when &quot;the new size is significantly smaller than the old size&quot;.

  // Reallocate if the new size is larger than the old size,
  // or if the new size is significantly smaller than the old size.
  if ((new_size &gt; old_size) || (AllocationSize(new_size) &lt; old_size)) {

But not all ports are using same memory allocator. Some ports have USE_SYSTEM_MALLOC defined. As Alexey said, &quot;at least OS X man page for realloc implies that it cannot move the allocation when shrinking&quot;.

PLATFORM(BLACKBERRY) also uses the system memory allocator. I&apos;m trying to get some numbers on QNX, but the results won&apos;t apply to all ports.


BTW, I&apos;ve seen in reality WebKit runs out-of-memory in shrinkToFit, which is a little bit weird: it is trying to shrink memory usage, but ends up with allocating more memory and runs OOM even faster. Reusing the old memory address for larges blocks can also reduce memory spikes in some cases.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706525</commentid>
    <comment_count>11</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-28 11:06:06 -0700</bug_when>
    <thetext>I tested with the following code, and found that realloc() gives noticeable performance boost only on large blocks (&gt;=1k).  It is even slower than malloc/memcpy/free solution on very small blocks. The larger the blocks are, the more performance boost realloc() gives. So it seems it is better to do this only when both old and new capacities are larger than 1k.

        double start = currentTime();
        for (int i = 0; i &lt; 100000; ++i) {
            Vector&lt;char&gt; vector;
            vector.reserveCapacity(&lt;capacity&gt;);
            vector.resize(&lt;size&gt;);
            vector.shrinkToFit();
        }
        double elapsed = currentTime() - start;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706530</commentid>
    <comment_count>12</comment_count>
      <attachid>161015</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-28 11:07:10 -0700</bug_when>
    <thetext>Created attachment 161015
only for blocks &gt;=1k

Can anyone also try the patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706564</commentid>
    <comment_count>13</comment_count>
      <attachid>161015</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-28 11:29:35 -0700</bug_when>
    <thetext>Comment on attachment 161015
only for blocks &gt;=1k

actually we should use canMoveWithMemcpy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706572</commentid>
    <comment_count>14</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-28 11:36:58 -0700</bug_when>
    <thetext>View in context: https://bugs.webkit.org/attachment.cgi?id=161015&amp;action=review

So you picked the 1K based on measurement on your platform, one of the few that does not use USE_SYSTEM_MALLOC.

And you set the patch for review for all platforms. Don&apos;t you see anything wrong with that?

&gt; Source/WTF/ChangeLog:10
&gt; +        Use realloc to shrink buffer when it is changing from a large malloc buffer
&gt; +        to another large one (&gt; 1k), and canCopyWithMemcpy is true.
&gt; +

You should give the performance analysis and the numbers in your ChangeLog.

Here is an example of a good ChangeLog of performance work: http://trac.webkit.org/changeset/124990</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706583</commentid>
    <comment_count>15</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-28 11:45:53 -0700</bug_when>
    <thetext>(In reply to comment #14)
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=161015&amp;action=review
&gt; 
&gt; So you picked the 1K based on measurement on your platform, one of the few that does not use USE_SYSTEM_MALLOC.
&gt; 
&gt; And you set the patch for review for all platforms. Don&apos;t you see anything wrong with that?

yes I do :). Probably I shouldn&apos;t set it for review. This is why I suggested to use some macros, and I&apos;m asking for help to investigate this plan on other ports...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706584</commentid>
    <comment_count>16</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-28 11:50:19 -0700</bug_when>
    <thetext>&gt; &gt; So you picked the 1K based on measurement on your platform, one of the few that does not use USE_SYSTEM_MALLOC.
&gt; &gt; 
&gt; &gt; And you set the patch for review for all platforms. Don&apos;t you see anything wrong with that?
&gt; 
&gt; yes I do :). Probably I shouldn&apos;t set it for review. This is why I suggested to use some macros, and I&apos;m asking for help to investigate this plan on other ports...

Having some #ifdef for Blackberry is perfectly reasonable here. It is the only platform for which you can demonstrate your patch is an improvement.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706592</commentid>
    <comment_count>17</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-28 12:00:30 -0700</bug_when>
    <thetext>&gt; Having some #ifdef for Blackberry is perfectly reasonable here. It is the only platform for which you can demonstrate your patch is an improvement.

To be clear, I think ENABLE() is a bad idea, PLATFORM(BLACKBERRY) or something even more specific to the allocator is perfectly reasonable.

E.g.

#if USE(SYSTEM_MALLOC) &amp;&amp; PLATFORM(BLACKBERRY)
const unsigned reallocOnShrinkSizeThreshold = 1024;
#define VECTOR_REALLOC_ON_SHRINK 
#endif // USE(SYSTEM_MALLOC) &amp;&amp; PLATFORM(BLACKBERRY)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706601</commentid>
    <comment_count>18</comment_count>
      <attachid>161029</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-28 12:17:23 -0700</bug_when>
    <thetext>Created attachment 161029
Try again

How about this? Hopefully we can get some numbers for realloc vs malloc/memcpy/free comparison on other ports very soon...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706610</commentid>
    <comment_count>19</comment_count>
      <attachid>161031</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-28 12:26:17 -0700</bug_when>
    <thetext>Created attachment 161031
should use canMoveWithMemcpy

actually it is not making copies, but just moving.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706620</commentid>
    <comment_count>20</comment_count>
      <attachid>161033</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-28 12:33:44 -0700</bug_when>
    <thetext>Created attachment 161033
the test code I&apos;m using...

It is a little bit ugly I know :)

Basically in every cycle, it creates a vector, allocates buffer, sets the size, and then call shrinkToFit(), and destructs the buffer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706649</commentid>
    <comment_count>21</comment_count>
      <attachid>161042</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-28 12:52:58 -0700</bug_when>
    <thetext>Created attachment 161042
Patch

Sorry for keeping changing it... Actually we don&apos;t want the 1K threshold. 1) the measurement for small blocks is not stable. It is actually very close as realloc() doesn&apos;t nothing but malloc/memcpy/free. 2) if realloc() was slower, it should be fixed and improved anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>706943</commentid>
    <comment_count>22</comment_count>
      <attachid>161042</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-28 18:00:54 -0700</bug_when>
    <thetext>Comment on attachment 161042
Patch

Attachment 161042 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13656552</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707111</commentid>
    <comment_count>23</comment_count>
      <attachid>161042</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-28 22:55:31 -0700</bug_when>
    <thetext>Comment on attachment 161042
Patch

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

I just r- for the minor issues, but everything looks good really. 

I&apos;ll have to double check the VectorTraits&lt;T&gt;::canMoveWithMemcpy, I do not remember by heart if it is the right one.

&gt; Source/WTF/ChangeLog:8
&gt; +        Only tested on BlackBerry. So it is wrapped with PLATFORM(BLACKBERRY) at the mean time.

&quot;at the mean time&quot; -&gt; &quot;in the meantime&quot;/&quot;for now&quot;

&gt; Source/WTF/ChangeLog:12
&gt; +        Use realloc to shrink buffer when it is changing from a large malloc buffer
&gt; +        to another large one (&gt; 1k), and canMoveWithMemcpy is true. When a Vector&lt;char&gt; shrinks
&gt; +        capacity from 2K to 1K, this gives more than 10x times performance boost on shrinkToFit()
&gt; +        (Tested on BlackBerry).

This is outdated, your removed the 1K limit.
Please use a new paragraph for the performance detail, that&apos;ll make it easier to track.

10 times faster!!! I should really try your bench with fastMalloc!

&gt; Source/WTF/wtf/Vector.h:288
&gt; +            // FIXME: Return true when realloc() can give better performance.

The &quot;when&quot; is ambiguous IMHO. More like:
// FIXME: Return true on the platform where realloc() give better performance.
?

+ UNUSED_PARAM(newCapacity); (for the Mac break).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707440</commentid>
    <comment_count>24</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-29 07:47:11 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; (From update of attachment 161042 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=161042&amp;action=review
&gt; I&apos;ll have to double check the VectorTraits&lt;T&gt;::canMoveWithMemcpy, I do not remember by heart if it is the right one.

If I understand correctly, this is for the objects with something like ref-counter. For example, RefPtr&lt;T&gt; cannot be C++-copied with memcpy, as creating a copy should increase the ref-count, but memcpy doesn&apos;t do that. However, it can be moved with memcpy as it is nothing but a pointer to the RefCounted object.

&gt; 10 times faster!!! I should really try your bench with fastMalloc!

That is only for large blocks. And it is reasonable because it just releases the free space to system in this case, so it takes no time compared to allocating a new block, memcpying, and freeing the old block.

Thanks a lot for reviewing and all the suggestions!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707483</commentid>
    <comment_count>25</comment_count>
      <attachid>161235</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-29 08:37:19 -0700</bug_when>
    <thetext>Created attachment 161235
Updated

I changed the number &quot;10x&quot; because it is actually an estimate after deducting the extra malloc/free in every cycle. Also I made a mistake that it was on 8K-&gt;4K shrinking. To be clear, for 2K-1K shrinking, the time it spends given by the test reduces from 100% to 60-70%, For 8k-4k shrinking, the elapsed time reduces from 100% to ~55%.. I&apos;m not sure how to calculate this performance boost percentage. Now I&apos;m using this formula: (&lt;old time cost&gt; - &lt;new time cost&gt;) / &lt;old time cost&gt;. Then this cannot explain why we see &quot;2x times faster&quot; in some logs...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707514</commentid>
    <comment_count>26</comment_count>
      <attachid>161235</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-29 09:14:58 -0700</bug_when>
    <thetext>Comment on attachment 161235
Updated

Attachment 161235 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13680259</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707517</commentid>
    <comment_count>27</comment_count>
      <attachid>161235</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-29 09:19:44 -0700</bug_when>
    <thetext>Comment on attachment 161235
Updated

Attachment 161235 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13690259</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707528</commentid>
    <comment_count>28</comment_count>
      <attachid>161248</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-29 09:35:43 -0700</bug_when>
    <thetext>Created attachment 161248
try again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707658</commentid>
    <comment_count>29</comment_count>
      <attachid>161248</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-08-29 11:09:40 -0700</bug_when>
    <thetext>Comment on attachment 161248
try again

Attachment 161248 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/13687288</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707661</commentid>
    <comment_count>30</comment_count>
      <attachid>161248</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-08-29 11:11:40 -0700</bug_when>
    <thetext>Comment on attachment 161248
try again

Attachment 161248 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13689318</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707663</commentid>
    <comment_count>31</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-29 11:13:02 -0700</bug_when>
    <thetext>(In reply to comment #29)
&gt; (From update of attachment 161248 [details])
&gt; Attachment 161248 [details] did not pass cr-android-ews (chromium-android):
&gt; Output: http://queues.webkit.org/results/13687288

:(. So many senseless warnings!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>707672</commentid>
    <comment_count>32</comment_count>
      <attachid>161271</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-29 11:16:55 -0700</bug_when>
    <thetext>Created attachment 161271
Again</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708616</commentid>
    <comment_count>33</comment_count>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-30 07:55:03 -0700</bug_when>
    <thetext>GTK build failure:

  CXXLD  Programs/TestWebKitAPI/TestWebKit2
make[1]: Leaving directory `/home/phil/gst/jhbuild/makes/WebKit/WebKitBuild/Release&apos;
Segmentation fault


Don&apos;t think it is any issue in the patch.

Ping reviewers?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708730</commentid>
    <comment_count>34</comment_count>
      <attachid>161271</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-30 09:44:28 -0700</bug_when>
    <thetext>Comment on attachment 161271
Again

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

The patch looks correct. Just make sure there is no problem with GTK when you land it.

&gt; Source/WTF/ChangeLog:8
&gt; +        Only tested on BlackBerry. So it is wrapped with PLATFORM(BLACKBERRY) at the mean time.

&quot;at the mean time&quot; -&gt; in the meantime.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708764</commentid>
    <comment_count>35</comment_count>
      <attachid>161271</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-30 10:05:09 -0700</bug_when>
    <thetext>Comment on attachment 161271
Again

Thanks Ben. Commit bot should be able to verify it builds. I&apos;ll keep an eye on it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708766</commentid>
    <comment_count>36</comment_count>
      <attachid>161271</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-30 10:06:12 -0700</bug_when>
    <thetext>Comment on attachment 161271
Again

You also need to update the changelog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708770</commentid>
    <comment_count>37</comment_count>
      <attachid>161504</attachid>
    <who name="Yong Li">yong.li.webkit</who>
    <bug_when>2012-08-30 10:09:25 -0700</bug_when>
    <thetext>Created attachment 161504
To commit (see if GTK can build now)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708997</commentid>
    <comment_count>38</comment_count>
      <attachid>161504</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-30 13:51:45 -0700</bug_when>
    <thetext>Comment on attachment 161504
To commit (see if GTK can build now)

Clearing flags on attachment: 161504

Committed r127186: &lt;http://trac.webkit.org/changeset/127186&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>708998</commentid>
    <comment_count>39</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-30 13:51:51 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>709059</commentid>
    <comment_count>40</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2012-08-30 14:56:39 -0700</bug_when>
    <thetext>(In reply to comment #0)
&gt; But I don&apos;t know why there are both canCopyWithMemcpy and canMoveWithMemcpy. Is there any case they are not equivalent?

Yes. A class like RefPtr can return true for canMoveWithMemcpy but must return false for canCopyWithMemcpy because a copy requires incrementing the reference count.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160738</attachid>
            <date>2012-08-27 10:03:42 -0700</date>
            <delta_ts>2012-08-28 12:17:23 -0700</delta_ts>
            <desc>the patch</desc>
            <filename>94810.patch</filename>
            <type>text/plain</type>
            <size>3605</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggODA4NWVlZi4uNjhjMDBkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0wOC0yNyAg
WW9uZyBMaSAgPHlvbGlAcmltLmNvbT4KKworICAgICAgICBWZWN0b3I6OnNocmlua1RvRml0IHNo
b3VsZCB1c2UgcmVhbGxvYyB3aGVuIGNhbkNvcHlXaXRoTWVtY3B5IGlzIHRydWUuCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDgxMAorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSByZWFsbG9jIHRvIHNo
cmluayBidWZmZXIgd2hlbiBpdCBpcyBjaGFuZ2luZyBmcm9tIGEgbWFsbG9jIGJ1ZmZlcgorICAg
ICAgICB0byBhbm90aGVyIG9uZSwgYW5kIGNhbkNvcHlXaXRoTWVtY3B5IGlzIHRydWUuCisKKyAg
ICAgICAgKiB3dGYvVmVjdG9yLmg6CisgICAgICAgIChXVEY6OlZlY3RvckJ1ZmZlckJhc2U6OnNo
b3VsZFJlYWxsb2NhdGVCdWZmZXIpOgorICAgICAgICAoVmVjdG9yQnVmZmVyQmFzZSk6CisgICAg
ICAgIChXVEY6OlZlY3RvckJ1ZmZlckJhc2U6OnJlYWxsb2NhdGVCdWZmZXIpOgorICAgICAgICAo
VmVjdG9yQnVmZmVyKToKKyAgICAgICAgKFdURjo6VmVjdG9yQnVmZmVyOjpzaG91bGRSZWFsbG9j
YXRlQnVmZmVyKToKKyAgICAgICAgKFdURjo6VmVjdG9yQnVmZmVyOjpyZWFsbG9jYXRlQnVmZmVy
KToKKyAgICAgICAgKFdURjo6VmVjdG9yQnVmZmVyOjppbmxpbmVCdWZmZXIpOgorICAgICAgICAo
V1RGOjo6OnNocmlua0NhcGFjaXR5KToKKwogMjAxMi0wOC0yNCAgQmVuamFtaW4gUG91bGFpbiAg
PGJlbmphbWluQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVG91Y2ggUGxhdGZvcm0uaCB0byBzb2x2
ZSBhIGJ1aWxkIGRlcGVuZGVuY3kgaXNzdWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvd3RmL1Zl
Y3Rvci5oIGIvU291cmNlL1dURi93dGYvVmVjdG9yLmgKaW5kZXggYTNiNmEwZS4uNGY1OWNmZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVmVjdG9yLmgKKysrIGIvU291cmNlL1dURi93dGYv
VmVjdG9yLmgKQEAgLTI3OSw2ICsyNzksMjAgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgICAg
ICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIAorICAgICAgICBib29sIHNob3VsZFJlYWxsb2Nh
dGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KSBjb25zdAorICAgICAgICB7CisgICAgICAgICAg
ICByZXR1cm4gVmVjdG9yVHJhaXRzPFQ+OjpjYW5Db3B5V2l0aE1lbWNweSAmJiBtX2NhcGFjaXR5
ICYmIG5ld0NhcGFjaXR5OworICAgICAgICB9CisKKyAgICAgICAgdm9pZCByZWFsbG9jYXRlQnVm
ZmVyKHNpemVfdCBuZXdDYXBhY2l0eSkKKyAgICAgICAgeworICAgICAgICAgICAgQVNTRVJUKHNo
b3VsZFJlYWxsb2NhdGVCdWZmZXIoKSk7CisgICAgICAgICAgICBtX2NhcGFjaXR5ID0gbmV3Q2Fw
YWNpdHk7CisgICAgICAgICAgICBpZiAobmV3Q2FwYWNpdHkgPiBzdGQ6Om51bWVyaWNfbGltaXRz
PHNpemVfdD46Om1heCgpIC8gc2l6ZW9mKFQpKQorICAgICAgICAgICAgICAgIENSQVNIKCk7Cisg
ICAgICAgICAgICBtX2J1ZmZlciA9IHN0YXRpY19jYXN0PFQqPihmYXN0UmVhbGxvYyhtX2J1ZmZl
ciwgbmV3Q2FwYWNpdHkgKiBzaXplb2YoVCkpKTsKKyAgICAgICAgfQorCiAgICAgICAgIHZvaWQg
ZGVhbGxvY2F0ZUJ1ZmZlcihUKiBidWZmZXJUb0RlYWxsb2NhdGUpCiAgICAgICAgIHsKICAgICAg
ICAgICAgIGlmICghYnVmZmVyVG9EZWFsbG9jYXRlKQpAQCAtMzYyLDYgKzM3Niw4IEBAIG5hbWVz
cGFjZSBXVEYgewogCiAgICAgICAgIHVzaW5nIEJhc2U6OmFsbG9jYXRlQnVmZmVyOwogICAgICAg
ICB1c2luZyBCYXNlOjp0cnlBbGxvY2F0ZUJ1ZmZlcjsKKyAgICAgICAgdXNpbmcgQmFzZTo6c2hv
dWxkUmVhbGxvY2F0ZUJ1ZmZlcjsKKyAgICAgICAgdXNpbmcgQmFzZTo6cmVhbGxvY2F0ZUJ1ZmZl
cjsKICAgICAgICAgdXNpbmcgQmFzZTo6ZGVhbGxvY2F0ZUJ1ZmZlcjsKIAogICAgICAgICB1c2lu
ZyBCYXNlOjpidWZmZXI7CkBAIC00MjMsNyArNDM5LDE4IEBAIG5hbWVzcGFjZSBXVEYgewogICAg
ICAgICAgICAgICAgIHJldHVybjsKICAgICAgICAgICAgIEJhc2U6OmRlYWxsb2NhdGVCdWZmZXIo
YnVmZmVyVG9EZWFsbG9jYXRlKTsKICAgICAgICAgfQotICAgICAgICAKKworICAgICAgICBib29s
IHNob3VsZFJlYWxsb2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KSBjb25zdAorICAgICAg
ICB7CisgICAgICAgICAgICByZXR1cm4gQmFzZTo6c2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcihuZXdD
YXBhY2l0eSkgJiYgbV9idWZmZXIgIT0gaW5saW5lQnVmZmVyKCkgJiYgbmV3Q2FwYWNpdHkgPiBp
bmxpbmVDYXBhY2l0eTsKKyAgICAgICAgfQorCisgICAgICAgIHZvaWQgcmVhbGxvY2F0ZUJ1ZmZl
cihzaXplX3QgbmV3Q2FwYWNpdHkpCisgICAgICAgIHsKKyAgICAgICAgICAgIEFTU0VSVChzaG91
bGRSZWFsbG9jYXRlQnVmZmVyKG5ld0NhcGFjaXR5KSk7CisgICAgICAgICAgICBCYXNlOjpyZWFs
bG9jYXRlQnVmZmVyKG5ld0NhcGFjaXR5KTsKKyAgICAgICAgfQorCiAgICAgICAgIHZvaWQgc3dh
cChWZWN0b3JCdWZmZXI8VCwgaW5saW5lQ2FwYWNpdHk+JiBvdGhlcikKICAgICAgICAgewogICAg
ICAgICAgICAgaWYgKGJ1ZmZlcigpID09IGlubGluZUJ1ZmZlcigpICYmIG90aGVyLmJ1ZmZlcigp
ID09IG90aGVyLmlubGluZUJ1ZmZlcigpKSB7CkBAIC00NzAsNiArNDk3LDcgQEAgbmFtZXNwYWNl
IFdURiB7CiAKICAgICAgICAgc3RhdGljIGNvbnN0IHNpemVfdCBtX2lubGluZUJ1ZmZlclNpemUg
PSBpbmxpbmVDYXBhY2l0eSAqIHNpemVvZihUKTsKICAgICAgICAgVCogaW5saW5lQnVmZmVyKCkg
eyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdF9wdHI8VCo+KG1faW5saW5lQnVmZmVyLmJ1ZmZlcik7
IH0KKyAgICAgICAgY29uc3QgVCogaW5saW5lQnVmZmVyKCkgY29uc3QgeyByZXR1cm4gcmVpbnRl
cnByZXRfY2FzdF9wdHI8Y29uc3QgVCo+KG1faW5saW5lQnVmZmVyLmJ1ZmZlcik7IH0KIAogICAg
ICAgICBBbGlnbmVkQnVmZmVyPG1faW5saW5lQnVmZmVyU2l6ZSwgV1RGX0FMSUdOX09GKFQpPiBt
X2lubGluZUJ1ZmZlcjsKICAgICB9OwpAQCAtOTY0LDYgKzk5MiwxMSBAQCBuYW1lc3BhY2UgV1RG
IHsKIAogICAgICAgICBUKiBvbGRCdWZmZXIgPSBiZWdpbigpOwogICAgICAgICBpZiAobmV3Q2Fw
YWNpdHkgPiAwKSB7CisgICAgICAgICAgICBpZiAobV9idWZmZXIuc2hvdWxkUmVhbGxvY2F0ZUJ1
ZmZlcihuZXdDYXBhY2l0eSkpIHsKKyAgICAgICAgICAgICAgICBtX2J1ZmZlci5yZWFsbG9jYXRl
QnVmZmVyKG5ld0NhcGFjaXR5KTsKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAgICAg
ICB9CisKICAgICAgICAgICAgIFQqIG9sZEVuZCA9IGVuZCgpOwogICAgICAgICAgICAgbV9idWZm
ZXIuYWxsb2NhdGVCdWZmZXIobmV3Q2FwYWNpdHkpOwogICAgICAgICAgICAgaWYgKGJlZ2luKCkg
IT0gb2xkQnVmZmVyKQo=
</data>
<flag name="review"
          id="171354"
          type_id="1"
          status="-"
          setter="benjamin"
    />
    <flag name="commit-queue"
          id="171361"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161015</attachid>
            <date>2012-08-28 11:07:10 -0700</date>
            <delta_ts>2012-08-28 12:17:23 -0700</delta_ts>
            <desc>only for blocks &gt;=1k</desc>
            <filename>94810.patch</filename>
            <type>text/plain</type>
            <size>3777</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggODA4NWVlZi4uZDgxNmVkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMyBAQAorMjAxMi0wOC0yNyAg
WW9uZyBMaSAgPHlvbGlAcmltLmNvbT4KKworICAgICAgICBWZWN0b3I6OnNocmlua1RvRml0IHNo
b3VsZCB1c2UgcmVhbGxvYyB3aGVuIHN1aXRhYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ4MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgcmVhbGxvYyB0byBzaHJpbmsgYnVmZmVyIHdoZW4g
aXQgaXMgY2hhbmdpbmcgZnJvbSBhIGxhcmdlIG1hbGxvYyBidWZmZXIKKyAgICAgICAgdG8gYW5v
dGhlciBsYXJnZSBvbmUgKD4gMWspLCBhbmQgY2FuQ29weVdpdGhNZW1jcHkgaXMgdHJ1ZS4KKwor
ICAgICAgICAqIHd0Zi9WZWN0b3IuaDoKKyAgICAgICAgKFdURjo6VmVjdG9yQnVmZmVyQmFzZTo6
c2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcik6CisgICAgICAgIChWZWN0b3JCdWZmZXJCYXNlKToKKyAg
ICAgICAgKFdURjo6VmVjdG9yQnVmZmVyQmFzZTo6cmVhbGxvY2F0ZUJ1ZmZlcik6CisgICAgICAg
IChWZWN0b3JCdWZmZXIpOgorICAgICAgICAoV1RGOjpWZWN0b3JCdWZmZXI6OnNob3VsZFJlYWxs
b2NhdGVCdWZmZXIpOgorICAgICAgICAoV1RGOjpWZWN0b3JCdWZmZXI6OnJlYWxsb2NhdGVCdWZm
ZXIpOgorICAgICAgICAoV1RGOjpWZWN0b3JCdWZmZXI6OmlubGluZUJ1ZmZlcik6CisgICAgICAg
IChXVEY6Ojo6c2hyaW5rQ2FwYWNpdHkpOgorCiAyMDEyLTA4LTI0ICBCZW5qYW1pbiBQb3VsYWlu
ICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KIAogICAgICAgICBUb3VjaCBQbGF0Zm9ybS5oIHRvIHNv
bHZlIGEgYnVpbGQgZGVwZW5kZW5jeSBpc3N1ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYv
VmVjdG9yLmggYi9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaAppbmRleCBhM2I2YTBlLi4wNGYxNGZk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaAorKysgYi9Tb3VyY2UvV1RGL3d0
Zi9WZWN0b3IuaApAQCAtMjc5LDYgKzI3OSwyMSBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogCisgICAgICAgIGJvb2wgc2hvdWxkUmVhbGxv
Y2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAg
ICAgIC8vIHJlYWxsb2MoKSBnaXZlcyBub3RpY2VhYmxlIHBlcmZvcm1hbmNlIGJvb3N0IG9uIGxh
cmdlIGJsb2Nrcy4KKyAgICAgICAgICAgIHJldHVybiBWZWN0b3JUcmFpdHM8VD46OmNhbkNvcHlX
aXRoTWVtY3B5ICYmIHN0ZDo6bWluKG1fY2FwYWNpdHksIG5ld0NhcGFjaXR5KSA+ICgxMDI0IC0g
MSkgLyBzaXplb2YoVCk7CisgICAgICAgIH0KKworICAgICAgICB2b2lkIHJlYWxsb2NhdGVCdWZm
ZXIoc2l6ZV90IG5ld0NhcGFjaXR5KQorICAgICAgICB7CisgICAgICAgICAgICBBU1NFUlQoc2hv
dWxkUmVhbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSkpOworICAgICAgICAgICAgbV9jYXBhY2l0
eSA9IG5ld0NhcGFjaXR5OworICAgICAgICAgICAgaWYgKG5ld0NhcGFjaXR5ID4gc3RkOjpudW1l
cmljX2xpbWl0czxzaXplX3Q+OjptYXgoKSAvIHNpemVvZihUKSkKKyAgICAgICAgICAgICAgICBD
UkFTSCgpOworICAgICAgICAgICAgbV9idWZmZXIgPSBzdGF0aWNfY2FzdDxUKj4oZmFzdFJlYWxs
b2MobV9idWZmZXIsIG5ld0NhcGFjaXR5ICogc2l6ZW9mKFQpKSk7CisgICAgICAgIH0KKwogICAg
ICAgICB2b2lkIGRlYWxsb2NhdGVCdWZmZXIoVCogYnVmZmVyVG9EZWFsbG9jYXRlKQogICAgICAg
ICB7CiAgICAgICAgICAgICBpZiAoIWJ1ZmZlclRvRGVhbGxvY2F0ZSkKQEAgLTM2Miw2ICszNzcs
OCBAQCBuYW1lc3BhY2UgV1RGIHsKIAogICAgICAgICB1c2luZyBCYXNlOjphbGxvY2F0ZUJ1ZmZl
cjsKICAgICAgICAgdXNpbmcgQmFzZTo6dHJ5QWxsb2NhdGVCdWZmZXI7CisgICAgICAgIHVzaW5n
IEJhc2U6OnNob3VsZFJlYWxsb2NhdGVCdWZmZXI7CisgICAgICAgIHVzaW5nIEJhc2U6OnJlYWxs
b2NhdGVCdWZmZXI7CiAgICAgICAgIHVzaW5nIEJhc2U6OmRlYWxsb2NhdGVCdWZmZXI7CiAKICAg
ICAgICAgdXNpbmcgQmFzZTo6YnVmZmVyOwpAQCAtNDIzLDcgKzQ0MCwxOSBAQCBuYW1lc3BhY2Ug
V1RGIHsKICAgICAgICAgICAgICAgICByZXR1cm47CiAgICAgICAgICAgICBCYXNlOjpkZWFsbG9j
YXRlQnVmZmVyKGJ1ZmZlclRvRGVhbGxvY2F0ZSk7CiAgICAgICAgIH0KLSAgICAgICAgCisKKyAg
ICAgICAgYm9vbCBzaG91bGRSZWFsbG9jYXRlQnVmZmVyKHNpemVfdCBuZXdDYXBhY2l0eSkgY29u
c3QKKyAgICAgICAgeworICAgICAgICAgICAgLy8gV2UgY2Fubm90IHJlYWxsb2NhdGUgdGhlIGlu
bGluZSBidWZmZXIuCisgICAgICAgICAgICByZXR1cm4gQmFzZTo6c2hvdWxkUmVhbGxvY2F0ZUJ1
ZmZlcihuZXdDYXBhY2l0eSkgJiYgc3RkOjptaW4obV9jYXBhY2l0eSwgbmV3Q2FwYWNpdHkpID4g
aW5saW5lQ2FwYWNpdHk7CisgICAgICAgIH0KKworICAgICAgICB2b2lkIHJlYWxsb2NhdGVCdWZm
ZXIoc2l6ZV90IG5ld0NhcGFjaXR5KQorICAgICAgICB7CisgICAgICAgICAgICBBU1NFUlQoc2hv
dWxkUmVhbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSkpOworICAgICAgICAgICAgQmFzZTo6cmVh
bGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSk7CisgICAgICAgIH0KKwogICAgICAgICB2b2lkIHN3
YXAoVmVjdG9yQnVmZmVyPFQsIGlubGluZUNhcGFjaXR5PiYgb3RoZXIpCiAgICAgICAgIHsKICAg
ICAgICAgICAgIGlmIChidWZmZXIoKSA9PSBpbmxpbmVCdWZmZXIoKSAmJiBvdGhlci5idWZmZXIo
KSA9PSBvdGhlci5pbmxpbmVCdWZmZXIoKSkgewpAQCAtNDcwLDYgKzQ5OSw3IEBAIG5hbWVzcGFj
ZSBXVEYgewogCiAgICAgICAgIHN0YXRpYyBjb25zdCBzaXplX3QgbV9pbmxpbmVCdWZmZXJTaXpl
ID0gaW5saW5lQ2FwYWNpdHkgKiBzaXplb2YoVCk7CiAgICAgICAgIFQqIGlubGluZUJ1ZmZlcigp
IHsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3RfcHRyPFQqPihtX2lubGluZUJ1ZmZlci5idWZmZXIp
OyB9CisgICAgICAgIGNvbnN0IFQqIGlubGluZUJ1ZmZlcigpIGNvbnN0IHsgcmV0dXJuIHJlaW50
ZXJwcmV0X2Nhc3RfcHRyPGNvbnN0IFQqPihtX2lubGluZUJ1ZmZlci5idWZmZXIpOyB9CiAKICAg
ICAgICAgQWxpZ25lZEJ1ZmZlcjxtX2lubGluZUJ1ZmZlclNpemUsIFdURl9BTElHTl9PRihUKT4g
bV9pbmxpbmVCdWZmZXI7CiAgICAgfTsKQEAgLTk2NCw2ICs5OTQsMTEgQEAgbmFtZXNwYWNlIFdU
RiB7CiAKICAgICAgICAgVCogb2xkQnVmZmVyID0gYmVnaW4oKTsKICAgICAgICAgaWYgKG5ld0Nh
cGFjaXR5ID4gMCkgeworICAgICAgICAgICAgaWYgKG1fYnVmZmVyLnNob3VsZFJlYWxsb2NhdGVC
dWZmZXIobmV3Q2FwYWNpdHkpKSB7CisgICAgICAgICAgICAgICAgbV9idWZmZXIucmVhbGxvY2F0
ZUJ1ZmZlcihuZXdDYXBhY2l0eSk7CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAg
ICAgfQorCiAgICAgICAgICAgICBUKiBvbGRFbmQgPSBlbmQoKTsKICAgICAgICAgICAgIG1fYnVm
ZmVyLmFsbG9jYXRlQnVmZmVyKG5ld0NhcGFjaXR5KTsKICAgICAgICAgICAgIGlmIChiZWdpbigp
ICE9IG9sZEJ1ZmZlcikK
</data>
<flag name="review"
          id="171694"
          type_id="1"
          status="-"
          setter="yong.li.webkit"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161029</attachid>
            <date>2012-08-28 12:17:23 -0700</date>
            <delta_ts>2012-08-28 12:24:33 -0700</delta_ts>
            <desc>Try again</desc>
            <filename>94810.patch</filename>
            <type>text/plain</type>
            <size>4269</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggODA4NWVlZi4uMGJhYTMwNiAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMi0wOC0yNyAg
WW9uZyBMaSAgPHlvbGlAcmltLmNvbT4KKworICAgICAgICBWZWN0b3I6OnNocmlua1RvRml0IHNo
b3VsZCB1c2UgcmVhbGxvYyB3aGVuIHN1aXRhYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ4MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBPbmx5IHRlc3RlZCBvbiBCbGFja0JlcnJ5LiBTbyBpdCBp
cyB3cmFwcGVkIHdpdGggUExBVEZPUk0oQkxBQ0tCRVJSWSkgYXQgdGhlIG1lYW4gdGltZS4KKyAg
ICAgICAgVXNlIHJlYWxsb2MgdG8gc2hyaW5rIGJ1ZmZlciB3aGVuIGl0IGlzIGNoYW5naW5nIGZy
b20gYSBsYXJnZSBtYWxsb2MgYnVmZmVyCisgICAgICAgIHRvIGFub3RoZXIgbGFyZ2Ugb25lICg+
IDFrKSwgYW5kIGNhbkNvcHlXaXRoTWVtY3B5IGlzIHRydWUuIFdoZW4gYSBWZWN0b3I8Y2hhcj4g
c2hyaW5rcworICAgICAgICBjYXBhY2l0eSBmcm9tIDJLIHRvIDFLLCB0aGlzIGdpdmVzIG1vcmUg
dGhhbiAxMHggdGltZXMgcGVyZm9ybWFuY2UgYm9vc3Qgb24gc2hyaW5rVG9GaXQoKQorICAgICAg
ICAoVGVzdGVkIG9uIEJsYWNrQmVycnkpLgorCisgICAgICAgICogd3RmL1ZlY3Rvci5oOgorICAg
ICAgICAoV1RGOjpWZWN0b3JCdWZmZXJCYXNlOjpzaG91bGRSZWFsbG9jYXRlQnVmZmVyKToKKyAg
ICAgICAgKFZlY3RvckJ1ZmZlckJhc2UpOgorICAgICAgICAoV1RGOjpWZWN0b3JCdWZmZXJCYXNl
OjpyZWFsbG9jYXRlQnVmZmVyKToKKyAgICAgICAgKFZlY3RvckJ1ZmZlcik6CisgICAgICAgIChX
VEY6OlZlY3RvckJ1ZmZlcjo6c2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcik6CisgICAgICAgIChXVEY6
OlZlY3RvckJ1ZmZlcjo6cmVhbGxvY2F0ZUJ1ZmZlcik6CisgICAgICAgIChXVEY6OlZlY3RvckJ1
ZmZlcjo6aW5saW5lQnVmZmVyKToKKyAgICAgICAgKFdURjo6OjpzaHJpbmtDYXBhY2l0eSk6CisK
IDIwMTItMDgtMjQgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFRvdWNoIFBsYXRmb3JtLmggdG8gc29sdmUgYSBidWlsZCBkZXBlbmRlbmN5IGlzc3Vl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaCBiL1NvdXJjZS9XVEYvd3RmL1Zl
Y3Rvci5oCmluZGV4IGEzYjZhMGUuLmNjYzMzZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L1ZlY3Rvci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCkBAIC0yNzksNiArMjc5LDI3
IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9
CiAKKyAgICAgICAgYm9vbCBzaG91bGRSZWFsbG9jYXRlQnVmZmVyKHNpemVfdCBuZXdDYXBhY2l0
eSkgY29uc3QKKyAgICAgICAgeworI2lmIFBMQVRGT1JNKEJMQUNLQkVSUlkpCisgICAgICAgICAg
ICAvLyByZWFsbG9jKCkgZ2l2ZXMgcmVtYXJrYWJsZSBwZXJmb3JtYW5jZSBib29zdCBvbiBsYXJn
ZSBibG9ja3MuCisgICAgICAgICAgICBjb25zdCBzaXplX3QgcmVhbGxvY09uU2hyaW5rU2l6ZVRo
cmVzaG9sZCA9IDEwMjQ7CisgICAgICAgICAgICByZXR1cm4gVmVjdG9yVHJhaXRzPFQ+OjpjYW5D
b3B5V2l0aE1lbWNweSAmJiBzdGQ6Om1pbihtX2NhcGFjaXR5LCBuZXdDYXBhY2l0eSkgPiAocmVh
bGxvY09uU2hyaW5rU2l6ZVRocmVzaG9sZCAtIDEpIC8gc2l6ZW9mKFQpOworI2Vsc2UKKyAgICAg
ICAgICAgIC8vIEZJWE1FOiBSZXR1cm4gdHJ1ZSB3aGVuIHJlYWxsb2MoKSBjYW4gZ2l2ZSBiZXR0
ZXIgcGVyZm9ybWFuY2UuCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKKyAgICAg
ICAgfQorCisgICAgICAgIHZvaWQgcmVhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkp
CisgICAgICAgIHsKKyAgICAgICAgICAgIEFTU0VSVChzaG91bGRSZWFsbG9jYXRlQnVmZmVyKG5l
d0NhcGFjaXR5KSk7CisgICAgICAgICAgICBtX2NhcGFjaXR5ID0gbmV3Q2FwYWNpdHk7CisgICAg
ICAgICAgICBpZiAobmV3Q2FwYWNpdHkgPiBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1h
eCgpIC8gc2l6ZW9mKFQpKQorICAgICAgICAgICAgICAgIENSQVNIKCk7CisgICAgICAgICAgICBt
X2J1ZmZlciA9IHN0YXRpY19jYXN0PFQqPihmYXN0UmVhbGxvYyhtX2J1ZmZlciwgbmV3Q2FwYWNp
dHkgKiBzaXplb2YoVCkpKTsKKyAgICAgICAgfQorCiAgICAgICAgIHZvaWQgZGVhbGxvY2F0ZUJ1
ZmZlcihUKiBidWZmZXJUb0RlYWxsb2NhdGUpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICgh
YnVmZmVyVG9EZWFsbG9jYXRlKQpAQCAtMzYyLDYgKzM4Myw4IEBAIG5hbWVzcGFjZSBXVEYgewog
CiAgICAgICAgIHVzaW5nIEJhc2U6OmFsbG9jYXRlQnVmZmVyOwogICAgICAgICB1c2luZyBCYXNl
Ojp0cnlBbGxvY2F0ZUJ1ZmZlcjsKKyAgICAgICAgdXNpbmcgQmFzZTo6c2hvdWxkUmVhbGxvY2F0
ZUJ1ZmZlcjsKKyAgICAgICAgdXNpbmcgQmFzZTo6cmVhbGxvY2F0ZUJ1ZmZlcjsKICAgICAgICAg
dXNpbmcgQmFzZTo6ZGVhbGxvY2F0ZUJ1ZmZlcjsKIAogICAgICAgICB1c2luZyBCYXNlOjpidWZm
ZXI7CkBAIC00MjMsNyArNDQ2LDE5IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgICAgIEJhc2U6OmRlYWxsb2NhdGVCdWZmZXIoYnVmZmVyVG9EZWFs
bG9jYXRlKTsKICAgICAgICAgfQotICAgICAgICAKKworICAgICAgICBib29sIHNob3VsZFJlYWxs
b2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KSBjb25zdAorICAgICAgICB7CisgICAgICAg
ICAgICAvLyBXZSBjYW5ub3QgcmVhbGxvY2F0ZSB0aGUgaW5saW5lIGJ1ZmZlci4KKyAgICAgICAg
ICAgIHJldHVybiBCYXNlOjpzaG91bGRSZWFsbG9jYXRlQnVmZmVyKG5ld0NhcGFjaXR5KSAmJiBz
dGQ6Om1pbihtX2NhcGFjaXR5LCBuZXdDYXBhY2l0eSkgPiBpbmxpbmVDYXBhY2l0eTsKKyAgICAg
ICAgfQorCisgICAgICAgIHZvaWQgcmVhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkp
CisgICAgICAgIHsKKyAgICAgICAgICAgIEFTU0VSVChzaG91bGRSZWFsbG9jYXRlQnVmZmVyKG5l
d0NhcGFjaXR5KSk7CisgICAgICAgICAgICBCYXNlOjpyZWFsbG9jYXRlQnVmZmVyKG5ld0NhcGFj
aXR5KTsKKyAgICAgICAgfQorCiAgICAgICAgIHZvaWQgc3dhcChWZWN0b3JCdWZmZXI8VCwgaW5s
aW5lQ2FwYWNpdHk+JiBvdGhlcikKICAgICAgICAgewogICAgICAgICAgICAgaWYgKGJ1ZmZlcigp
ID09IGlubGluZUJ1ZmZlcigpICYmIG90aGVyLmJ1ZmZlcigpID09IG90aGVyLmlubGluZUJ1ZmZl
cigpKSB7CkBAIC00NzAsNiArNTA1LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICAgICAgc3Rh
dGljIGNvbnN0IHNpemVfdCBtX2lubGluZUJ1ZmZlclNpemUgPSBpbmxpbmVDYXBhY2l0eSAqIHNp
emVvZihUKTsKICAgICAgICAgVCogaW5saW5lQnVmZmVyKCkgeyByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdF9wdHI8VCo+KG1faW5saW5lQnVmZmVyLmJ1ZmZlcik7IH0KKyAgICAgICAgY29uc3QgVCog
aW5saW5lQnVmZmVyKCkgY29uc3QgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdF9wdHI8Y29uc3Qg
VCo+KG1faW5saW5lQnVmZmVyLmJ1ZmZlcik7IH0KIAogICAgICAgICBBbGlnbmVkQnVmZmVyPG1f
aW5saW5lQnVmZmVyU2l6ZSwgV1RGX0FMSUdOX09GKFQpPiBtX2lubGluZUJ1ZmZlcjsKICAgICB9
OwpAQCAtOTY0LDYgKzEwMDAsMTEgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICAgICAgVCogb2xk
QnVmZmVyID0gYmVnaW4oKTsKICAgICAgICAgaWYgKG5ld0NhcGFjaXR5ID4gMCkgeworICAgICAg
ICAgICAgaWYgKG1fYnVmZmVyLnNob3VsZFJlYWxsb2NhdGVCdWZmZXIobmV3Q2FwYWNpdHkpKSB7
CisgICAgICAgICAgICAgICAgbV9idWZmZXIucmVhbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSk7
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBU
KiBvbGRFbmQgPSBlbmQoKTsKICAgICAgICAgICAgIG1fYnVmZmVyLmFsbG9jYXRlQnVmZmVyKG5l
d0NhcGFjaXR5KTsKICAgICAgICAgICAgIGlmIChiZWdpbigpICE9IG9sZEJ1ZmZlcikK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161031</attachid>
            <date>2012-08-28 12:26:17 -0700</date>
            <delta_ts>2012-08-28 12:47:51 -0700</delta_ts>
            <desc>should use canMoveWithMemcpy</desc>
            <filename>94810.patch</filename>
            <type>text/plain</type>
            <size>4269</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggODA4NWVlZi4uZTczMzczOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMi0wOC0yNyAg
WW9uZyBMaSAgPHlvbGlAcmltLmNvbT4KKworICAgICAgICBWZWN0b3I6OnNocmlua1RvRml0IHNo
b3VsZCB1c2UgcmVhbGxvYyB3aGVuIHN1aXRhYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ4MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBPbmx5IHRlc3RlZCBvbiBCbGFja0JlcnJ5LiBTbyBpdCBp
cyB3cmFwcGVkIHdpdGggUExBVEZPUk0oQkxBQ0tCRVJSWSkgYXQgdGhlIG1lYW4gdGltZS4KKyAg
ICAgICAgVXNlIHJlYWxsb2MgdG8gc2hyaW5rIGJ1ZmZlciB3aGVuIGl0IGlzIGNoYW5naW5nIGZy
b20gYSBsYXJnZSBtYWxsb2MgYnVmZmVyCisgICAgICAgIHRvIGFub3RoZXIgbGFyZ2Ugb25lICg+
IDFrKSwgYW5kIGNhbk1vdmVXaXRoTWVtY3B5IGlzIHRydWUuIFdoZW4gYSBWZWN0b3I8Y2hhcj4g
c2hyaW5rcworICAgICAgICBjYXBhY2l0eSBmcm9tIDJLIHRvIDFLLCB0aGlzIGdpdmVzIG1vcmUg
dGhhbiAxMHggdGltZXMgcGVyZm9ybWFuY2UgYm9vc3Qgb24gc2hyaW5rVG9GaXQoKQorICAgICAg
ICAoVGVzdGVkIG9uIEJsYWNrQmVycnkpLgorCisgICAgICAgICogd3RmL1ZlY3Rvci5oOgorICAg
ICAgICAoV1RGOjpWZWN0b3JCdWZmZXJCYXNlOjpzaG91bGRSZWFsbG9jYXRlQnVmZmVyKToKKyAg
ICAgICAgKFZlY3RvckJ1ZmZlckJhc2UpOgorICAgICAgICAoV1RGOjpWZWN0b3JCdWZmZXJCYXNl
OjpyZWFsbG9jYXRlQnVmZmVyKToKKyAgICAgICAgKFZlY3RvckJ1ZmZlcik6CisgICAgICAgIChX
VEY6OlZlY3RvckJ1ZmZlcjo6c2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcik6CisgICAgICAgIChXVEY6
OlZlY3RvckJ1ZmZlcjo6cmVhbGxvY2F0ZUJ1ZmZlcik6CisgICAgICAgIChXVEY6OlZlY3RvckJ1
ZmZlcjo6aW5saW5lQnVmZmVyKToKKyAgICAgICAgKFdURjo6OjpzaHJpbmtDYXBhY2l0eSk6CisK
IDIwMTItMDgtMjQgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFRvdWNoIFBsYXRmb3JtLmggdG8gc29sdmUgYSBidWlsZCBkZXBlbmRlbmN5IGlzc3Vl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaCBiL1NvdXJjZS9XVEYvd3RmL1Zl
Y3Rvci5oCmluZGV4IGEzYjZhMGUuLjIyYzUxOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L1ZlY3Rvci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCkBAIC0yNzksNiArMjc5LDI3
IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9
CiAKKyAgICAgICAgYm9vbCBzaG91bGRSZWFsbG9jYXRlQnVmZmVyKHNpemVfdCBuZXdDYXBhY2l0
eSkgY29uc3QKKyAgICAgICAgeworI2lmIFBMQVRGT1JNKEJMQUNLQkVSUlkpCisgICAgICAgICAg
ICAvLyByZWFsbG9jKCkgZ2l2ZXMgcmVtYXJrYWJsZSBwZXJmb3JtYW5jZSBib29zdCBvbiBsYXJn
ZSBibG9ja3MuCisgICAgICAgICAgICBjb25zdCBzaXplX3QgcmVhbGxvY09uU2hyaW5rU2l6ZVRo
cmVzaG9sZCA9IDEwMjQ7CisgICAgICAgICAgICByZXR1cm4gVmVjdG9yVHJhaXRzPFQ+OjpjYW5N
b3ZlV2l0aE1lbWNweSAmJiBzdGQ6Om1pbihtX2NhcGFjaXR5LCBuZXdDYXBhY2l0eSkgPiAocmVh
bGxvY09uU2hyaW5rU2l6ZVRocmVzaG9sZCAtIDEpIC8gc2l6ZW9mKFQpOworI2Vsc2UKKyAgICAg
ICAgICAgIC8vIEZJWE1FOiBSZXR1cm4gdHJ1ZSB3aGVuIHJlYWxsb2MoKSBjYW4gZ2l2ZSBiZXR0
ZXIgcGVyZm9ybWFuY2UuCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKKyAgICAg
ICAgfQorCisgICAgICAgIHZvaWQgcmVhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkp
CisgICAgICAgIHsKKyAgICAgICAgICAgIEFTU0VSVChzaG91bGRSZWFsbG9jYXRlQnVmZmVyKG5l
d0NhcGFjaXR5KSk7CisgICAgICAgICAgICBtX2NhcGFjaXR5ID0gbmV3Q2FwYWNpdHk7CisgICAg
ICAgICAgICBpZiAobmV3Q2FwYWNpdHkgPiBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1h
eCgpIC8gc2l6ZW9mKFQpKQorICAgICAgICAgICAgICAgIENSQVNIKCk7CisgICAgICAgICAgICBt
X2J1ZmZlciA9IHN0YXRpY19jYXN0PFQqPihmYXN0UmVhbGxvYyhtX2J1ZmZlciwgbmV3Q2FwYWNp
dHkgKiBzaXplb2YoVCkpKTsKKyAgICAgICAgfQorCiAgICAgICAgIHZvaWQgZGVhbGxvY2F0ZUJ1
ZmZlcihUKiBidWZmZXJUb0RlYWxsb2NhdGUpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICgh
YnVmZmVyVG9EZWFsbG9jYXRlKQpAQCAtMzYyLDYgKzM4Myw4IEBAIG5hbWVzcGFjZSBXVEYgewog
CiAgICAgICAgIHVzaW5nIEJhc2U6OmFsbG9jYXRlQnVmZmVyOwogICAgICAgICB1c2luZyBCYXNl
Ojp0cnlBbGxvY2F0ZUJ1ZmZlcjsKKyAgICAgICAgdXNpbmcgQmFzZTo6c2hvdWxkUmVhbGxvY2F0
ZUJ1ZmZlcjsKKyAgICAgICAgdXNpbmcgQmFzZTo6cmVhbGxvY2F0ZUJ1ZmZlcjsKICAgICAgICAg
dXNpbmcgQmFzZTo6ZGVhbGxvY2F0ZUJ1ZmZlcjsKIAogICAgICAgICB1c2luZyBCYXNlOjpidWZm
ZXI7CkBAIC00MjMsNyArNDQ2LDE5IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgICAgIEJhc2U6OmRlYWxsb2NhdGVCdWZmZXIoYnVmZmVyVG9EZWFs
bG9jYXRlKTsKICAgICAgICAgfQotICAgICAgICAKKworICAgICAgICBib29sIHNob3VsZFJlYWxs
b2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KSBjb25zdAorICAgICAgICB7CisgICAgICAg
ICAgICAvLyBXZSBjYW5ub3QgcmVhbGxvY2F0ZSB0aGUgaW5saW5lIGJ1ZmZlci4KKyAgICAgICAg
ICAgIHJldHVybiBCYXNlOjpzaG91bGRSZWFsbG9jYXRlQnVmZmVyKG5ld0NhcGFjaXR5KSAmJiBz
dGQ6Om1pbihtX2NhcGFjaXR5LCBuZXdDYXBhY2l0eSkgPiBpbmxpbmVDYXBhY2l0eTsKKyAgICAg
ICAgfQorCisgICAgICAgIHZvaWQgcmVhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkp
CisgICAgICAgIHsKKyAgICAgICAgICAgIEFTU0VSVChzaG91bGRSZWFsbG9jYXRlQnVmZmVyKG5l
d0NhcGFjaXR5KSk7CisgICAgICAgICAgICBCYXNlOjpyZWFsbG9jYXRlQnVmZmVyKG5ld0NhcGFj
aXR5KTsKKyAgICAgICAgfQorCiAgICAgICAgIHZvaWQgc3dhcChWZWN0b3JCdWZmZXI8VCwgaW5s
aW5lQ2FwYWNpdHk+JiBvdGhlcikKICAgICAgICAgewogICAgICAgICAgICAgaWYgKGJ1ZmZlcigp
ID09IGlubGluZUJ1ZmZlcigpICYmIG90aGVyLmJ1ZmZlcigpID09IG90aGVyLmlubGluZUJ1ZmZl
cigpKSB7CkBAIC00NzAsNiArNTA1LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICAgICAgc3Rh
dGljIGNvbnN0IHNpemVfdCBtX2lubGluZUJ1ZmZlclNpemUgPSBpbmxpbmVDYXBhY2l0eSAqIHNp
emVvZihUKTsKICAgICAgICAgVCogaW5saW5lQnVmZmVyKCkgeyByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdF9wdHI8VCo+KG1faW5saW5lQnVmZmVyLmJ1ZmZlcik7IH0KKyAgICAgICAgY29uc3QgVCog
aW5saW5lQnVmZmVyKCkgY29uc3QgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdF9wdHI8Y29uc3Qg
VCo+KG1faW5saW5lQnVmZmVyLmJ1ZmZlcik7IH0KIAogICAgICAgICBBbGlnbmVkQnVmZmVyPG1f
aW5saW5lQnVmZmVyU2l6ZSwgV1RGX0FMSUdOX09GKFQpPiBtX2lubGluZUJ1ZmZlcjsKICAgICB9
OwpAQCAtOTY0LDYgKzEwMDAsMTEgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICAgICAgVCogb2xk
QnVmZmVyID0gYmVnaW4oKTsKICAgICAgICAgaWYgKG5ld0NhcGFjaXR5ID4gMCkgeworICAgICAg
ICAgICAgaWYgKG1fYnVmZmVyLnNob3VsZFJlYWxsb2NhdGVCdWZmZXIobmV3Q2FwYWNpdHkpKSB7
CisgICAgICAgICAgICAgICAgbV9idWZmZXIucmVhbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSk7
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBU
KiBvbGRFbmQgPSBlbmQoKTsKICAgICAgICAgICAgIG1fYnVmZmVyLmFsbG9jYXRlQnVmZmVyKG5l
d0NhcGFjaXR5KTsKICAgICAgICAgICAgIGlmIChiZWdpbigpICE9IG9sZEJ1ZmZlcikK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>161033</attachid>
            <date>2012-08-28 12:33:44 -0700</date>
            <delta_ts>2012-08-28 12:33:44 -0700</delta_ts>
            <desc>the test code I&apos;m using...</desc>
            <filename>94810vectortest.cpp</filename>
            <type>text/x-c++src</type>
            <size>1555</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ICAgICAgICBTdHJpbmcgcmVzdWx0OwogICAgICAgIHJlc3VsdC5hcHBlbmQod3JpdGVIZWFkZXIo
IlRlc3QiKSk7CgogICAgICAgIGRvdWJsZSBzdGFydCA9IGN1cnJlbnRUaW1lKCk7CiAgICAgICAg
Zm9yIChpbnQgaSA9IDA7IGkgPCAxMDAwMDA7ICsraSkgewogICAgICAgICAgICBWZWN0b3I8Y2hh
cj4gdmVjdG9yOwogICAgICAgICAgICB2ZWN0b3IucmVzZXJ2ZUNhcGFjaXR5KDEyOCk7CiAgICAg
ICAgICAgIHZlY3Rvci5yZXNpemUoNjQpOwogICAgICAgICAgICB2ZWN0b3Iuc2hyaW5rVG9GaXQo
KTsKICAgICAgICB9CiAgICAgICAgZG91YmxlIGVsYXBzZWQgPSBjdXJyZW50VGltZSgpIC0gc3Rh
cnQ7CiAgICAgICAgcmVzdWx0LmFwcGVuZChTdHJpbmcoIjxkaXY+IikgKyBTdHJpbmc6Om51bWJl
cihlbGFwc2VkKSArIFN0cmluZygiPC9kaXY+PGJyPiIpKTsKCiAgICAgICAgc3RhcnQgPSBjdXJy
ZW50VGltZSgpOwogICAgICAgIGZvciAoaW50IGkgPSAwOyBpIDwgMTAwMDAwOyArK2kpIHsKICAg
ICAgICAgICAgVmVjdG9yPGNoYXI+IHZlY3RvcjsKICAgICAgICAgICAgdmVjdG9yLnJlc2VydmVD
YXBhY2l0eSg1MTIpOwogICAgICAgICAgICB2ZWN0b3IucmVzaXplKDI1Nik7CiAgICAgICAgICAg
IHZlY3Rvci5zaHJpbmtUb0ZpdCgpOwogICAgICAgIH0KICAgICAgICBlbGFwc2VkID0gY3VycmVu
dFRpbWUoKSAtIHN0YXJ0OwogICAgICAgIHJlc3VsdC5hcHBlbmQoU3RyaW5nKCI8ZGl2PiIpICsg
U3RyaW5nOjpudW1iZXIoZWxhcHNlZCkgKyBTdHJpbmcoIjwvZGl2Pjxicj4iKSk7CgogICAgICAg
IHN0YXJ0ID0gY3VycmVudFRpbWUoKTsKICAgICAgICBmb3IgKGludCBpID0gMDsgaSA8IDEwMDAw
MDsgKytpKSB7CiAgICAgICAgICAgIFZlY3RvcjxjaGFyPiB2ZWN0b3I7CiAgICAgICAgICAgIHZl
Y3Rvci5yZXNlcnZlQ2FwYWNpdHkoMjA0OCk7CiAgICAgICAgICAgIHZlY3Rvci5yZXNpemUoMTAy
NCk7CiAgICAgICAgICAgIHZlY3Rvci5zaHJpbmtUb0ZpdCgpOwogICAgICAgIH0KICAgICAgICBl
bGFwc2VkID0gY3VycmVudFRpbWUoKSAtIHN0YXJ0OwogICAgICAgIHJlc3VsdC5hcHBlbmQoU3Ry
aW5nKCI8ZGl2PiIpICsgU3RyaW5nOjpudW1iZXIoZWxhcHNlZCkgKyBTdHJpbmcoIjwvZGl2Pjxi
cj4iKSk7CgogICAgICAgIHN0YXJ0ID0gY3VycmVudFRpbWUoKTsKICAgICAgICBmb3IgKGludCBp
ID0gMDsgaSA8IDEwMDAwMDsgKytpKSB7CiAgICAgICAgICAgIFZlY3RvcjxjaGFyPiB2ZWN0b3I7
CiAgICAgICAgICAgIHZlY3Rvci5yZXNlcnZlQ2FwYWNpdHkoODE5Mik7CiAgICAgICAgICAgIHZl
Y3Rvci5yZXNpemUoNDA5Nik7CiAgICAgICAgICAgIHZlY3Rvci5zaHJpbmtUb0ZpdCgpOwogICAg
ICAgIH0KICAgICAgICBlbGFwc2VkID0gY3VycmVudFRpbWUoKSAtIHN0YXJ0OwogICAgICAgIHJl
c3VsdC5hcHBlbmQoU3RyaW5nKCI8ZGl2PiIpICsgU3RyaW5nOjpudW1iZXIoZWxhcHNlZCkgKyBT
dHJpbmcoIjwvZGl2Pjxicj4iKSk7CgogICAgICAgIHJlc3VsdC5hcHBlbmQoU3RyaW5nKCI8L2Jv
ZHk+PC9odG1sPiIpKTsKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161042</attachid>
            <date>2012-08-28 12:52:58 -0700</date>
            <delta_ts>2012-08-29 08:37:19 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>94810.patch</filename>
            <type>text/plain</type>
            <size>4108</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggODA4NWVlZi4uZTczMzczOSAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNiBAQAorMjAxMi0wOC0yNyAg
WW9uZyBMaSAgPHlvbGlAcmltLmNvbT4KKworICAgICAgICBWZWN0b3I6OnNocmlua1RvRml0IHNo
b3VsZCB1c2UgcmVhbGxvYyB3aGVuIHN1aXRhYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ4MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBPbmx5IHRlc3RlZCBvbiBCbGFja0JlcnJ5LiBTbyBpdCBp
cyB3cmFwcGVkIHdpdGggUExBVEZPUk0oQkxBQ0tCRVJSWSkgYXQgdGhlIG1lYW4gdGltZS4KKyAg
ICAgICAgVXNlIHJlYWxsb2MgdG8gc2hyaW5rIGJ1ZmZlciB3aGVuIGl0IGlzIGNoYW5naW5nIGZy
b20gYSBsYXJnZSBtYWxsb2MgYnVmZmVyCisgICAgICAgIHRvIGFub3RoZXIgbGFyZ2Ugb25lICg+
IDFrKSwgYW5kIGNhbk1vdmVXaXRoTWVtY3B5IGlzIHRydWUuIFdoZW4gYSBWZWN0b3I8Y2hhcj4g
c2hyaW5rcworICAgICAgICBjYXBhY2l0eSBmcm9tIDJLIHRvIDFLLCB0aGlzIGdpdmVzIG1vcmUg
dGhhbiAxMHggdGltZXMgcGVyZm9ybWFuY2UgYm9vc3Qgb24gc2hyaW5rVG9GaXQoKQorICAgICAg
ICAoVGVzdGVkIG9uIEJsYWNrQmVycnkpLgorCisgICAgICAgICogd3RmL1ZlY3Rvci5oOgorICAg
ICAgICAoV1RGOjpWZWN0b3JCdWZmZXJCYXNlOjpzaG91bGRSZWFsbG9jYXRlQnVmZmVyKToKKyAg
ICAgICAgKFZlY3RvckJ1ZmZlckJhc2UpOgorICAgICAgICAoV1RGOjpWZWN0b3JCdWZmZXJCYXNl
OjpyZWFsbG9jYXRlQnVmZmVyKToKKyAgICAgICAgKFZlY3RvckJ1ZmZlcik6CisgICAgICAgIChX
VEY6OlZlY3RvckJ1ZmZlcjo6c2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcik6CisgICAgICAgIChXVEY6
OlZlY3RvckJ1ZmZlcjo6cmVhbGxvY2F0ZUJ1ZmZlcik6CisgICAgICAgIChXVEY6OlZlY3RvckJ1
ZmZlcjo6aW5saW5lQnVmZmVyKToKKyAgICAgICAgKFdURjo6OjpzaHJpbmtDYXBhY2l0eSk6CisK
IDIwMTItMDgtMjQgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAg
ICAgICAgIFRvdWNoIFBsYXRmb3JtLmggdG8gc29sdmUgYSBidWlsZCBkZXBlbmRlbmN5IGlzc3Vl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaCBiL1NvdXJjZS9XVEYvd3RmL1Zl
Y3Rvci5oCmluZGV4IGEzYjZhMGUuLjc0MmFjZjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3Rm
L1ZlY3Rvci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCkBAIC0yNzksNiArMjc5LDI2
IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9
CiAKKyAgICAgICAgYm9vbCBzaG91bGRSZWFsbG9jYXRlQnVmZmVyKHNpemVfdCBuZXdDYXBhY2l0
eSkgY29uc3QKKyAgICAgICAgeworI2lmIFBMQVRGT1JNKEJMQUNLQkVSUlkpCisgICAgICAgICAg
ICAvLyBUZXN0ZWQgb24gQmxhY2tCZXJyeS4KKyAgICAgICAgICAgIHJldHVybiBWZWN0b3JUcmFp
dHM8VD46OmNhbk1vdmVXaXRoTWVtY3B5ICYmIG1fY2FwYWNpdHkgJiYgbmV3Q2FwYWNpdHk7Cisj
ZWxzZQorICAgICAgICAgICAgLy8gRklYTUU6IFJldHVybiB0cnVlIHdoZW4gcmVhbGxvYygpIGNh
biBnaXZlIGJldHRlciBwZXJmb3JtYW5jZS4KKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyNl
bmRpZgorICAgICAgICB9CisKKyAgICAgICAgdm9pZCByZWFsbG9jYXRlQnVmZmVyKHNpemVfdCBu
ZXdDYXBhY2l0eSkKKyAgICAgICAgeworICAgICAgICAgICAgQVNTRVJUKHNob3VsZFJlYWxsb2Nh
dGVCdWZmZXIobmV3Q2FwYWNpdHkpKTsKKyAgICAgICAgICAgIG1fY2FwYWNpdHkgPSBuZXdDYXBh
Y2l0eTsKKyAgICAgICAgICAgIGlmIChuZXdDYXBhY2l0eSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8
c2l6ZV90Pjo6bWF4KCkgLyBzaXplb2YoVCkpCisgICAgICAgICAgICAgICAgQ1JBU0goKTsKKyAg
ICAgICAgICAgIG1fYnVmZmVyID0gc3RhdGljX2Nhc3Q8VCo+KGZhc3RSZWFsbG9jKG1fYnVmZmVy
LCBuZXdDYXBhY2l0eSAqIHNpemVvZihUKSkpOworICAgICAgICB9CisKICAgICAgICAgdm9pZCBk
ZWFsbG9jYXRlQnVmZmVyKFQqIGJ1ZmZlclRvRGVhbGxvY2F0ZSkKICAgICAgICAgewogICAgICAg
ICAgICAgaWYgKCFidWZmZXJUb0RlYWxsb2NhdGUpCkBAIC0zNjIsNiArMzgyLDggQEAgbmFtZXNw
YWNlIFdURiB7CiAKICAgICAgICAgdXNpbmcgQmFzZTo6YWxsb2NhdGVCdWZmZXI7CiAgICAgICAg
IHVzaW5nIEJhc2U6OnRyeUFsbG9jYXRlQnVmZmVyOworICAgICAgICB1c2luZyBCYXNlOjpzaG91
bGRSZWFsbG9jYXRlQnVmZmVyOworICAgICAgICB1c2luZyBCYXNlOjpyZWFsbG9jYXRlQnVmZmVy
OwogICAgICAgICB1c2luZyBCYXNlOjpkZWFsbG9jYXRlQnVmZmVyOwogCiAgICAgICAgIHVzaW5n
IEJhc2U6OmJ1ZmZlcjsKQEAgLTQyMyw3ICs0NDUsMTkgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAg
ICAgICAgICAgICAgcmV0dXJuOwogICAgICAgICAgICAgQmFzZTo6ZGVhbGxvY2F0ZUJ1ZmZlcihi
dWZmZXJUb0RlYWxsb2NhdGUpOwogICAgICAgICB9Ci0gICAgICAgIAorCisgICAgICAgIGJvb2wg
c2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpIGNvbnN0CisgICAgICAg
IHsKKyAgICAgICAgICAgIC8vIFdlIGNhbm5vdCByZWFsbG9jYXRlIHRoZSBpbmxpbmUgYnVmZmVy
LgorICAgICAgICAgICAgcmV0dXJuIEJhc2U6OnNob3VsZFJlYWxsb2NhdGVCdWZmZXIobmV3Q2Fw
YWNpdHkpICYmIHN0ZDo6bWluKG1fY2FwYWNpdHksIG5ld0NhcGFjaXR5KSA+IGlubGluZUNhcGFj
aXR5OworICAgICAgICB9CisKKyAgICAgICAgdm9pZCByZWFsbG9jYXRlQnVmZmVyKHNpemVfdCBu
ZXdDYXBhY2l0eSkKKyAgICAgICAgeworICAgICAgICAgICAgQVNTRVJUKHNob3VsZFJlYWxsb2Nh
dGVCdWZmZXIobmV3Q2FwYWNpdHkpKTsKKyAgICAgICAgICAgIEJhc2U6OnJlYWxsb2NhdGVCdWZm
ZXIobmV3Q2FwYWNpdHkpOworICAgICAgICB9CisKICAgICAgICAgdm9pZCBzd2FwKFZlY3RvckJ1
ZmZlcjxULCBpbmxpbmVDYXBhY2l0eT4mIG90aGVyKQogICAgICAgICB7CiAgICAgICAgICAgICBp
ZiAoYnVmZmVyKCkgPT0gaW5saW5lQnVmZmVyKCkgJiYgb3RoZXIuYnVmZmVyKCkgPT0gb3RoZXIu
aW5saW5lQnVmZmVyKCkpIHsKQEAgLTQ3MCw2ICs1MDQsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIAog
ICAgICAgICBzdGF0aWMgY29uc3Qgc2l6ZV90IG1faW5saW5lQnVmZmVyU2l6ZSA9IGlubGluZUNh
cGFjaXR5ICogc2l6ZW9mKFQpOwogICAgICAgICBUKiBpbmxpbmVCdWZmZXIoKSB7IHJldHVybiBy
ZWludGVycHJldF9jYXN0X3B0cjxUKj4obV9pbmxpbmVCdWZmZXIuYnVmZmVyKTsgfQorICAgICAg
ICBjb25zdCBUKiBpbmxpbmVCdWZmZXIoKSBjb25zdCB7IHJldHVybiByZWludGVycHJldF9jYXN0
X3B0cjxjb25zdCBUKj4obV9pbmxpbmVCdWZmZXIuYnVmZmVyKTsgfQogCiAgICAgICAgIEFsaWdu
ZWRCdWZmZXI8bV9pbmxpbmVCdWZmZXJTaXplLCBXVEZfQUxJR05fT0YoVCk+IG1faW5saW5lQnVm
ZmVyOwogICAgIH07CkBAIC05NjQsNiArOTk5LDExIEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAg
ICAgIFQqIG9sZEJ1ZmZlciA9IGJlZ2luKCk7CiAgICAgICAgIGlmIChuZXdDYXBhY2l0eSA+IDAp
IHsKKyAgICAgICAgICAgIGlmIChtX2J1ZmZlci5zaG91bGRSZWFsbG9jYXRlQnVmZmVyKG5ld0Nh
cGFjaXR5KSkgeworICAgICAgICAgICAgICAgIG1fYnVmZmVyLnJlYWxsb2NhdGVCdWZmZXIobmV3
Q2FwYWNpdHkpOworICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKwogICAg
ICAgICAgICAgVCogb2xkRW5kID0gZW5kKCk7CiAgICAgICAgICAgICBtX2J1ZmZlci5hbGxvY2F0
ZUJ1ZmZlcihuZXdDYXBhY2l0eSk7CiAgICAgICAgICAgICBpZiAoYmVnaW4oKSAhPSBvbGRCdWZm
ZXIpCg==
</data>
<flag name="review"
          id="171716"
          type_id="1"
          status="-"
          setter="benjamin"
    />
    <flag name="commit-queue"
          id="171796"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161235</attachid>
            <date>2012-08-29 08:37:19 -0700</date>
            <delta_ts>2012-08-29 09:33:49 -0700</delta_ts>
            <desc>Updated</desc>
            <filename>94810.patch</filename>
            <type>text/plain</type>
            <size>4269</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggODA4NWVlZi4uYWFlY2UwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMi0wOC0yNyAg
WW9uZyBMaSAgPHlvbGlAcmltLmNvbT4KKworICAgICAgICBWZWN0b3I6OnNocmlua1RvRml0IHNo
b3VsZCB1c2UgcmVhbGxvYyB3aGVuIHN1aXRhYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ4MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBPbmx5IHRlc3RlZCBvbiBCbGFja0JlcnJ5LiBTbyBpdCBp
cyB3cmFwcGVkIHdpdGggUExBVEZPUk0oQkxBQ0tCRVJSWSkgYXQgdGhlIG1lYW4gdGltZS4KKyAg
ICAgICAgVXNlIHJlYWxsb2MgdG8gc2hyaW5rIGJ1ZmZlciB3aGVuIGlubGluZSBidWZmZXIgaXNu
J3QgaW52b2x2ZWQgYW5kIGFuZCBjYW5Nb3ZlV2l0aE1lbWNweSBpcyB0cnVlLgorCisgICAgICAg
IFdoZW4gcnVubmluZyB0aGUgdGVzdCBjb2RlIGF0dGFjaGVkIHRvIHRoZSBidWcsIGl0IGdpdmVz
IDMwLTQ1JSBwZXJmb3JtYW5jZSBib29zdCBmb3IgdGhlIGxhcmdlIGJsb2NrcworICAgICAgICAo
RXZlcnkgdGVzdCBjeWNsZSBpbmNsdWRlcyBhbiBleHRyYSBwYWlyIG9mIG1hbGxvYy9mcmVlLCBz
byB0aGUgYm9vc3Qgb24gc2hyaW5rVG9GaXQoKSBpcyBldmVuIGJpZ2dlcikKKyAgICAgICAgUGVy
Zm9ybWFuY2UgaW1wYWN0IG9uIHNtYWxsIGJsb2NrcyBpcyBub3Qgbm90aWNlYWJsZS4gKFRlc3Rl
ZCBvbiBCbGFja0JlcnJ5KQorCisgICAgICAgICogd3RmL1ZlY3Rvci5oOgorICAgICAgICAoV1RG
OjpWZWN0b3JCdWZmZXJCYXNlOjpzaG91bGRSZWFsbG9jYXRlQnVmZmVyKToKKyAgICAgICAgKFZl
Y3RvckJ1ZmZlckJhc2UpOgorICAgICAgICAoV1RGOjpWZWN0b3JCdWZmZXJCYXNlOjpyZWFsbG9j
YXRlQnVmZmVyKToKKyAgICAgICAgKFZlY3RvckJ1ZmZlcik6CisgICAgICAgIChXVEY6OlZlY3Rv
ckJ1ZmZlcjo6c2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcik6CisgICAgICAgIChXVEY6OlZlY3RvckJ1
ZmZlcjo6cmVhbGxvY2F0ZUJ1ZmZlcik6CisgICAgICAgIChXVEY6OlZlY3RvckJ1ZmZlcjo6aW5s
aW5lQnVmZmVyKToKKyAgICAgICAgKFdURjo6OjpzaHJpbmtDYXBhY2l0eSk6CisKIDIwMTItMDgt
MjQgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFRv
dWNoIFBsYXRmb3JtLmggdG8gc29sdmUgYSBidWlsZCBkZXBlbmRlbmN5IGlzc3VlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaCBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCmlu
ZGV4IGEzYjZhMGUuLmRlZmE2YTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCkBAIC0yNzksNiArMjc5LDI3IEBAIG5hbWVz
cGFjZSBXVEYgewogICAgICAgICAgICAgcmV0dXJuIGZhbHNlOwogICAgICAgICB9CiAKKyAgICAg
ICAgYm9vbCBzaG91bGRSZWFsbG9jYXRlQnVmZmVyKHNpemVfdCBuZXdDYXBhY2l0eSkgY29uc3QK
KyAgICAgICAgeworI2lmIFBMQVRGT1JNKEJMQUNLQkVSUlkpCisgICAgICAgICAgICAvLyBUZXN0
ZWQgb24gQmxhY2tCZXJyeS4KKyAgICAgICAgICAgIHJldHVybiBWZWN0b3JUcmFpdHM8VD46OmNh
bk1vdmVXaXRoTWVtY3B5ICYmIG1fY2FwYWNpdHkgJiYgbmV3Q2FwYWNpdHk7CisjZWxzZQorICAg
ICAgICAgICAgLy8gRklYTUU6IFJldHVybiB0cnVlIG9uIHRoZSBwbGF0Zm9ybXMgd2hlcmUgcmVh
bGxvYygpIGdpdmVzIGJldHRlciBwZXJmb3JtYW5jZS4KKyAgICAgICAgICAgIFVOVVNFRF9QQVJB
TShuZXdDYXBhY2l0eSk7CisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKKyAgICAg
ICAgfQorCisgICAgICAgIHZvaWQgcmVhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkp
CisgICAgICAgIHsKKyAgICAgICAgICAgIEFTU0VSVChzaG91bGRSZWFsbG9jYXRlQnVmZmVyKG5l
d0NhcGFjaXR5KSk7CisgICAgICAgICAgICBtX2NhcGFjaXR5ID0gbmV3Q2FwYWNpdHk7CisgICAg
ICAgICAgICBpZiAobmV3Q2FwYWNpdHkgPiBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1h
eCgpIC8gc2l6ZW9mKFQpKQorICAgICAgICAgICAgICAgIENSQVNIKCk7CisgICAgICAgICAgICBt
X2J1ZmZlciA9IHN0YXRpY19jYXN0PFQqPihmYXN0UmVhbGxvYyhtX2J1ZmZlciwgbmV3Q2FwYWNp
dHkgKiBzaXplb2YoVCkpKTsKKyAgICAgICAgfQorCiAgICAgICAgIHZvaWQgZGVhbGxvY2F0ZUJ1
ZmZlcihUKiBidWZmZXJUb0RlYWxsb2NhdGUpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICgh
YnVmZmVyVG9EZWFsbG9jYXRlKQpAQCAtMzYyLDYgKzM4Myw4IEBAIG5hbWVzcGFjZSBXVEYgewog
CiAgICAgICAgIHVzaW5nIEJhc2U6OmFsbG9jYXRlQnVmZmVyOwogICAgICAgICB1c2luZyBCYXNl
Ojp0cnlBbGxvY2F0ZUJ1ZmZlcjsKKyAgICAgICAgdXNpbmcgQmFzZTo6c2hvdWxkUmVhbGxvY2F0
ZUJ1ZmZlcjsKKyAgICAgICAgdXNpbmcgQmFzZTo6cmVhbGxvY2F0ZUJ1ZmZlcjsKICAgICAgICAg
dXNpbmcgQmFzZTo6ZGVhbGxvY2F0ZUJ1ZmZlcjsKIAogICAgICAgICB1c2luZyBCYXNlOjpidWZm
ZXI7CkBAIC00MjMsNyArNDQ2LDE5IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgICAgIEJhc2U6OmRlYWxsb2NhdGVCdWZmZXIoYnVmZmVyVG9EZWFs
bG9jYXRlKTsKICAgICAgICAgfQotICAgICAgICAKKworICAgICAgICBib29sIHNob3VsZFJlYWxs
b2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KSBjb25zdAorICAgICAgICB7CisgICAgICAg
ICAgICAvLyBXZSBjYW5ub3QgcmVhbGxvY2F0ZSB0aGUgaW5saW5lIGJ1ZmZlci4KKyAgICAgICAg
ICAgIHJldHVybiBCYXNlOjpzaG91bGRSZWFsbG9jYXRlQnVmZmVyKG5ld0NhcGFjaXR5KSAmJiBz
dGQ6Om1pbihtX2NhcGFjaXR5LCBuZXdDYXBhY2l0eSkgPiBpbmxpbmVDYXBhY2l0eTsKKyAgICAg
ICAgfQorCisgICAgICAgIHZvaWQgcmVhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkp
CisgICAgICAgIHsKKyAgICAgICAgICAgIEFTU0VSVChzaG91bGRSZWFsbG9jYXRlQnVmZmVyKG5l
d0NhcGFjaXR5KSk7CisgICAgICAgICAgICBCYXNlOjpyZWFsbG9jYXRlQnVmZmVyKG5ld0NhcGFj
aXR5KTsKKyAgICAgICAgfQorCiAgICAgICAgIHZvaWQgc3dhcChWZWN0b3JCdWZmZXI8VCwgaW5s
aW5lQ2FwYWNpdHk+JiBvdGhlcikKICAgICAgICAgewogICAgICAgICAgICAgaWYgKGJ1ZmZlcigp
ID09IGlubGluZUJ1ZmZlcigpICYmIG90aGVyLmJ1ZmZlcigpID09IG90aGVyLmlubGluZUJ1ZmZl
cigpKSB7CkBAIC00NzAsNiArNTA1LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICAgICAgc3Rh
dGljIGNvbnN0IHNpemVfdCBtX2lubGluZUJ1ZmZlclNpemUgPSBpbmxpbmVDYXBhY2l0eSAqIHNp
emVvZihUKTsKICAgICAgICAgVCogaW5saW5lQnVmZmVyKCkgeyByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdF9wdHI8VCo+KG1faW5saW5lQnVmZmVyLmJ1ZmZlcik7IH0KKyAgICAgICAgY29uc3QgVCog
aW5saW5lQnVmZmVyKCkgY29uc3QgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdF9wdHI8Y29uc3Qg
VCo+KG1faW5saW5lQnVmZmVyLmJ1ZmZlcik7IH0KIAogICAgICAgICBBbGlnbmVkQnVmZmVyPG1f
aW5saW5lQnVmZmVyU2l6ZSwgV1RGX0FMSUdOX09GKFQpPiBtX2lubGluZUJ1ZmZlcjsKICAgICB9
OwpAQCAtOTY0LDYgKzEwMDAsMTEgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICAgICAgVCogb2xk
QnVmZmVyID0gYmVnaW4oKTsKICAgICAgICAgaWYgKG5ld0NhcGFjaXR5ID4gMCkgeworICAgICAg
ICAgICAgaWYgKG1fYnVmZmVyLnNob3VsZFJlYWxsb2NhdGVCdWZmZXIobmV3Q2FwYWNpdHkpKSB7
CisgICAgICAgICAgICAgICAgbV9idWZmZXIucmVhbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSk7
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBU
KiBvbGRFbmQgPSBlbmQoKTsKICAgICAgICAgICAgIG1fYnVmZmVyLmFsbG9jYXRlQnVmZmVyKG5l
d0NhcGFjaXR5KTsKICAgICAgICAgICAgIGlmIChiZWdpbigpICE9IG9sZEJ1ZmZlcikK
</data>
<flag name="commit-queue"
          id="171979"
          type_id="3"
          status="-"
          setter="buildbot"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161248</attachid>
            <date>2012-08-29 09:35:43 -0700</date>
            <delta_ts>2012-08-29 11:16:55 -0700</delta_ts>
            <desc>try again</desc>
            <filename>94810.patch</filename>
            <type>text/plain</type>
            <size>4497</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggODA4NWVlZi4uYWFlY2UwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMi0wOC0yNyAg
WW9uZyBMaSAgPHlvbGlAcmltLmNvbT4KKworICAgICAgICBWZWN0b3I6OnNocmlua1RvRml0IHNo
b3VsZCB1c2UgcmVhbGxvYyB3aGVuIHN1aXRhYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ4MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBPbmx5IHRlc3RlZCBvbiBCbGFja0JlcnJ5LiBTbyBpdCBp
cyB3cmFwcGVkIHdpdGggUExBVEZPUk0oQkxBQ0tCRVJSWSkgYXQgdGhlIG1lYW4gdGltZS4KKyAg
ICAgICAgVXNlIHJlYWxsb2MgdG8gc2hyaW5rIGJ1ZmZlciB3aGVuIGlubGluZSBidWZmZXIgaXNu
J3QgaW52b2x2ZWQgYW5kIGFuZCBjYW5Nb3ZlV2l0aE1lbWNweSBpcyB0cnVlLgorCisgICAgICAg
IFdoZW4gcnVubmluZyB0aGUgdGVzdCBjb2RlIGF0dGFjaGVkIHRvIHRoZSBidWcsIGl0IGdpdmVz
IDMwLTQ1JSBwZXJmb3JtYW5jZSBib29zdCBmb3IgdGhlIGxhcmdlIGJsb2NrcworICAgICAgICAo
RXZlcnkgdGVzdCBjeWNsZSBpbmNsdWRlcyBhbiBleHRyYSBwYWlyIG9mIG1hbGxvYy9mcmVlLCBz
byB0aGUgYm9vc3Qgb24gc2hyaW5rVG9GaXQoKSBpcyBldmVuIGJpZ2dlcikKKyAgICAgICAgUGVy
Zm9ybWFuY2UgaW1wYWN0IG9uIHNtYWxsIGJsb2NrcyBpcyBub3Qgbm90aWNlYWJsZS4gKFRlc3Rl
ZCBvbiBCbGFja0JlcnJ5KQorCisgICAgICAgICogd3RmL1ZlY3Rvci5oOgorICAgICAgICAoV1RG
OjpWZWN0b3JCdWZmZXJCYXNlOjpzaG91bGRSZWFsbG9jYXRlQnVmZmVyKToKKyAgICAgICAgKFZl
Y3RvckJ1ZmZlckJhc2UpOgorICAgICAgICAoV1RGOjpWZWN0b3JCdWZmZXJCYXNlOjpyZWFsbG9j
YXRlQnVmZmVyKToKKyAgICAgICAgKFZlY3RvckJ1ZmZlcik6CisgICAgICAgIChXVEY6OlZlY3Rv
ckJ1ZmZlcjo6c2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcik6CisgICAgICAgIChXVEY6OlZlY3RvckJ1
ZmZlcjo6cmVhbGxvY2F0ZUJ1ZmZlcik6CisgICAgICAgIChXVEY6OlZlY3RvckJ1ZmZlcjo6aW5s
aW5lQnVmZmVyKToKKyAgICAgICAgKFdURjo6OjpzaHJpbmtDYXBhY2l0eSk6CisKIDIwMTItMDgt
MjQgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFRv
dWNoIFBsYXRmb3JtLmggdG8gc29sdmUgYSBidWlsZCBkZXBlbmRlbmN5IGlzc3VlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaCBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCmlu
ZGV4IGEzYjZhMGUuLjNiMzc2OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL05vdEZvdW5kLmg+CiAjaW5jbHVk
ZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogI2lu
Y2x1ZGUgPHd0Zi9WYWx1ZUNoZWNrLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3RvclRyYWl0cy5oPgog
I2luY2x1ZGUgPGxpbWl0cz4KQEAgLTI3OSw2ICsyODAsMjcgQEAgbmFtZXNwYWNlIFdURiB7CiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIAorICAgICAgICBib29sIHNob3Vs
ZFJlYWxsb2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KSBjb25zdAorICAgICAgICB7Cisj
aWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkKKyAgICAgICAgICAgIC8vIFRlc3RlZCBvbiBCbGFja0Jl
cnJ5LgorICAgICAgICAgICAgcmV0dXJuIFZlY3RvclRyYWl0czxUPjo6Y2FuTW92ZVdpdGhNZW1j
cHkgJiYgbV9jYXBhY2l0eSAmJiBuZXdDYXBhY2l0eTsKKyNlbHNlCisgICAgICAgICAgICAvLyBG
SVhNRTogUmV0dXJuIHRydWUgb24gdGhlIHBsYXRmb3JtcyB3aGVyZSByZWFsbG9jKCkgZ2l2ZXMg
YmV0dGVyIHBlcmZvcm1hbmNlLgorICAgICAgICAgICAgVU5VU0VEX1BBUkFNKG5ld0NhcGFjaXR5
KTsKKyAgICAgICAgICAgIHJldHVybiBuZXdDYXBhY2l0eSwgZmFsc2U7CisjZW5kaWYKKyAgICAg
ICAgfQorCisgICAgICAgIHZvaWQgcmVhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkp
CisgICAgICAgIHsKKyAgICAgICAgICAgIEFTU0VSVChzaG91bGRSZWFsbG9jYXRlQnVmZmVyKG5l
d0NhcGFjaXR5KSk7CisgICAgICAgICAgICBtX2NhcGFjaXR5ID0gbmV3Q2FwYWNpdHk7CisgICAg
ICAgICAgICBpZiAobmV3Q2FwYWNpdHkgPiBzdGQ6Om51bWVyaWNfbGltaXRzPHNpemVfdD46Om1h
eCgpIC8gc2l6ZW9mKFQpKQorICAgICAgICAgICAgICAgIENSQVNIKCk7CisgICAgICAgICAgICBt
X2J1ZmZlciA9IHN0YXRpY19jYXN0PFQqPihmYXN0UmVhbGxvYyhtX2J1ZmZlciwgbmV3Q2FwYWNp
dHkgKiBzaXplb2YoVCkpKTsKKyAgICAgICAgfQorCiAgICAgICAgIHZvaWQgZGVhbGxvY2F0ZUJ1
ZmZlcihUKiBidWZmZXJUb0RlYWxsb2NhdGUpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmICgh
YnVmZmVyVG9EZWFsbG9jYXRlKQpAQCAtMzYyLDYgKzM4NCw4IEBAIG5hbWVzcGFjZSBXVEYgewog
CiAgICAgICAgIHVzaW5nIEJhc2U6OmFsbG9jYXRlQnVmZmVyOwogICAgICAgICB1c2luZyBCYXNl
Ojp0cnlBbGxvY2F0ZUJ1ZmZlcjsKKyAgICAgICAgdXNpbmcgQmFzZTo6c2hvdWxkUmVhbGxvY2F0
ZUJ1ZmZlcjsKKyAgICAgICAgdXNpbmcgQmFzZTo6cmVhbGxvY2F0ZUJ1ZmZlcjsKICAgICAgICAg
dXNpbmcgQmFzZTo6ZGVhbGxvY2F0ZUJ1ZmZlcjsKIAogICAgICAgICB1c2luZyBCYXNlOjpidWZm
ZXI7CkBAIC00MjMsNyArNDQ3LDE5IEBAIG5hbWVzcGFjZSBXVEYgewogICAgICAgICAgICAgICAg
IHJldHVybjsKICAgICAgICAgICAgIEJhc2U6OmRlYWxsb2NhdGVCdWZmZXIoYnVmZmVyVG9EZWFs
bG9jYXRlKTsKICAgICAgICAgfQotICAgICAgICAKKworICAgICAgICBib29sIHNob3VsZFJlYWxs
b2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KSBjb25zdAorICAgICAgICB7CisgICAgICAg
ICAgICAvLyBXZSBjYW5ub3QgcmVhbGxvY2F0ZSB0aGUgaW5saW5lIGJ1ZmZlci4KKyAgICAgICAg
ICAgIHJldHVybiBCYXNlOjpzaG91bGRSZWFsbG9jYXRlQnVmZmVyKG5ld0NhcGFjaXR5KSAmJiBz
dGQ6Om1pbihtX2NhcGFjaXR5LCBuZXdDYXBhY2l0eSkgPiBpbmxpbmVDYXBhY2l0eTsKKyAgICAg
ICAgfQorCisgICAgICAgIHZvaWQgcmVhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkp
CisgICAgICAgIHsKKyAgICAgICAgICAgIEFTU0VSVChzaG91bGRSZWFsbG9jYXRlQnVmZmVyKG5l
d0NhcGFjaXR5KSk7CisgICAgICAgICAgICBCYXNlOjpyZWFsbG9jYXRlQnVmZmVyKG5ld0NhcGFj
aXR5KTsKKyAgICAgICAgfQorCiAgICAgICAgIHZvaWQgc3dhcChWZWN0b3JCdWZmZXI8VCwgaW5s
aW5lQ2FwYWNpdHk+JiBvdGhlcikKICAgICAgICAgewogICAgICAgICAgICAgaWYgKGJ1ZmZlcigp
ID09IGlubGluZUJ1ZmZlcigpICYmIG90aGVyLmJ1ZmZlcigpID09IG90aGVyLmlubGluZUJ1ZmZl
cigpKSB7CkBAIC00NzAsNiArNTA2LDcgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICAgICAgc3Rh
dGljIGNvbnN0IHNpemVfdCBtX2lubGluZUJ1ZmZlclNpemUgPSBpbmxpbmVDYXBhY2l0eSAqIHNp
emVvZihUKTsKICAgICAgICAgVCogaW5saW5lQnVmZmVyKCkgeyByZXR1cm4gcmVpbnRlcnByZXRf
Y2FzdF9wdHI8VCo+KG1faW5saW5lQnVmZmVyLmJ1ZmZlcik7IH0KKyAgICAgICAgY29uc3QgVCog
aW5saW5lQnVmZmVyKCkgY29uc3QgeyByZXR1cm4gcmVpbnRlcnByZXRfY2FzdF9wdHI8Y29uc3Qg
VCo+KG1faW5saW5lQnVmZmVyLmJ1ZmZlcik7IH0KIAogICAgICAgICBBbGlnbmVkQnVmZmVyPG1f
aW5saW5lQnVmZmVyU2l6ZSwgV1RGX0FMSUdOX09GKFQpPiBtX2lubGluZUJ1ZmZlcjsKICAgICB9
OwpAQCAtOTY0LDYgKzEwMDEsMTEgQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICAgICAgVCogb2xk
QnVmZmVyID0gYmVnaW4oKTsKICAgICAgICAgaWYgKG5ld0NhcGFjaXR5ID4gMCkgeworICAgICAg
ICAgICAgaWYgKG1fYnVmZmVyLnNob3VsZFJlYWxsb2NhdGVCdWZmZXIobmV3Q2FwYWNpdHkpKSB7
CisgICAgICAgICAgICAgICAgbV9idWZmZXIucmVhbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSk7
CisgICAgICAgICAgICAgICAgcmV0dXJuOworICAgICAgICAgICAgfQorCiAgICAgICAgICAgICBU
KiBvbGRFbmQgPSBlbmQoKTsKICAgICAgICAgICAgIG1fYnVmZmVyLmFsbG9jYXRlQnVmZmVyKG5l
d0NhcGFjaXR5KTsKICAgICAgICAgICAgIGlmIChiZWdpbigpICE9IG9sZEJ1ZmZlcikK
</data>
<flag name="commit-queue"
          id="172009"
          type_id="3"
          status="-"
          setter="peter+ews"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161271</attachid>
            <date>2012-08-29 11:16:55 -0700</date>
            <delta_ts>2012-08-30 10:09:25 -0700</delta_ts>
            <desc>Again</desc>
            <filename>94810.patch</filename>
            <type>text/plain</type>
            <size>4484</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggODA4NWVlZi4uYWFlY2UwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMi0wOC0yNyAg
WW9uZyBMaSAgPHlvbGlAcmltLmNvbT4KKworICAgICAgICBWZWN0b3I6OnNocmlua1RvRml0IHNo
b3VsZCB1c2UgcmVhbGxvYyB3aGVuIHN1aXRhYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ4MTAKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBPbmx5IHRlc3RlZCBvbiBCbGFja0JlcnJ5LiBTbyBpdCBp
cyB3cmFwcGVkIHdpdGggUExBVEZPUk0oQkxBQ0tCRVJSWSkgYXQgdGhlIG1lYW4gdGltZS4KKyAg
ICAgICAgVXNlIHJlYWxsb2MgdG8gc2hyaW5rIGJ1ZmZlciB3aGVuIGlubGluZSBidWZmZXIgaXNu
J3QgaW52b2x2ZWQgYW5kIGFuZCBjYW5Nb3ZlV2l0aE1lbWNweSBpcyB0cnVlLgorCisgICAgICAg
IFdoZW4gcnVubmluZyB0aGUgdGVzdCBjb2RlIGF0dGFjaGVkIHRvIHRoZSBidWcsIGl0IGdpdmVz
IDMwLTQ1JSBwZXJmb3JtYW5jZSBib29zdCBmb3IgdGhlIGxhcmdlIGJsb2NrcworICAgICAgICAo
RXZlcnkgdGVzdCBjeWNsZSBpbmNsdWRlcyBhbiBleHRyYSBwYWlyIG9mIG1hbGxvYy9mcmVlLCBz
byB0aGUgYm9vc3Qgb24gc2hyaW5rVG9GaXQoKSBpcyBldmVuIGJpZ2dlcikKKyAgICAgICAgUGVy
Zm9ybWFuY2UgaW1wYWN0IG9uIHNtYWxsIGJsb2NrcyBpcyBub3Qgbm90aWNlYWJsZS4gKFRlc3Rl
ZCBvbiBCbGFja0JlcnJ5KQorCisgICAgICAgICogd3RmL1ZlY3Rvci5oOgorICAgICAgICAoV1RG
OjpWZWN0b3JCdWZmZXJCYXNlOjpzaG91bGRSZWFsbG9jYXRlQnVmZmVyKToKKyAgICAgICAgKFZl
Y3RvckJ1ZmZlckJhc2UpOgorICAgICAgICAoV1RGOjpWZWN0b3JCdWZmZXJCYXNlOjpyZWFsbG9j
YXRlQnVmZmVyKToKKyAgICAgICAgKFZlY3RvckJ1ZmZlcik6CisgICAgICAgIChXVEY6OlZlY3Rv
ckJ1ZmZlcjo6c2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcik6CisgICAgICAgIChXVEY6OlZlY3RvckJ1
ZmZlcjo6cmVhbGxvY2F0ZUJ1ZmZlcik6CisgICAgICAgIChXVEY6OlZlY3RvckJ1ZmZlcjo6aW5s
aW5lQnVmZmVyKToKKyAgICAgICAgKFdURjo6OjpzaHJpbmtDYXBhY2l0eSk6CisKIDIwMTItMDgt
MjQgIEJlbmphbWluIFBvdWxhaW4gIDxiZW5qYW1pbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFRv
dWNoIFBsYXRmb3JtLmggdG8gc29sdmUgYSBidWlsZCBkZXBlbmRlbmN5IGlzc3VlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9WZWN0b3IuaCBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCmlu
ZGV4IGEzYjZhMGUuLjNiMzc2OWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5o
CisrKyBiL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oCkBAIC0yNiw2ICsyNiw3IEBACiAjaW5jbHVk
ZSA8d3RmL05vbmNvcHlhYmxlLmg+CiAjaW5jbHVkZSA8d3RmL05vdEZvdW5kLmg+CiAjaW5jbHVk
ZSA8d3RmL1N0ZExpYkV4dHJhcy5oPgorI2luY2x1ZGUgPHd0Zi9VbnVzZWRQYXJhbS5oPgogI2lu
Y2x1ZGUgPHd0Zi9WYWx1ZUNoZWNrLmg+CiAjaW5jbHVkZSA8d3RmL1ZlY3RvclRyYWl0cy5oPgog
I2luY2x1ZGUgPGxpbWl0cz4KQEAgLTI3OSw2ICsyODAsMjcgQEAgbmFtZXNwYWNlIFdURiB7CiAg
ICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAgICAgIH0KIAorICAgICAgICBib29sIHNob3Vs
ZFJlYWxsb2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KSBjb25zdAorICAgICAgICB7Cisj
aWYgUExBVEZPUk0oQkxBQ0tCRVJSWSkKKyAgICAgICAgICAgIC8vIFRlc3RlZCBvbiBCbGFja0Jl
cnJ5LgorICAgICAgICAgICAgcmV0dXJuIFZlY3RvclRyYWl0czxUPjo6Y2FuTW92ZVdpdGhNZW1j
cHkgJiYgbV9jYXBhY2l0eSAmJiBuZXdDYXBhY2l0eTsKKyNlbHNlCisgICAgICAgICAgICAvLyBG
SVhNRTogUmV0dXJuIHRydWUgb24gdGhlIHBsYXRmb3JtcyB3aGVyZSByZWFsbG9jKCkgZ2l2ZXMg
YmV0dGVyIHBlcmZvcm1hbmNlLgorICAgICAgICAgICAgVU5VU0VEX1BBUkFNKG5ld0NhcGFjaXR5
KTsKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyNlbmRpZgorICAgICAgICB9CisKKyAgICAg
ICAgdm9pZCByZWFsbG9jYXRlQnVmZmVyKHNpemVfdCBuZXdDYXBhY2l0eSkKKyAgICAgICAgewor
ICAgICAgICAgICAgQVNTRVJUKHNob3VsZFJlYWxsb2NhdGVCdWZmZXIobmV3Q2FwYWNpdHkpKTsK
KyAgICAgICAgICAgIG1fY2FwYWNpdHkgPSBuZXdDYXBhY2l0eTsKKyAgICAgICAgICAgIGlmIChu
ZXdDYXBhY2l0eSA+IHN0ZDo6bnVtZXJpY19saW1pdHM8c2l6ZV90Pjo6bWF4KCkgLyBzaXplb2Yo
VCkpCisgICAgICAgICAgICAgICAgQ1JBU0goKTsKKyAgICAgICAgICAgIG1fYnVmZmVyID0gc3Rh
dGljX2Nhc3Q8VCo+KGZhc3RSZWFsbG9jKG1fYnVmZmVyLCBuZXdDYXBhY2l0eSAqIHNpemVvZihU
KSkpOworICAgICAgICB9CisKICAgICAgICAgdm9pZCBkZWFsbG9jYXRlQnVmZmVyKFQqIGJ1ZmZl
clRvRGVhbGxvY2F0ZSkKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCFidWZmZXJUb0RlYWxs
b2NhdGUpCkBAIC0zNjIsNiArMzg0LDggQEAgbmFtZXNwYWNlIFdURiB7CiAKICAgICAgICAgdXNp
bmcgQmFzZTo6YWxsb2NhdGVCdWZmZXI7CiAgICAgICAgIHVzaW5nIEJhc2U6OnRyeUFsbG9jYXRl
QnVmZmVyOworICAgICAgICB1c2luZyBCYXNlOjpzaG91bGRSZWFsbG9jYXRlQnVmZmVyOworICAg
ICAgICB1c2luZyBCYXNlOjpyZWFsbG9jYXRlQnVmZmVyOwogICAgICAgICB1c2luZyBCYXNlOjpk
ZWFsbG9jYXRlQnVmZmVyOwogCiAgICAgICAgIHVzaW5nIEJhc2U6OmJ1ZmZlcjsKQEAgLTQyMyw3
ICs0NDcsMTkgQEAgbmFtZXNwYWNlIFdURiB7CiAgICAgICAgICAgICAgICAgcmV0dXJuOwogICAg
ICAgICAgICAgQmFzZTo6ZGVhbGxvY2F0ZUJ1ZmZlcihidWZmZXJUb0RlYWxsb2NhdGUpOwogICAg
ICAgICB9Ci0gICAgICAgIAorCisgICAgICAgIGJvb2wgc2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcihz
aXplX3QgbmV3Q2FwYWNpdHkpIGNvbnN0CisgICAgICAgIHsKKyAgICAgICAgICAgIC8vIFdlIGNh
bm5vdCByZWFsbG9jYXRlIHRoZSBpbmxpbmUgYnVmZmVyLgorICAgICAgICAgICAgcmV0dXJuIEJh
c2U6OnNob3VsZFJlYWxsb2NhdGVCdWZmZXIobmV3Q2FwYWNpdHkpICYmIHN0ZDo6bWluKG1fY2Fw
YWNpdHksIG5ld0NhcGFjaXR5KSA+IGlubGluZUNhcGFjaXR5OworICAgICAgICB9CisKKyAgICAg
ICAgdm9pZCByZWFsbG9jYXRlQnVmZmVyKHNpemVfdCBuZXdDYXBhY2l0eSkKKyAgICAgICAgewor
ICAgICAgICAgICAgQVNTRVJUKHNob3VsZFJlYWxsb2NhdGVCdWZmZXIobmV3Q2FwYWNpdHkpKTsK
KyAgICAgICAgICAgIEJhc2U6OnJlYWxsb2NhdGVCdWZmZXIobmV3Q2FwYWNpdHkpOworICAgICAg
ICB9CisKICAgICAgICAgdm9pZCBzd2FwKFZlY3RvckJ1ZmZlcjxULCBpbmxpbmVDYXBhY2l0eT4m
IG90aGVyKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoYnVmZmVyKCkgPT0gaW5saW5lQnVm
ZmVyKCkgJiYgb3RoZXIuYnVmZmVyKCkgPT0gb3RoZXIuaW5saW5lQnVmZmVyKCkpIHsKQEAgLTQ3
MCw2ICs1MDYsNyBAQCBuYW1lc3BhY2UgV1RGIHsKIAogICAgICAgICBzdGF0aWMgY29uc3Qgc2l6
ZV90IG1faW5saW5lQnVmZmVyU2l6ZSA9IGlubGluZUNhcGFjaXR5ICogc2l6ZW9mKFQpOwogICAg
ICAgICBUKiBpbmxpbmVCdWZmZXIoKSB7IHJldHVybiByZWludGVycHJldF9jYXN0X3B0cjxUKj4o
bV9pbmxpbmVCdWZmZXIuYnVmZmVyKTsgfQorICAgICAgICBjb25zdCBUKiBpbmxpbmVCdWZmZXIo
KSBjb25zdCB7IHJldHVybiByZWludGVycHJldF9jYXN0X3B0cjxjb25zdCBUKj4obV9pbmxpbmVC
dWZmZXIuYnVmZmVyKTsgfQogCiAgICAgICAgIEFsaWduZWRCdWZmZXI8bV9pbmxpbmVCdWZmZXJT
aXplLCBXVEZfQUxJR05fT0YoVCk+IG1faW5saW5lQnVmZmVyOwogICAgIH07CkBAIC05NjQsNiAr
MTAwMSwxMSBAQCBuYW1lc3BhY2UgV1RGIHsKIAogICAgICAgICBUKiBvbGRCdWZmZXIgPSBiZWdp
bigpOwogICAgICAgICBpZiAobmV3Q2FwYWNpdHkgPiAwKSB7CisgICAgICAgICAgICBpZiAobV9i
dWZmZXIuc2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSkpIHsKKyAgICAgICAgICAg
ICAgICBtX2J1ZmZlci5yZWFsbG9jYXRlQnVmZmVyKG5ld0NhcGFjaXR5KTsKKyAgICAgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgICAgICB9CisKICAgICAgICAgICAgIFQqIG9sZEVuZCA9IGVu
ZCgpOwogICAgICAgICAgICAgbV9idWZmZXIuYWxsb2NhdGVCdWZmZXIobmV3Q2FwYWNpdHkpOwog
ICAgICAgICAgICAgaWYgKGJlZ2luKCkgIT0gb2xkQnVmZmVyKQo=
</data>
<flag name="review"
          id="172013"
          type_id="1"
          status="+"
          setter="benjamin"
    />
    <flag name="commit-queue"
          id="172325"
          type_id="3"
          status="-"
          setter="benjamin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>161504</attachid>
            <date>2012-08-30 10:09:25 -0700</date>
            <delta_ts>2012-08-30 13:51:45 -0700</delta_ts>
            <desc>To commit (see if GTK can build now)</desc>
            <filename>94810.patch</filename>
            <type>text/plain</type>
            <size>4486</size>
            <attacher name="Yong Li">yong.li.webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nIGIvU291cmNlL1dURi9DaGFuZ2VMb2cK
aW5kZXggODA4NWVlZi4uYWFlY2UwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi9DaGFuZ2VMb2cK
KysrIGIvU291cmNlL1dURi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxMi0wOC0yNyAg
WW9uZyBMaSAgPHlvbGlAcmltLmNvbT4KKworICAgICAgICBWZWN0b3I6OnNocmlua1RvRml0IHNo
b3VsZCB1c2UgcmVhbGxvYyB3aGVuIHN1aXRhYmxlLgorICAgICAgICBodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ4MTAKKworICAgICAgICBSZXZpZXdlZCBieSBCZW5q
YW1pbiBQb3VsYWluLgorCisgICAgICAgIE9ubHkgdGVzdGVkIG9uIEJsYWNrQmVycnkuIFNvIGl0
IGlzIHdyYXBwZWQgd2l0aCBQTEFURk9STShCTEFDS0JFUlJZKSBpbiB0aGUgbWVhbiB0aW1lLgor
ICAgICAgICBVc2UgcmVhbGxvYyB0byBzaHJpbmsgYnVmZmVyIHdoZW4gaW5saW5lIGJ1ZmZlciBp
c24ndCBpbnZvbHZlZCBhbmQgYW5kIGNhbk1vdmVXaXRoTWVtY3B5IGlzIHRydWUuCisKKyAgICAg
ICAgV2hlbiBydW5uaW5nIHRoZSB0ZXN0IGNvZGUgYXR0YWNoZWQgdG8gdGhlIGJ1ZywgaXQgZ2l2
ZXMgMzAtNDUlIHBlcmZvcm1hbmNlIGJvb3N0IGZvciB0aGUgbGFyZ2UgYmxvY2tzCisgICAgICAg
IChFdmVyeSB0ZXN0IGN5Y2xlIGluY2x1ZGVzIGFuIGV4dHJhIHBhaXIgb2YgbWFsbG9jL2ZyZWUs
IHNvIHRoZSBib29zdCBvbiBzaHJpbmtUb0ZpdCgpIGlzIGV2ZW4gYmlnZ2VyKQorICAgICAgICBQ
ZXJmb3JtYW5jZSBpbXBhY3Qgb24gc21hbGwgYmxvY2tzIGlzIG5vdCBub3RpY2VhYmxlLiAoVGVz
dGVkIG9uIEJsYWNrQmVycnkpCisKKyAgICAgICAgKiB3dGYvVmVjdG9yLmg6CisgICAgICAgIChX
VEY6OlZlY3RvckJ1ZmZlckJhc2U6OnNob3VsZFJlYWxsb2NhdGVCdWZmZXIpOgorICAgICAgICAo
VmVjdG9yQnVmZmVyQmFzZSk6CisgICAgICAgIChXVEY6OlZlY3RvckJ1ZmZlckJhc2U6OnJlYWxs
b2NhdGVCdWZmZXIpOgorICAgICAgICAoVmVjdG9yQnVmZmVyKToKKyAgICAgICAgKFdURjo6VmVj
dG9yQnVmZmVyOjpzaG91bGRSZWFsbG9jYXRlQnVmZmVyKToKKyAgICAgICAgKFdURjo6VmVjdG9y
QnVmZmVyOjpyZWFsbG9jYXRlQnVmZmVyKToKKyAgICAgICAgKFdURjo6VmVjdG9yQnVmZmVyOjpp
bmxpbmVCdWZmZXIpOgorICAgICAgICAoV1RGOjo6OnNocmlua0NhcGFjaXR5KToKKwogMjAxMi0w
OC0yNCAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
VG91Y2ggUGxhdGZvcm0uaCB0byBzb2x2ZSBhIGJ1aWxkIGRlcGVuZGVuY3kgaXNzdWUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XVEYvd3RmL1ZlY3Rvci5oIGIvU291cmNlL1dURi93dGYvVmVjdG9yLmgK
aW5kZXggYTNiNmEwZS4uM2IzNzY5YyAxMDA2NDQKLS0tIGEvU291cmNlL1dURi93dGYvVmVjdG9y
LmgKKysrIGIvU291cmNlL1dURi93dGYvVmVjdG9yLmgKQEAgLTI2LDYgKzI2LDcgQEAKICNpbmNs
dWRlIDx3dGYvTm9uY29weWFibGUuaD4KICNpbmNsdWRlIDx3dGYvTm90Rm91bmQuaD4KICNpbmNs
dWRlIDx3dGYvU3RkTGliRXh0cmFzLmg+CisjaW5jbHVkZSA8d3RmL1VudXNlZFBhcmFtLmg+CiAj
aW5jbHVkZSA8d3RmL1ZhbHVlQ2hlY2suaD4KICNpbmNsdWRlIDx3dGYvVmVjdG9yVHJhaXRzLmg+
CiAjaW5jbHVkZSA8bGltaXRzPgpAQCAtMjc5LDYgKzI4MCwyNyBAQCBuYW1lc3BhY2UgV1RGIHsK
ICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKICAgICAgICAgfQogCisgICAgICAgIGJvb2wgc2hv
dWxkUmVhbGxvY2F0ZUJ1ZmZlcihzaXplX3QgbmV3Q2FwYWNpdHkpIGNvbnN0CisgICAgICAgIHsK
KyNpZiBQTEFURk9STShCTEFDS0JFUlJZKQorICAgICAgICAgICAgLy8gVGVzdGVkIG9uIEJsYWNr
QmVycnkuCisgICAgICAgICAgICByZXR1cm4gVmVjdG9yVHJhaXRzPFQ+OjpjYW5Nb3ZlV2l0aE1l
bWNweSAmJiBtX2NhcGFjaXR5ICYmIG5ld0NhcGFjaXR5OworI2Vsc2UKKyAgICAgICAgICAgIC8v
IEZJWE1FOiBSZXR1cm4gdHJ1ZSBvbiB0aGUgcGxhdGZvcm1zIHdoZXJlIHJlYWxsb2MoKSBnaXZl
cyBiZXR0ZXIgcGVyZm9ybWFuY2UuCisgICAgICAgICAgICBVTlVTRURfUEFSQU0obmV3Q2FwYWNp
dHkpOworICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCisgICAgICAgIH0KKworICAg
ICAgICB2b2lkIHJlYWxsb2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KQorICAgICAgICB7
CisgICAgICAgICAgICBBU1NFUlQoc2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSkp
OworICAgICAgICAgICAgbV9jYXBhY2l0eSA9IG5ld0NhcGFjaXR5OworICAgICAgICAgICAgaWYg
KG5ld0NhcGFjaXR5ID4gc3RkOjpudW1lcmljX2xpbWl0czxzaXplX3Q+OjptYXgoKSAvIHNpemVv
ZihUKSkKKyAgICAgICAgICAgICAgICBDUkFTSCgpOworICAgICAgICAgICAgbV9idWZmZXIgPSBz
dGF0aWNfY2FzdDxUKj4oZmFzdFJlYWxsb2MobV9idWZmZXIsIG5ld0NhcGFjaXR5ICogc2l6ZW9m
KFQpKSk7CisgICAgICAgIH0KKwogICAgICAgICB2b2lkIGRlYWxsb2NhdGVCdWZmZXIoVCogYnVm
ZmVyVG9EZWFsbG9jYXRlKQogICAgICAgICB7CiAgICAgICAgICAgICBpZiAoIWJ1ZmZlclRvRGVh
bGxvY2F0ZSkKQEAgLTM2Miw2ICszODQsOCBAQCBuYW1lc3BhY2UgV1RGIHsKIAogICAgICAgICB1
c2luZyBCYXNlOjphbGxvY2F0ZUJ1ZmZlcjsKICAgICAgICAgdXNpbmcgQmFzZTo6dHJ5QWxsb2Nh
dGVCdWZmZXI7CisgICAgICAgIHVzaW5nIEJhc2U6OnNob3VsZFJlYWxsb2NhdGVCdWZmZXI7Cisg
ICAgICAgIHVzaW5nIEJhc2U6OnJlYWxsb2NhdGVCdWZmZXI7CiAgICAgICAgIHVzaW5nIEJhc2U6
OmRlYWxsb2NhdGVCdWZmZXI7CiAKICAgICAgICAgdXNpbmcgQmFzZTo6YnVmZmVyOwpAQCAtNDIz
LDcgKzQ0NywxOSBAQCBuYW1lc3BhY2UgV1RGIHsKICAgICAgICAgICAgICAgICByZXR1cm47CiAg
ICAgICAgICAgICBCYXNlOjpkZWFsbG9jYXRlQnVmZmVyKGJ1ZmZlclRvRGVhbGxvY2F0ZSk7CiAg
ICAgICAgIH0KLSAgICAgICAgCisKKyAgICAgICAgYm9vbCBzaG91bGRSZWFsbG9jYXRlQnVmZmVy
KHNpemVfdCBuZXdDYXBhY2l0eSkgY29uc3QKKyAgICAgICAgeworICAgICAgICAgICAgLy8gV2Ug
Y2Fubm90IHJlYWxsb2NhdGUgdGhlIGlubGluZSBidWZmZXIuCisgICAgICAgICAgICByZXR1cm4g
QmFzZTo6c2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSkgJiYgc3RkOjptaW4obV9j
YXBhY2l0eSwgbmV3Q2FwYWNpdHkpID4gaW5saW5lQ2FwYWNpdHk7CisgICAgICAgIH0KKworICAg
ICAgICB2b2lkIHJlYWxsb2NhdGVCdWZmZXIoc2l6ZV90IG5ld0NhcGFjaXR5KQorICAgICAgICB7
CisgICAgICAgICAgICBBU1NFUlQoc2hvdWxkUmVhbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSkp
OworICAgICAgICAgICAgQmFzZTo6cmVhbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSk7CisgICAg
ICAgIH0KKwogICAgICAgICB2b2lkIHN3YXAoVmVjdG9yQnVmZmVyPFQsIGlubGluZUNhcGFjaXR5
PiYgb3RoZXIpCiAgICAgICAgIHsKICAgICAgICAgICAgIGlmIChidWZmZXIoKSA9PSBpbmxpbmVC
dWZmZXIoKSAmJiBvdGhlci5idWZmZXIoKSA9PSBvdGhlci5pbmxpbmVCdWZmZXIoKSkgewpAQCAt
NDcwLDYgKzUwNiw3IEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgICAgIHN0YXRpYyBjb25zdCBz
aXplX3QgbV9pbmxpbmVCdWZmZXJTaXplID0gaW5saW5lQ2FwYWNpdHkgKiBzaXplb2YoVCk7CiAg
ICAgICAgIFQqIGlubGluZUJ1ZmZlcigpIHsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3RfcHRyPFQq
PihtX2lubGluZUJ1ZmZlci5idWZmZXIpOyB9CisgICAgICAgIGNvbnN0IFQqIGlubGluZUJ1ZmZl
cigpIGNvbnN0IHsgcmV0dXJuIHJlaW50ZXJwcmV0X2Nhc3RfcHRyPGNvbnN0IFQqPihtX2lubGlu
ZUJ1ZmZlci5idWZmZXIpOyB9CiAKICAgICAgICAgQWxpZ25lZEJ1ZmZlcjxtX2lubGluZUJ1ZmZl
clNpemUsIFdURl9BTElHTl9PRihUKT4gbV9pbmxpbmVCdWZmZXI7CiAgICAgfTsKQEAgLTk2NCw2
ICsxMDAxLDExIEBAIG5hbWVzcGFjZSBXVEYgewogCiAgICAgICAgIFQqIG9sZEJ1ZmZlciA9IGJl
Z2luKCk7CiAgICAgICAgIGlmIChuZXdDYXBhY2l0eSA+IDApIHsKKyAgICAgICAgICAgIGlmICht
X2J1ZmZlci5zaG91bGRSZWFsbG9jYXRlQnVmZmVyKG5ld0NhcGFjaXR5KSkgeworICAgICAgICAg
ICAgICAgIG1fYnVmZmVyLnJlYWxsb2NhdGVCdWZmZXIobmV3Q2FwYWNpdHkpOworICAgICAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIH0KKwogICAgICAgICAgICAgVCogb2xkRW5kID0g
ZW5kKCk7CiAgICAgICAgICAgICBtX2J1ZmZlci5hbGxvY2F0ZUJ1ZmZlcihuZXdDYXBhY2l0eSk7
CiAgICAgICAgICAgICBpZiAoYmVnaW4oKSAhPSBvbGRCdWZmZXIpCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>