<?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>94886</bug_id>
          
          <creation_ts>2012-08-23 18:09:20 -0700</creation_ts>
          <short_desc>Add an optimized version of copyLCharsFromUCharSource for ARM</short_desc>
          <delta_ts>2012-10-31 17:31: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>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="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>antonm</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric</cc>
    
    <cc>gustavo</cc>
    
    <cc>peter+ews</cc>
    
    <cc>philn</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zwarich</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>703623</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-23 18:09:20 -0700</bug_when>
    <thetext>Some more SIMD :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703628</commentid>
    <comment_count>1</comment_count>
      <attachid>160303</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-23 18:20:33 -0700</bug_when>
    <thetext>Created attachment 160303
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703630</commentid>
    <comment_count>2</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-23 18:22:36 -0700</bug_when>
    <thetext>I could not use intrinsics here because:
-I need the explicit alignment for speed.
-I need the auto increment for speed.
-IIRC the interleaved load intrinsics are not always available anyway.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703643</commentid>
    <comment_count>3</comment_count>
      <attachid>160303</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-23 18:45:41 -0700</bug_when>
    <thetext>Comment on attachment 160303
Patch

Attachment 160303 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/13562967</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703650</commentid>
    <comment_count>4</comment_count>
      <attachid>160303</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-23 18:55:13 -0700</bug_when>
    <thetext>Comment on attachment 160303
Patch

Attachment 160303 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13570906</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703661</commentid>
    <comment_count>5</comment_count>
      <attachid>160310</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-23 19:24:37 -0700</bug_when>
    <thetext>Created attachment 160310
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703674</commentid>
    <comment_count>6</comment_count>
      <attachid>160310</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-08-23 19:46:59 -0700</bug_when>
    <thetext>Comment on attachment 160310
Patch

Attachment 160310 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/13568917</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703678</commentid>
    <comment_count>7</comment_count>
      <attachid>160310</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-08-23 20:00:33 -0700</bug_when>
    <thetext>Comment on attachment 160310
Patch

Attachment 160310 did not pass win-ews (win):
Output: http://queues.webkit.org/results/13559960</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703686</commentid>
    <comment_count>8</comment_count>
      <attachid>160310</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-08-23 20:44:51 -0700</bug_when>
    <thetext>Comment on attachment 160310
Patch

Attachment 160310 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/13559975</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703687</commentid>
    <comment_count>9</comment_count>
      <attachid>160310</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-23 20:47:48 -0700</bug_when>
    <thetext>Comment on attachment 160310
Patch

I&apos;ll fix that tomorrow.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703689</commentid>
    <comment_count>10</comment_count>
      <attachid>160310</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2012-08-23 20:51:47 -0700</bug_when>
    <thetext>Comment on attachment 160310
Patch

Attachment 160310 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/13566937</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703694</commentid>
    <comment_count>11</comment_count>
      <attachid>160310</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-08-23 20:58:43 -0700</bug_when>
    <thetext>Comment on attachment 160310
Patch

Attachment 160310 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/13563945</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>703724</commentid>
    <comment_count>12</comment_count>
      <attachid>160310</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-08-23 21:43:04 -0700</bug_when>
    <thetext>Comment on attachment 160310
Patch

Attachment 160310 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/13569880</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704358</commentid>
    <comment_count>13</comment_count>
      <attachid>160481</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-24 12:50:43 -0700</bug_when>
    <thetext>Created attachment 160481
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>704360</commentid>
    <comment_count>14</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-08-24 12:51:46 -0700</bug_when>
    <thetext>This new version improves the performance when we cannot use Neon, and is just as fast when the input is big enough.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>752696</commentid>
    <comment_count>15</comment_count>
      <attachid>160481</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-10-26 23:12:23 -0700</bug_when>
    <thetext>Comment on attachment 160481
Patch

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

This looks awesome, didn&apos;t know about the interleaved unpack, that&apos;s really handy.

&gt; Source/WTF/wtf/text/ASCIIFastPath.h:134
&gt; +#elif COMPILER(GCC) &amp;&amp; CPU(ARM_NEON) &amp;&amp; !(PLATFORM(BIG_ENDIAN) || PLATFORM(MIDDLE_ENDIAN))

Your optimized path skips an ASSERT to check the upper bits are zero; might be worth adding &quot;&amp;&amp; defined(NDEBUG)&quot; so that debug builds get the C-loop with the ASSERT.

&gt; Source/WTF/wtf/text/ASCIIFastPath.h:141
&gt; +        do {

I think WebKit coding style is no parens here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>755749</commentid>
    <comment_count>16</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-10-31 17:31:43 -0700</bug_when>
    <thetext>Committed r133100: &lt;http://trac.webkit.org/changeset/133100&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160303</attachid>
            <date>2012-08-23 18:20:33 -0700</date>
            <delta_ts>2012-08-23 19:24:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94886-20120823182029.patch</filename>
            <type>text/plain</type>
            <size>2977</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2NTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDQ2YTVlMDFlMmViODNhNjg4YWNkN2Y1
M2Y3YTM2N2YyOGVkMDUxYzkuLjY0MmQ3NDg1YmFhM2IyYmVkYzZlZDNlMDgyZTY5ODlmMjkxZTdh
NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjUgQEAKIDIwMTItMDgtMjMgIEJlbmphbWluIFBvdWxhaW4gIDxi
cG91bGFpbkBhcHBsZS5jb20+CiAKKyAgICAgICAgQWRkIGFuIG9wdGltaXplZCB2ZXJzaW9uIG9m
IGNvcHlMQ2hhcnNGcm9tVUNoYXJTb3VyY2UgZm9yIEFSTQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ4ODYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNaWNoYWVsIFNhYm9mZiBhZGRlZCBhIFNJTUQgdmVy
c2lvbiBvZiBjb3B5TENoYXJzRnJvbVVDaGFyU291cmNlKCkgaW4gcjEyNTg0Ni4KKworICAgICAg
ICBUaGlzIHBhdGNoIGEgc2ltaWxhciBvcHRpbWl6YXRpb24gZm9yIEFSTXY3IGJ5IHVzaW5nIHRo
ZSBpbnRlcmxlYXZlZCBsb2FkL3N0b3JlIGF2YWlsYWJsZQorICAgICAgICBpbiB0aGUgTkVPTiBl
eHRlbnNpb24uCisKKyAgICAgICAgVGhlIHBlcmZvcm1hbmNlIGdhaW5zOgorICAgICAgICAtMTAw
MDAgY2hhcmFjdGVyczogfjMuNSB0aW1lcyBmYXN0ZXIuCisgICAgICAgIC0yMCBjaGFyYWN0ZXJz
ICgyIHZlY3RvcnMpOiB+NTAlIGZhc3Rlci4KKyAgICAgICAgLTMgY2hhcmFjdGVycyAobm8gdmVj
dG9yLCBwdXJlIG92ZXJoZWFkKTogfjU1JSBzbG93ZXIuCisKKyAgICAgICAgKiB3dGYvdGV4dC9B
U0NJSUZhc3RQYXRoLmg6CisgICAgICAgIChXVEY6OmNvcHlMQ2hhcnNGcm9tVUNoYXJTb3VyY2Up
OgorCisyMDEyLTA4LTIzICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgor
CiAgICAgICAgIFVuaWZ5IE51bWJlciB0byBTdHJpbmdJbXBsIGNvbnZlcnNpb24KICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0ODc5CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQVNDSUlGYXN0UGF0aC5oIGIvU291cmNlL1dURi93dGYv
dGV4dC9BU0NJSUZhc3RQYXRoLmgKaW5kZXggYzE0ODViMWIzNWRmMzgwZGZiN2M1MmU4ZWQ0OTRm
Yjg3ZmViZGNjMC4uZjBjODY0ODc4ZmQ1MWQ1N2ZlZTA1MGRiZGMxM2UxODFjNjc3YzA1NSAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9BU0NJSUZhc3RQYXRoLmgKKysrIGIvU291cmNl
L1dURi93dGYvdGV4dC9BU0NJSUZhc3RQYXRoLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5
KC1pZXMpLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTEzMSw2ICsxMzEsMjggQEAgaW5saW5lIHZvaWQgY29w
eUxDaGFyc0Zyb21VQ2hhclNvdXJjZShMQ2hhciogZGVzdGluYXRpb24sIGNvbnN0IFVDaGFyKiBz
b3VyY2UsIHMKICAgICAgICAgQVNTRVJUKCEoc291cmNlW2ldICYgMHhmZjAwKSk7CiAgICAgICAg
IGRlc3RpbmF0aW9uW2ldID0gc3RhdGljX2Nhc3Q8TENoYXI+KHNvdXJjZVtpXSk7CiAgICAgfQor
I2Vsc2UgaWYgQ09NUElMRVIoR0NDKSAmJiBDUFUoQVJNX05FT04pICYmICEoUExBVEZPUk0oQklH
X0VORElBTikgfHwgUExBVEZPUk0oTUlERExFX0VORElBTikKKyAgICBjb25zdCBMQ2hhciogY29u
c3QgZW5kID0gZGVzdGluYXRpb24gKyBsZW5ndGg7CisgICAgY29uc3QgdWludHB0cl90IG1lbW9y
eUFjY2Vzc1NpemUgPSA4OyAvLyBBbGlnbiBkZXN0aW5hdGlvbiBvbiA2NCBiaXRzLgorICAgIGNv
bnN0IHVpbnRwdHJfdCBtZW1vcnlBY2Nlc3NNYXNrID0gbWVtb3J5QWNjZXNzU2l6ZSAtIDE7CisK
KyAgICB3aGlsZSAoZGVzdGluYXRpb24gIT0gZW5kICYmICFpc0FsaWduZWRUbzxtZW1vcnlBY2Nl
c3NNYXNrPihkZXN0aW5hdGlvbikpCisgICAgICAgICpkZXN0aW5hdGlvbisrID0gc3RhdGljX2Nh
c3Q8TENoYXI+KCpzb3VyY2UrKyk7CisKKyAgICBjb25zdCB1aW50cHRyX3QgbGVuZ3RoTGVmdCA9
IGVuZCAtIGRlc3RpbmF0aW9uOworICAgIGlmIChsZW5ndGhMZWZ0ID49IG1lbW9yeUFjY2Vzc1Np
emUpIHsKKyAgICAgICAgY29uc3QgTENoYXIqIGNvbnN0IHNpbWRFbmQgPSBlbmQgLSAobGVuZ3Ro
TGVmdCAlIG1lbW9yeUFjY2Vzc1NpemUpOworICAgICAgICBkbyB7CisgICAgICAgICAgICBhc20o
InZsZDIuOCAgIHsgZDAtZDEgfSwgWyVbU09VUkNFXV0gIVxuXHQiCisgICAgICAgICAgICAgICAg
InZzdDEuOCAgIHsgZDAgfSwgWyVbREVTVElOQVRJT05dLDo2NF0gIVxuXHQiCisgICAgICAgICAg
ICAgICAgOiBbU09VUkNFXSIrciIgKHNvdXJjZSksIFtERVNUSU5BVElPTl0iK3IiIChkZXN0aW5h
dGlvbikKKyAgICAgICAgICAgICAgICA6CisgICAgICAgICAgICAgICAgOiAibWVtb3J5IiwgImQw
IiwgImQxIik7CisgICAgICAgIH0gd2hpbGUgKGRlc3RpbmF0aW9uICE9IHNpbWRFbmQpOworICAg
IH0KKworICAgIHdoaWxlIChkZXN0aW5hdGlvbiAhPSBlbmQpCisgICAgICAgICpkZXN0aW5hdGlv
bisrID0gc3RhdGljX2Nhc3Q8TENoYXI+KCpzb3VyY2UrKyk7CiAjZWxzZQogICAgIGZvciAoc2l6
ZV90IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKICAgICAgICAgQVNTRVJUKCEoc291cmNlW2ld
ICYgMHhmZjAwKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160310</attachid>
            <date>2012-08-23 19:24:37 -0700</date>
            <delta_ts>2012-08-24 12:50:39 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94886-20120823192434.patch</filename>
            <type>text/plain</type>
            <size>2974</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2NTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDQ2YTVlMDFlMmViODNhNjg4YWNkN2Y1
M2Y3YTM2N2YyOGVkMDUxYzkuLjY0MmQ3NDg1YmFhM2IyYmVkYzZlZDNlMDgyZTY5ODlmMjkxZTdh
NTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjUgQEAKIDIwMTItMDgtMjMgIEJlbmphbWluIFBvdWxhaW4gIDxi
cG91bGFpbkBhcHBsZS5jb20+CiAKKyAgICAgICAgQWRkIGFuIG9wdGltaXplZCB2ZXJzaW9uIG9m
IGNvcHlMQ2hhcnNGcm9tVUNoYXJTb3VyY2UgZm9yIEFSTQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ4ODYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNaWNoYWVsIFNhYm9mZiBhZGRlZCBhIFNJTUQgdmVy
c2lvbiBvZiBjb3B5TENoYXJzRnJvbVVDaGFyU291cmNlKCkgaW4gcjEyNTg0Ni4KKworICAgICAg
ICBUaGlzIHBhdGNoIGEgc2ltaWxhciBvcHRpbWl6YXRpb24gZm9yIEFSTXY3IGJ5IHVzaW5nIHRo
ZSBpbnRlcmxlYXZlZCBsb2FkL3N0b3JlIGF2YWlsYWJsZQorICAgICAgICBpbiB0aGUgTkVPTiBl
eHRlbnNpb24uCisKKyAgICAgICAgVGhlIHBlcmZvcm1hbmNlIGdhaW5zOgorICAgICAgICAtMTAw
MDAgY2hhcmFjdGVyczogfjMuNSB0aW1lcyBmYXN0ZXIuCisgICAgICAgIC0yMCBjaGFyYWN0ZXJz
ICgyIHZlY3RvcnMpOiB+NTAlIGZhc3Rlci4KKyAgICAgICAgLTMgY2hhcmFjdGVycyAobm8gdmVj
dG9yLCBwdXJlIG92ZXJoZWFkKTogfjU1JSBzbG93ZXIuCisKKyAgICAgICAgKiB3dGYvdGV4dC9B
U0NJSUZhc3RQYXRoLmg6CisgICAgICAgIChXVEY6OmNvcHlMQ2hhcnNGcm9tVUNoYXJTb3VyY2Up
OgorCisyMDEyLTA4LTIzICBCZW5qYW1pbiBQb3VsYWluICA8YnBvdWxhaW5AYXBwbGUuY29tPgor
CiAgICAgICAgIFVuaWZ5IE51bWJlciB0byBTdHJpbmdJbXBsIGNvbnZlcnNpb24KICAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk0ODc5CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XVEYvd3RmL3RleHQvQVNDSUlGYXN0UGF0aC5oIGIvU291cmNlL1dURi93dGYv
dGV4dC9BU0NJSUZhc3RQYXRoLmgKaW5kZXggYzE0ODViMWIzNWRmMzgwZGZiN2M1MmU4ZWQ0OTRm
Yjg3ZmViZGNjMC4uZGM0OWMwZWEyZWU0OTU1MWMzZjE0NWY5MDgxYmJiNDg5Y2RkMzc0ZiAxMDA2
NDQKLS0tIGEvU291cmNlL1dURi93dGYvdGV4dC9BU0NJSUZhc3RQYXRoLmgKKysrIGIvU291cmNl
L1dURi93dGYvdGV4dC9BU0NJSUZhc3RQYXRoLmgKQEAgLTEsNSArMSw1IEBACiAvKgotICogQ29w
eXJpZ2h0IChDKSAyMDExIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAxMSwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMTEgTm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5
KC1pZXMpLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKQEAgLTEzMSw2ICsxMzEsMjggQEAgaW5saW5lIHZvaWQgY29w
eUxDaGFyc0Zyb21VQ2hhclNvdXJjZShMQ2hhciogZGVzdGluYXRpb24sIGNvbnN0IFVDaGFyKiBz
b3VyY2UsIHMKICAgICAgICAgQVNTRVJUKCEoc291cmNlW2ldICYgMHhmZjAwKSk7CiAgICAgICAg
IGRlc3RpbmF0aW9uW2ldID0gc3RhdGljX2Nhc3Q8TENoYXI+KHNvdXJjZVtpXSk7CiAgICAgfQor
I2VsaWYgQ09NUElMRVIoR0NDKSAmJiBDUFUoQVJNX05FT04pICYmICEoUExBVEZPUk0oQklHX0VO
RElBTikgfHwgUExBVEZPUk0oTUlERExFX0VORElBTikKKyAgICBjb25zdCBMQ2hhciogY29uc3Qg
ZW5kID0gZGVzdGluYXRpb24gKyBsZW5ndGg7CisgICAgY29uc3QgdWludHB0cl90IG1lbW9yeUFj
Y2Vzc1NpemUgPSA4OyAvLyBBbGlnbiBkZXN0aW5hdGlvbiBvbiA2NCBiaXRzLgorICAgIGNvbnN0
IHVpbnRwdHJfdCBtZW1vcnlBY2Nlc3NNYXNrID0gbWVtb3J5QWNjZXNzU2l6ZSAtIDE7CisKKyAg
ICB3aGlsZSAoZGVzdGluYXRpb24gIT0gZW5kICYmICFpc0FsaWduZWRUbzxtZW1vcnlBY2Nlc3NN
YXNrPihkZXN0aW5hdGlvbikpCisgICAgICAgICpkZXN0aW5hdGlvbisrID0gc3RhdGljX2Nhc3Q8
TENoYXI+KCpzb3VyY2UrKyk7CisKKyAgICBjb25zdCB1aW50cHRyX3QgbGVuZ3RoTGVmdCA9IGVu
ZCAtIGRlc3RpbmF0aW9uOworICAgIGlmIChsZW5ndGhMZWZ0ID49IG1lbW9yeUFjY2Vzc1NpemUp
IHsKKyAgICAgICAgY29uc3QgTENoYXIqIGNvbnN0IHNpbWRFbmQgPSBlbmQgLSAobGVuZ3RoTGVm
dCAlIG1lbW9yeUFjY2Vzc1NpemUpOworICAgICAgICBkbyB7CisgICAgICAgICAgICBhc20oInZs
ZDIuOCAgIHsgZDAtZDEgfSwgWyVbU09VUkNFXV0gIVxuXHQiCisgICAgICAgICAgICAgICAgInZz
dDEuOCAgIHsgZDAgfSwgWyVbREVTVElOQVRJT05dLDo2NF0gIVxuXHQiCisgICAgICAgICAgICAg
ICAgOiBbU09VUkNFXSIrciIgKHNvdXJjZSksIFtERVNUSU5BVElPTl0iK3IiIChkZXN0aW5hdGlv
bikKKyAgICAgICAgICAgICAgICA6CisgICAgICAgICAgICAgICAgOiAibWVtb3J5IiwgImQwIiwg
ImQxIik7CisgICAgICAgIH0gd2hpbGUgKGRlc3RpbmF0aW9uICE9IHNpbWRFbmQpOworICAgIH0K
KworICAgIHdoaWxlIChkZXN0aW5hdGlvbiAhPSBlbmQpCisgICAgICAgICpkZXN0aW5hdGlvbisr
ID0gc3RhdGljX2Nhc3Q8TENoYXI+KCpzb3VyY2UrKyk7CiAjZWxzZQogICAgIGZvciAoc2l6ZV90
IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kpIHsKICAgICAgICAgQVNTRVJUKCEoc291cmNlW2ldICYg
MHhmZjAwKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>160481</attachid>
            <date>2012-08-24 12:50:43 -0700</date>
            <delta_ts>2012-10-26 23:12:23 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-94886-20120824125037.patch</filename>
            <type>text/plain</type>
            <size>3121</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTI2NTEyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDQ2YTVlMDFlMmViODNhNjg4YWNkN2Y1
M2Y3YTM2N2YyOGVkMDUxYzkuLjM2ZjE4NWZkMzk4NjcwOTU4NjZmMjM5ZTZjODZiZDM5NDA0Njc5
ZmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDUgKzEsMjYgQEAKIDIwMTItMDgtMjMgIEJlbmphbWluIFBvdWxhaW4gIDxi
cG91bGFpbkBhcHBsZS5jb20+CiAKKyAgICAgICAgQWRkIGFuIG9wdGltaXplZCB2ZXJzaW9uIG9m
IGNvcHlMQ2hhcnNGcm9tVUNoYXJTb3VyY2UgZm9yIEFSTQorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTQ4ODYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBNaWNoYWVsIFNhYm9mZiBhZGRlZCBhIFNJTUQgdmVy
c2lvbiBvZiBjb3B5TENoYXJzRnJvbVVDaGFyU291cmNlKCkgaW4gcjEyNTg0Ni4KKworICAgICAg
ICBUaGlzIHBhdGNoIGEgc2ltaWxhciBvcHRpbWl6YXRpb24gZm9yIEFSTXY3IGJ5IHVzaW5nIHRo
ZSBpbnRlcmxlYXZlZCBsb2FkL3N0b3JlIGF2YWlsYWJsZQorICAgICAgICBpbiB0aGUgTkVPTiBl
eHRlbnNpb24uCisKKyAgICAgICAgVGhlIHBlcmZvcm1hbmNlIGdhaW5zOgorICAgICAgICAtMTAw
MDAgY2hhcmFjdGVyczogfjMuNSB0aW1lcyBmYXN0ZXIuCisgICAgICAgIC0yMCBjaGFyYWN0ZXJz
ICgyIHZlY3RvcnMpOiB+NTUlIGZhc3Rlci4KKyAgICAgICAgLTE1IGNoYXJhY3RlcnMgKDEgdmVj
dG9yKTogfjIxJSBmYXN0ZXIuCisgICAgICAgIC0zIGNoYXJhY3RlcnMgKG5vIHZlY3RvciwgcHVy
ZSBvdmVyaGVhZCk6IH4xMCUgc2xvd2VyLgorCisgICAgICAgICogd3RmL3RleHQvQVNDSUlGYXN0
UGF0aC5oOgorICAgICAgICAoV1RGOjpjb3B5TENoYXJzRnJvbVVDaGFyU291cmNlKToKKworMjAx
Mi0wOC0yMyAgQmVuamFtaW4gUG91bGFpbiAgPGJwb3VsYWluQGFwcGxlLmNvbT4KKwogICAgICAg
ICBVbmlmeSBOdW1iZXIgdG8gU3RyaW5nSW1wbCBjb252ZXJzaW9uCiAgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05NDg3OQogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV1RGL3d0Zi90ZXh0L0FTQ0lJRmFzdFBhdGguaCBiL1NvdXJjZS9XVEYvd3RmL3RleHQvQVND
SUlGYXN0UGF0aC5oCmluZGV4IGMxNDg1YjFiMzVkZjM4MGRmYjdjNTJlOGVkNDk0ZmI4N2ZlYmRj
YzAuLjZmN2FlODk1NTY0MDMzMGYwMGJhOGVlZmEwOWU5NmViMzFkMjQxZDQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XVEYvd3RmL3RleHQvQVNDSUlGYXN0UGF0aC5oCisrKyBiL1NvdXJjZS9XVEYvd3Rm
L3RleHQvQVNDSUlGYXN0UGF0aC5oCkBAIC0xLDUgKzEsNSBAQAogLyoKLSAqIENvcHlyaWdodCAo
QykgMjAxMSBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTEsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0
IChDKSAyMDExIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKS4K
ICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1
dGUgaXQgYW5kL29yCkBAIC0xMzEsNiArMTMxLDMxIEBAIGlubGluZSB2b2lkIGNvcHlMQ2hhcnNG
cm9tVUNoYXJTb3VyY2UoTENoYXIqIGRlc3RpbmF0aW9uLCBjb25zdCBVQ2hhciogc291cmNlLCBz
CiAgICAgICAgIEFTU0VSVCghKHNvdXJjZVtpXSAmIDB4ZmYwMCkpOwogICAgICAgICBkZXN0aW5h
dGlvbltpXSA9IHN0YXRpY19jYXN0PExDaGFyPihzb3VyY2VbaV0pOwogICAgIH0KKyNlbGlmIENP
TVBJTEVSKEdDQykgJiYgQ1BVKEFSTV9ORU9OKSAmJiAhKFBMQVRGT1JNKEJJR19FTkRJQU4pIHx8
IFBMQVRGT1JNKE1JRERMRV9FTkRJQU4pKQorICAgIGNvbnN0IExDaGFyKiBjb25zdCBlbmQgPSBk
ZXN0aW5hdGlvbiArIGxlbmd0aDsKKyAgICBjb25zdCB1aW50cHRyX3QgbWVtb3J5QWNjZXNzU2l6
ZSA9IDg7CisKKyAgICBpZiAobGVuZ3RoID49ICgyICogbWVtb3J5QWNjZXNzU2l6ZSkgLSAxKSB7
CisgICAgICAgIC8vIFByZWZpeDogYWxpZ24gZHN0IG9uIDY0IGJpdHMuCisgICAgICAgIGNvbnN0
IHVpbnRwdHJfdCBtZW1vcnlBY2Nlc3NNYXNrID0gbWVtb3J5QWNjZXNzU2l6ZSAtIDE7CisgICAg
ICAgIGRvIHsKKyAgICAgICAgICAgICpkZXN0aW5hdGlvbisrID0gc3RhdGljX2Nhc3Q8TENoYXI+
KCpzb3VyY2UrKyk7CisgICAgICAgIH0gd2hpbGUgKCFpc0FsaWduZWRUbzxtZW1vcnlBY2Nlc3NN
YXNrPihkZXN0aW5hdGlvbikpOworCisgICAgICAgIC8vIFZlY3RvciBpbnRlcmxlYXZlZCB1bnBh
Y2ssIHdlIG9ubHkgc3RvcmUgdGhlIGxvd2VyIDggYml0cy4KKyAgICAgICAgY29uc3QgdWludHB0
cl90IGxlbmd0aExlZnQgPSBlbmQgLSBkZXN0aW5hdGlvbjsKKyAgICAgICAgY29uc3QgTENoYXIq
IGNvbnN0IHNpbWRFbmQgPSBlbmQgLSAobGVuZ3RoTGVmdCAlIG1lbW9yeUFjY2Vzc1NpemUpOwor
ICAgICAgICBkbyB7CisgICAgICAgICAgICBhc20oInZsZDIuOCAgIHsgZDAtZDEgfSwgWyVbU09V
UkNFXV0gIVxuXHQiCisgICAgICAgICAgICAgICAgInZzdDEuOCAgIHsgZDAgfSwgWyVbREVTVElO
QVRJT05dLDo2NF0gIVxuXHQiCisgICAgICAgICAgICAgICAgOiBbU09VUkNFXSIrciIgKHNvdXJj
ZSksIFtERVNUSU5BVElPTl0iK3IiIChkZXN0aW5hdGlvbikKKyAgICAgICAgICAgICAgICA6Cisg
ICAgICAgICAgICAgICAgOiAibWVtb3J5IiwgImQwIiwgImQxIik7CisgICAgICAgIH0gd2hpbGUg
KGRlc3RpbmF0aW9uICE9IHNpbWRFbmQpOworICAgIH0KKworICAgIHdoaWxlIChkZXN0aW5hdGlv
biAhPSBlbmQpCisgICAgICAgICpkZXN0aW5hdGlvbisrID0gc3RhdGljX2Nhc3Q8TENoYXI+KCpz
b3VyY2UrKyk7CiAjZWxzZQogICAgIGZvciAoc2l6ZV90IGkgPSAwOyBpIDwgbGVuZ3RoOyArK2kp
IHsKICAgICAgICAgQVNTRVJUKCEoc291cmNlW2ldICYgMHhmZjAwKSk7Cg==
</data>
<flag name="review"
          id="171061"
          type_id="1"
          status="+"
          setter="barraclough"
    />
          </attachment>
      

    </bug>

</bugzilla>