<?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>19946</bug_id>
          
          <creation_ts>2008-07-08 09:09:25 -0700</creation_ts>
          <short_desc>Possible misalignment in RenderArena when compiled for debug</short_desc>
          <delta_ts>2010-05-15 01:25:32 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</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>0</everconfirmed>
          <reporter name="Dominik Röttsches (drott)">d-r</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>commit-queue</cc>
    
    <cc>darin</cc>
    
    <cc>dave+webkit</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>manyoso</cc>
    
    <cc>staikos</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>85458</commentid>
    <comment_count>0</comment_count>
    <who name="Dominik Röttsches (drott)">d-r</who>
    <bug_when>2008-07-08 09:09:25 -0700</bug_when>
    <thetext>RenderArena::allocate falls back to using malloc when compiled for DEBUG. In addition, it introduces a debug header called RenderArenaDebugHeader which is prefixed for every allocated cell. The pointer arithmetics in RenderArena::allocate (http://trac.webkit.org/browser/trunk/WebCore/rendering/RenderArena.cpp#L73) lead to returning a possibly misaligned pointer - depending on the size of RenderArenaDebugHeader and the data types that are placed into the allocated cell.

For example, in HTMLInputElement::createRenderer a new text control renderer is created ( &quot;return new (arena) RenderTextControl(this, false);&quot; )- this RenderTextControl will contain a Timer, which will in turn have a TimerBase which has members of type double. Accessing those doubles on XScale when the initial base address returned by the Arena allocator was not 8byte aligned leads to a misaligned access, causing a crash.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224031</commentid>
    <comment_count>1</comment_count>
      <attachid>55726</attachid>
    <who name="David Tapuska">dave+webkit</who>
    <bug_when>2010-05-11 11:24:46 -0700</bug_when>
    <thetext>Created attachment 55726
Apply appropriate defines for ARMv5TE architectures so we can force 8 byte alignment in object allocators.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224056</commentid>
    <comment_count>2</comment_count>
    <who name="Adam Treat">manyoso</who>
    <bug_when>2010-05-11 11:51:24 -0700</bug_when>
    <thetext>Darin, can you have a look?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224261</commentid>
    <comment_count>3</comment_count>
      <attachid>55726</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-11 17:09:43 -0700</bug_when>
    <thetext>Comment on attachment 55726
Apply appropriate defines for ARMv5TE architectures so we can force 8 byte alignment in object allocators.

&gt; +#ifdef WTF_ARMV5_NEEDS_ALIGN_8
&gt; +#define ARENA_ALIGN_MASK 7
&gt; +#else
&gt;  #define ARENA_ALIGN_MASK 3
&gt; +#endif

I&apos;d like to see us do in a way that&apos;s a bit more automatic. One way is:

    #define ARENA_ALIGN_MASK (sizeof(AllocAlignmentInteger) - 1)

All that ARM-specific stuff seems undesirable. In fact, other 64-bit platforms would probably benefit from 64-bit-aligned objects in the arenas.

&gt; +#define ARENA_ALIGNED_HEADER_SIZE ((sizeof(RenderArenaDebugHeader) + ARENA_ALIGN_MASK) &amp; ~ARENA_ALIGN_MASK)

We should use the ARENA_ALIGN macro here. We can change it so it doesn&apos;t take a &quot;pool&quot; argument and then use it like this:

   ARENA_ALIGN(sizeof(RenderArenaDebugHeader))

Does this need to be a macro? This is C++ so I&apos;d think we could just use &quot;static const&quot; instead.

&gt; -    RenderArenaDebugHeader* header = static_cast&lt;RenderArenaDebugHeader*&gt;(ptr) - 1;
&gt; +    void* block = static_cast&lt;unsigned char*&gt;(ptr) - ARENA_ALIGNED_HEADER_SIZE;

Using &quot;unsigned char*&quot; here instead of &quot;char*&quot; is a bit strange.

Change seems OK, but I think it would be better to do this without so much ARM-specific. review- for now

Please let me know if I misunderstood the basis of the need for this on ARM. Is it needed on 32-bit ARM?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224288</commentid>
    <comment_count>4</comment_count>
    <who name="David Tapuska">dave+webkit</who>
    <bug_when>2010-05-11 17:34:11 -0700</bug_when>
    <thetext>Yes we do require this on 32 bit ARMv5TE. ARMv5TE has double word instructions LDRD and STRD that load 64bits in a single instruction; but the requirement is that the dest/src need to be 8 byte aligned. The problem is that we are running allocators from pools that are 4 byte aligned. This is all well and good for on most platforms that can do double word loads from 4 byte addresses; but that CPU can&apos;t.

I agree that this would be good on all platforms to move to 8 byte alignment on objects to move them more inline with what a malloc would provide; but didn&apos;t want to influence all other platforms for this one CPU case. I&apos;ll prepare a patch as per your comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>224291</commentid>
    <comment_count>5</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-11 17:37:46 -0700</bug_when>
    <thetext>(In reply to comment #4)
&gt; Yes we do require this on 32 bit ARMv5TE.

I think you may be right in not wanting to affect the other platforms, but Platform.h should be indicating that the alignment is needed in a way that is not ARM-specific, so not &quot;WTF_ARMV5_NEEDS_ALIGN_8&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225808</commentid>
    <comment_count>6</comment_count>
      <attachid>56069</attachid>
    <who name="David Tapuska">dave+webkit</who>
    <bug_when>2010-05-14 07:39:50 -0700</bug_when>
    <thetext>Created attachment 56069
Generalize last patch removing ARM specific stuff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225811</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-14 07:43:30 -0700</bug_when>
    <thetext>Attachment 56069 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebCore/platform/Arena.h:45:  Alphabetical sorting problem.  [build/include_order] [4]
WebCore/platform/Arena.h:83:  _nb is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/platform/Arena.h:94:  _incr is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 3 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225819</commentid>
    <comment_count>8</comment_count>
      <attachid>56070</attachid>
    <who name="David Tapuska">dave+webkit</who>
    <bug_when>2010-05-14 07:55:12 -0700</bug_when>
    <thetext>Created attachment 56070
Add alignment based on AllocAlignmentInteger for Arenas.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225824</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-14 08:01:36 -0700</bug_when>
    <thetext>Attachment 56070 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebCore/platform/Arena.h:83:  _nb is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/platform/Arena.h:94:  _incr is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 2 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225860</commentid>
    <comment_count>10</comment_count>
      <attachid>56070</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2010-05-14 09:02:36 -0700</bug_when>
    <thetext>Comment on attachment 56070
Add alignment based on AllocAlignmentInteger for Arenas.

&gt; +#include &lt;wtf/FastMalloc.h&gt;
&gt; +#include &lt;wtf/Platform.h&gt;

Since FastMalloc.h already includes Platform.h, there is no need to include Platform.h here.

&gt; +#ifdef WTF_USE_ARENA_ALLOC_ALIGNMENT_INTEGER
&gt; +#define ARENA_ALIGN_MASK (sizeof(WTF::AllocAlignmentInteger) - 1)
&gt; +#else
&gt;  #define ARENA_ALIGN_MASK 3
&gt; +#endif

I think it would be good eventually to get rid of WTF_USE_ARENA_ALLOC_ALIGNMENT_INTEGER and always do this. A FIXME mentioning that would be a plus.

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225876</commentid>
    <comment_count>11</comment_count>
      <attachid>56079</attachid>
    <who name="David Tapuska">dave+webkit</who>
    <bug_when>2010-05-14 09:19:32 -0700</bug_when>
    <thetext>Created attachment 56079
Add alignment based on AllocAlignmentInteger for Arenas</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>225878</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-05-14 09:20:31 -0700</bug_when>
    <thetext>Attachment 56079 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;, &apos;--no-squash&apos;]&quot; exit_code: 1
WebCore/platform/Arena.h:84:  _nb is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebCore/platform/Arena.h:95:  _incr is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
Total errors found: 2 in 6 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226192</commentid>
    <comment_count>13</comment_count>
      <attachid>56079</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-05-15 01:25:26 -0700</bug_when>
    <thetext>Comment on attachment 56079
Add alignment based on AllocAlignmentInteger for Arenas

Clearing flags on attachment: 56079

Committed r59525: &lt;http://trac.webkit.org/changeset/59525&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>226193</commentid>
    <comment_count>14</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-05-15 01:25:32 -0700</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>55726</attachid>
            <date>2010-05-11 11:24:46 -0700</date>
            <delta_ts>2010-05-14 07:39:50 -0700</delta_ts>
            <desc>Apply appropriate defines for ARMv5TE architectures so we can force 8 byte alignment in object allocators.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>5536</size>
            <attacher name="David Tapuska">dave+webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCAzNTlmYWNlLi40ODhhYjliIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTAtMDUtMTEgIERhdmUgVGFwdXNrYSAgPGR0YXB1c2thQHJpbS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IGRlZmlu
ZSBmb3IgQVJNdjUgd2l0aCBEb3VibGUgd29yZCBpbnN0cnVjdGlvbnMgdGhhdAorICAgICAgICBz
cGVjaWZpZXMgd2UgbmVlZCBzdHJpY3QgOCBieXRlIGFsaWdubWVudC4KKworICAgICAgICBodHRw
czovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5NDYKKworICAgICAgICAqIHd0
Zi9QbGF0Zm9ybS5oOgorCiAyMDEwLTA1LTEwICBMYXN6bG8gR29tYm9zICA8bGFzemxvLjEuZ29t
Ym9zQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KZGlmZiAt
LWdpdCBhL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvSmF2YVNjcmlwdENvcmUvd3Rm
L1BsYXRmb3JtLmgKaW5kZXggZjYxMjlhYy4uOTY0ZmRiMyAxMDA2NDQKLS0tIGEvSmF2YVNjcmlw
dENvcmUvd3RmL1BsYXRmb3JtLmgKKysrIGIvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgK
QEAgLTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDA2LCAyMDA3LCAyMDA4LCAy
MDA5IEFwcGxlIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MDctMjAwOSBUb3JjaCBNb2JpbGUsIEluYy4KKyAqIENvcHlyaWdodCAoQykgUmVzZWFyY2ggSW4g
TW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMjIyLDExICsyMjMsMTQgQEAKIAogI2VsaWYgZGVmaW5lZChf
X0FSTV9BUkNIXzVfXykgXAogICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VF9fKSBcCi0gICAg
fHwgZGVmaW5lZChfX0FSTV9BUkNIXzVFX18pIFwKKyAgICB8fCBkZWZpbmVkKF9fTUFSTV9BUk1W
NV9fKQorI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1CisKKyNlbGlmIGRlZmluZWQoX19B
Uk1fQVJDSF81RV9fKSBcCiAgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURV9fKSBcCiAgICAg
fHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURUpfXykgXAotICAgIHx8IGRlZmluZWQoX19NQVJNX0FS
TVY1X18pCiAjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9OIDUKKyNkZWZpbmUgV1RGX0FSTVY1
X05FRURTX0FMSUdOXzggMQogCiAjZWxpZiBkZWZpbmVkKF9fQVJNX0FSQ0hfNl9fKSBcCiAgICAg
fHwgZGVmaW5lZChfX0FSTV9BUkNIXzZKX18pIFwKQEAgLTI0NSw2ICsyNDksMTIgQEAKICNlbGlm
IGRlZmluZWQoX19UQVJHRVRfQVJDSF9BUk0pCiAjZGVmaW5lIFdURl9BUk1fQVJDSF9WRVJTSU9O
IF9fVEFSR0VUX0FSQ0hfQVJNCiAKKyNpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNUUpIFwKKyAg
ICB8fCBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfNVRFKSBcCisgICAgfHwgZGVmaW5lZChfX1RBUkdF
VF9BUkNIXzVURUopCisjZGVmaW5lIFdURl9BUk1WNV9ORUVEU19BTElHTl84IDEKKyNlbmRpZgor
CiAjZWxzZQogI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiAwCiAKZGlmZiAtLWdpdCBhL1dl
YkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzcwYzk4Ny4uNjE1NzVh
OSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cK
QEAgLTEsMyArMSwyNSBAQAorMjAxMC0wNS0xMSAgRGF2ZSBUYXB1c2thICA8ZHRhcHVza2FAcmlt
LmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBG
aXggYWxpZ25tZW50IGZhdWx0cyBvbiBBUk12NVRFIGFyY2hpdGVjdHVyZXMuCisKKyAgICAgICAg
SW4gZGVidWcgbW9kZSB0aGUgUmVuZGVyQXJlYURlYnVnSGVhZGVyIHdhcyAxMiBieXRlcyB3aGlj
aAorICAgICAgICBjYXVzZWQgYW4gYWxpZ25tZW50IGZhaWx1cmUgZm9yIFJlbmRlck9iamVjdHMg
YmVjYXVzZSB0aGV5CisgICAgICAgIHdvdWxkIHN0YXJ0IG9uIGEgNCBieXRlIGJvdW5kYXJ5LiBB
bGlnbiB0aGUgUmVuZGVyQXJlbmFEZWJ1Z0hlYWRlcgorICAgICAgICB1c2luZyB0aGUgQVJFTkFf
QUxJR05fTUFTSy4KKworICAgICAgICBJbiBOREVCVUcgbW9kZSB0aGUgUmVuZGVyQXJlbmEgb2Jq
ZWN0cyBjb21lIGZyb20gYSBwb29sIHdoaWNoCisgICAgICAgIGhhcyA0IGJ5dGUgYWxpZ25tZW50
LiBJbmNyZWFzZSB0aGlzIHRvIDggYnl0ZSBhbGlnbm1lbnQKKyAgICAgICAgb24gQVJNdjVURS4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTk5NDYK
KworICAgICAgICAqIHBsYXRmb3JtL0FyZW5hLmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
ckFyZW5hLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckFyZW5hOjphbGxvY2F0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJBcmVuYTo6ZnJlZSk6CisKIDIwMTAtMDUtMTEgIEJlbmph
bWluIFBvdWxhaW4gIDxiZW5qYW1pbi5wb3VsYWluQG5va2lhLmNvbT4KIAogICAgICAgICBSZXZp
ZXdlZCBieSBLZW5uZXRoIFJvaGRlIENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1dlYkNvcmUv
cGxhdGZvcm0vQXJlbmEuaCBiL1dlYkNvcmUvcGxhdGZvcm0vQXJlbmEuaAppbmRleCBiYzQ5MzA3
Li5hZjU1ZTE4IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL0FyZW5hLmgKKysrIGIvV2Vi
Q29yZS9wbGF0Zm9ybS9BcmVuYS5oCkBAIC0xLDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMTk5OC0yMDAwIE5ldHNjYXBlIENvbW11bmljYXRpb25zIENvcnBvcmF0aW9uLgogICogQ29w
eXJpZ2h0IChDKSAyMDAzLTYgQXBwbGUgQ29tcHV0ZXIKKyAqIENvcHlyaWdodCAoQykgUmVzZWFy
Y2ggSW4gTW90aW9uIExpbWl0ZWQgMjAxMC4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBP
dGhlciBjb250cmlidXRvcnM6CiAgKiAgIE5pY2sgQmxpZXZlcnMgPG5pY2tiQGFkYWNlbC5jb20u
YXU+CkBAIC00MCw3ICs0MSwxMyBAQAogI2lmbmRlZiBBcmVuYV9oCiAjZGVmaW5lIEFyZW5hX2gK
IAorI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgorCisjaWZkZWYgV1RGX0FSTVY1X05FRURTX0FM
SUdOXzgKKyNkZWZpbmUgQVJFTkFfQUxJR05fTUFTSyA3CisjZWxzZQogI2RlZmluZSBBUkVOQV9B
TElHTl9NQVNLIDMKKyNlbmRpZgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKZGlmZiAtLWdpdCBh
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckFyZW5hLmNwcCBiL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckFyZW5hLmNwcAppbmRleCAxZGFmYjJmLi5iZThhY2Y2IDEwMDY0NAotLS0gYS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJBcmVuYS5jcHAKKysrIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QXJlbmEuY3BwCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAwMyBBcHBs
ZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBNb3Rpb24gTGlt
aXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFBvcnRpb25zIGFyZSBDb3B5
cmlnaHQgKEMpIDE5OTggTmV0c2NhcGUgQ29tbXVuaWNhdGlvbnMgQ29ycG9yYXRpb24uCiAgKgpA
QCAtNTQsNiArNTUsOCBAQCB0eXBlZGVmIHN0cnVjdCB7CiAgICAgaW50IHNpZ25hdHVyZTsKIH0g
UmVuZGVyQXJlbmFEZWJ1Z0hlYWRlcjsKIAorI2RlZmluZSBBUkVOQV9BTElHTkVEX0hFQURFUl9T
SVpFICgoc2l6ZW9mKFJlbmRlckFyZW5hRGVidWdIZWFkZXIpICsgQVJFTkFfQUxJR05fTUFTSykg
JiB+QVJFTkFfQUxJR05fTUFTSykKKwogI2VuZGlmCiAKIFJlbmRlckFyZW5hOjpSZW5kZXJBcmVu
YSh1bnNpZ25lZCBhcmVuYVNpemUpCkBAIC03NSwxMiArNzgsMTMgQEAgdm9pZCogUmVuZGVyQXJl
bmE6OmFsbG9jYXRlKHNpemVfdCBzaXplKQogI2lmbmRlZiBOREVCVUcKICAgICAvLyBVc2Ugc3Rh
bmRhcmQgbWFsbG9jIHNvIHRoYXQgbWVtb3J5IGRlYnVnZ2luZyB0b29scyB3b3JrLgogICAgIEFT
U0VSVCh0aGlzKTsKLSAgICB2b2lkKiBibG9jayA9IDo6bWFsbG9jKHNpemVvZihSZW5kZXJBcmVu
YURlYnVnSGVhZGVyKSArIHNpemUpOworICAgIHNpemVfdCBoZWFkZXJTaXplID0gQVJFTkFfQUxJ
R05FRF9IRUFERVJfU0laRTsKKyAgICB2b2lkKiBibG9jayA9IDo6bWFsbG9jKGhlYWRlclNpemUg
KyBzaXplKTsKICAgICBSZW5kZXJBcmVuYURlYnVnSGVhZGVyKiBoZWFkZXIgPSBzdGF0aWNfY2Fz
dDxSZW5kZXJBcmVuYURlYnVnSGVhZGVyKj4oYmxvY2spOwogICAgIGhlYWRlci0+YXJlbmEgPSB0
aGlzOwogICAgIGhlYWRlci0+c2l6ZSA9IHNpemU7CiAgICAgaGVhZGVyLT5zaWduYXR1cmUgPSBz
aWduYXR1cmU7Ci0gICAgcmV0dXJuIGhlYWRlciArIDE7CisgICAgcmV0dXJuIHN0YXRpY19jYXN0
PHVuc2lnbmVkIGNoYXIqPihibG9jaykgKyBoZWFkZXJTaXplOwogI2Vsc2UKICAgICB2b2lkKiBy
ZXN1bHQgPSAwOwogCkBAIC0xMTIsMTIgKzExNiwxMyBAQCB2b2lkIFJlbmRlckFyZW5hOjpmcmVl
KHNpemVfdCBzaXplLCB2b2lkKiBwdHIpCiB7CiAjaWZuZGVmIE5ERUJVRwogICAgIC8vIFVzZSBz
dGFuZGFyZCBmcmVlIHNvIHRoYXQgbWVtb3J5IGRlYnVnZ2luZyB0b29scyB3b3JrLgotICAgIFJl
bmRlckFyZW5hRGVidWdIZWFkZXIqIGhlYWRlciA9IHN0YXRpY19jYXN0PFJlbmRlckFyZW5hRGVi
dWdIZWFkZXIqPihwdHIpIC0gMTsKKyAgICB2b2lkKiBibG9jayA9IHN0YXRpY19jYXN0PHVuc2ln
bmVkIGNoYXIqPihwdHIpIC0gQVJFTkFfQUxJR05FRF9IRUFERVJfU0laRTsKKyAgICBSZW5kZXJB
cmVuYURlYnVnSGVhZGVyKiBoZWFkZXIgPSBzdGF0aWNfY2FzdDxSZW5kZXJBcmVuYURlYnVnSGVh
ZGVyKj4oYmxvY2spOwogICAgIEFTU0VSVChoZWFkZXItPnNpZ25hdHVyZSA9PSBzaWduYXR1cmUp
OwogICAgIEFTU0VSVF9VTlVTRUQoc2l6ZSwgaGVhZGVyLT5zaXplID09IHNpemUpOwogICAgIEFT
U0VSVChoZWFkZXItPmFyZW5hID09IHRoaXMpOwogICAgIGhlYWRlci0+c2lnbmF0dXJlID0gc2ln
bmF0dXJlRGVhZDsKLSAgICA6OmZyZWUoaGVhZGVyKTsKKyAgICA6OmZyZWUoYmxvY2spOwogI2Vs
c2UKICAgICAvLyBFbnN1cmUgd2UgaGF2ZSBjb3JyZWN0IGFsaWdubWVudCBmb3IgcG9pbnRlcnMu
ICBJbXBvcnRhbnQgZm9yIFRydTY0CiAgICAgc2l6ZSA9IFJPVU5EVVAoc2l6ZSwgc2l6ZW9mKHZv
aWQqKSk7Cg==
</data>
<flag name="review"
          id="39992"
          type_id="1"
          status="-"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56069</attachid>
            <date>2010-05-14 07:39:50 -0700</date>
            <delta_ts>2010-05-14 07:55:12 -0700</delta_ts>
            <desc>Generalize last patch removing ARM specific stuff.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>8674</size>
            <attacher name="David Tapuska">dave+webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA3YWM2YjNjLi42YTRjMTMwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTAtMDUtMTQgIERhdmUgVGFwdXNrYSAgPGR0YXB1c2thQHJpbS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IGRlZmlu
ZSBmb3Igd2UgbmVlZCBzdHJpY3QgYXJlbmEgYWxpZ25tZW50LiBBUk12NSB3aXRoCisgICAgICAg
IGRvdWJsZSB3b3JkIGluc3RydWN0aW9ucyBzZXQgdGhpcyB2YWx1ZS4KKworICAgICAgICAqIHd0
Zi9QbGF0Zm9ybS5oOgorCiAyMDEwLTA1LTEzICBNYWNpZWogU3RhY2hvd2lhayAgPG1qc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgTm8gcmV2aWV3LCBhdHRlbXB0ZWQgYnVpbGQgZml4LgpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9KYXZhU2NyaXB0Q29yZS93dGYv
UGxhdGZvcm0uaAppbmRleCBmNjEyOWFjLi5iYTNhMDkwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaApA
QCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIw
MDkgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAw
Ny0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBN
b3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yMjIsMTIgKzIyMywxNiBAQAogCiAjZWxpZiBkZWZpbmVkKF9f
QVJNX0FSQ0hfNV9fKSBcCiAgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVUX18pIFwKLSAgICB8
fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNUVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81
VEVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pIFwKICAgICB8fCBkZWZp
bmVkKF9fTUFSTV9BUk1WNV9fKQogI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1CiAKKyNl
bGlmIGRlZmluZWQoX19BUk1fQVJDSF81RV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNI
XzVURV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURUpfXykKKyNkZWZpbmUgV1RG
X0FSTV9BUkNIX1ZFUlNJT04gNQorLypBUk12NVRFIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNl
IGFsaWduZWQgbWVtb3J5Ki8KKyNkZWZpbmUgV1RGX1VTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRf
SU5URUdFUiAxCisKICNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82X18pIFwKICAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfNkpfXykgXAogICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBc
CkBAIC0yNDUsNiArMjUwLDEzIEBACiAjZWxpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfQVJNKQog
I2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiBfX1RBUkdFVF9BUkNIX0FSTQogCisjaWYgZGVm
aW5lZChfX1RBUkdFVF9BUkNIXzVFKSBcCisgICAgfHwgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVU
RSkgXAorICAgIHx8IGRlZmluZWQoX19UQVJHRVRfQVJDSF81VEVKKQorLypBUk12NVRFIHJlcXVp
cmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5Ki8KKyNkZWZpbmUgV1RGX1VTRV9B
UkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCisjZW5kaWYKKwogI2Vsc2UKICNkZWZpbmUg
V1RGX0FSTV9BUkNIX1ZFUlNJT04gMAogCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDc2MTAwZmEuLjNjNDM2NzcgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTAtMDUtMTQgIERhdmUgVGFwdXNrYSAgPGR0YXB1c2thQHJpbS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGFsaWdubWVudCBmYXVs
dHMgb24gQVJNdjVURSBhcmNoaXRlY3R1cmVzLgorCisgICAgICAgIEluIGRlYnVnIG1vZGUgdGhl
IFJlbmRlckFyZWFEZWJ1Z0hlYWRlciB3YXMgMTIgYnl0ZXMgd2hpY2gKKyAgICAgICAgY2F1c2Vk
IGFuIGFsaWdubWVudCBmYWlsdXJlIGZvciBSZW5kZXJPYmplY3RzIGJlY2F1c2UgdGhleQorICAg
ICAgICB3b3VsZCBzdGFydCBvbiBhIDQgYnl0ZSBib3VuZGFyeS4gQWxpZ24gdGhlIFJlbmRlckFy
ZW5hRGVidWdIZWFkZXIKKyAgICAgICAgdXNpbmcgdGhlIEFSRU5BX0FMSUdOIG1hY3JvLgorCisg
ICAgICAgIEluIE5ERUJVRyBtb2RlIHRoZSBSZW5kZXJBcmVuYSBvYmplY3RzIGNvbWUgZnJvbSBh
IHBvb2wgd2hpY2gKKyAgICAgICAgaGFzIDQgYnl0ZSBhbGlnbm1lbnQuIEFsbG93IHRoZSBhbGln
bm1lbnQgdG8gYmUgYmFzZWQgb24gdGhlCisgICAgICAgIEFsbG9jQWxpZ25tZW50SW50ZWdlci4g
VGhpcyBkZWZpbmUgd2lsbCBiZSBhY3RpdmF0ZWQgZm9yIEFSTXY1VEUuCisKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQ2CisKIDIwMTAtMDUtMTMg
IFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSBX
ZWJDb3JlOjpyZXBvcnRFeGNlcHRpb24gYW5kIFdlYkNvcmU6OnRvSlNET01XaW5kb3cgc3ltYm9s
cy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQXJlbmEuY3BwIGIvV2ViQ29yZS9wbGF0
Zm9ybS9BcmVuYS5jcHAKaW5kZXggMzcyYTU2NS4uMzM5ODBlZCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9BcmVuYS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9BcmVuYS5jcHAKQEAg
LTk3LDcgKzk3LDcgQEAgdm9pZCBJbml0QXJlbmFQb29sKEFyZW5hUG9vbCogcG9vbCwgY29uc3Qg
Y2hhciosIHVuc2lnbmVkIHNpemUsIHVuc2lnbmVkIGFsaWduKQogICAgICBwb29sLT5tYXNrID0g
QklUTUFTSyhDZWlsaW5nTG9nMihhbGlnbikpOwogICAgICBwb29sLT5maXJzdC5uZXh0ID0gTlVM
TDsKICAgICAgcG9vbC0+Zmlyc3QuYmFzZSA9IHBvb2wtPmZpcnN0LmF2YWlsID0gcG9vbC0+Zmly
c3QubGltaXQgPQotICAgICAgICAgKHV3b3JkKUFSRU5BX0FMSUdOKHBvb2wsICZwb29sLT5maXJz
dCArIDEpOworICAgICAgICAgKHV3b3JkKUFSRU5BX0FMSUdOKCZwb29sLT5maXJzdCArIDEpOwog
ICAgICBwb29sLT5jdXJyZW50ID0gJnBvb2wtPmZpcnN0OwogICAgICBwb29sLT5hcmVuYXNpemUg
PSBzaXplOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKIH0KQEAgLTEyOSw3ICsx
MjksNyBAQCB2b2lkKiBBcmVuYUFsbG9jYXRlKEFyZW5hUG9vbCAqcG9vbCwgdW5zaWduZWQgaW50
IG5iKQogCiAgICAgQVNTRVJUKChuYiAmIHBvb2wtPm1hc2spID09IDApOwogICAgIAotICAgIG5i
ID0gKHV3b3JkKUFSRU5BX0FMSUdOKHBvb2wsIG5iKTsgLyogZm9yY2UgYWxpZ25tZW50ICovCisg
ICAgbmIgPSAodXdvcmQpQVJFTkFfQUxJR04obmIpOyAvKiBmb3JjZSBhbGlnbm1lbnQgKi8KIAog
ICAgIC8qIGF0dGVtcHQgdG8gYWxsb2NhdGUgZnJvbSBhcmVuYXMgYXQgcG9vbC0+Y3VycmVudCAq
LwogICAgIHsKQEAgLTE4MSw3ICsxODEsNyBAQCB2b2lkKiBBcmVuYUFsbG9jYXRlKEFyZW5hUG9v
bCAqcG9vbCwgdW5zaWduZWQgaW50IG5iKQogICAgICAgICBhID0gKEFyZW5hKilmYXN0TWFsbG9j
KHN6KTsKICAgICAgICAgLy8gZmFzdE1hbGxvYyB3aWxsIGFib3J0KCkgaWYgaXQgZmFpbHMsIHNv
IHdlIGFyZSBndWFyYW50ZWVkIHRoYXQgYSBpcyBub3QgMC4KICAgICAgICAgYS0+bGltaXQgPSAo
dXdvcmQpYSArIHN6OwotICAgICAgICBhLT5iYXNlID0gYS0+YXZhaWwgPSAodXdvcmQpQVJFTkFf
QUxJR04ocG9vbCwgYSArIDEpOworICAgICAgICBhLT5iYXNlID0gYS0+YXZhaWwgPSAodXdvcmQp
QVJFTkFfQUxJR04oYSArIDEpOwogICAgICAgICBycCA9IChjaGFyICopYS0+YXZhaWw7CiAgICAg
ICAgIGEtPmF2YWlsICs9IG5iOwogICAgICAgICAvKiB0aGUgbmV3bHkgYWxsb2NhdGVkIGFyZW5h
IGlzIGxpbmtlZCBhZnRlciBwb29sLT5jdXJyZW50IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9BcmVuYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9BcmVuYS5oCmluZGV4IGJjNDkzMDcuLjYz
MmViMzUgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXJlbmEuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL0FyZW5hLmgKQEAgLTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAx
OTk4LTIwMDAgTmV0c2NhcGUgQ29tbXVuaWNhdGlvbnMgQ29ycG9yYXRpb24uCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDMtNiBBcHBsZSBDb21wdXRlcgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJ
biBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIE90aGVy
IGNvbnRyaWJ1dG9yczoKICAqICAgTmljayBCbGlldmVycyA8bmlja2JAYWRhY2VsLmNvbS5hdT4K
QEAgLTQwLDcgKzQxLDE0IEBACiAjaWZuZGVmIEFyZW5hX2gKICNkZWZpbmUgQXJlbmFfaAogCisj
aW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CisjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KKwor
I2lmZGVmIFdURl9VU0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIKKyNkZWZpbmUgQVJF
TkFfQUxJR05fTUFTSyAoc2l6ZW9mKFdURjo6QWxsb2NBbGlnbm1lbnRJbnRlZ2VyKSAtIDEpCisj
ZWxzZQogI2RlZmluZSBBUkVOQV9BTElHTl9NQVNLIDMKKyNlbmRpZgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTY2LDEzICs3NCwxMyBAQCB2b2lkIEZpbmlzaEFyZW5hUG9vbChBcmVuYVBv
b2wgKnBvb2wpOwogdm9pZCBGcmVlQXJlbmFQb29sKEFyZW5hUG9vbCAqcG9vbCk7CiB2b2lkKiBB
cmVuYUFsbG9jYXRlKEFyZW5hUG9vbCAqcG9vbCwgdW5zaWduZWQgaW50IG5iKTsKIAotI2RlZmlu
ZSBBUkVOQV9BTElHTihwb29sLCBuKSAoKCh1d29yZCkobikgKyBBUkVOQV9BTElHTl9NQVNLKSAm
IH5BUkVOQV9BTElHTl9NQVNLKQorI2RlZmluZSBBUkVOQV9BTElHTihuKSAoKCh1d29yZCkobikg
KyBBUkVOQV9BTElHTl9NQVNLKSAmIH5BUkVOQV9BTElHTl9NQVNLKQogI2RlZmluZSBJTklUX0FS
RU5BX1BPT0wocG9vbCwgbmFtZSwgc2l6ZSkgXAogICAgICAgICBJbml0QXJlbmFQb29sKHBvb2ws
IG5hbWUsIHNpemUsIEFSRU5BX0FMSUdOX01BU0sgKyAxKQogCiAjZGVmaW5lIEFSRU5BX0FMTE9D
QVRFKHAsIHBvb2wsIG5iKSBcCiAgICAgICAgIEFyZW5hICpfYSA9IChwb29sKS0+Y3VycmVudDsg
XAotICAgICAgICB1bnNpZ25lZCBpbnQgX25iID0gQVJFTkFfQUxJR04ocG9vbCwgbmIpOyBcCisg
ICAgICAgIHVuc2lnbmVkIGludCBfbmIgPSBBUkVOQV9BTElHTihuYik7IFwKICAgICAgICAgdXdv
cmQgX3AgPSBfYS0+YXZhaWw7IFwKICAgICAgICAgdXdvcmQgX3EgPSBfcCArIF9uYjsgXAogICAg
ICAgICBpZiAoX3EgPiBfYS0+bGltaXQpIFwKQEAgLTgzLDEwICs5MSwxMCBAQCB2b2lkKiBBcmVu
YUFsbG9jYXRlKEFyZW5hUG9vbCAqcG9vbCwgdW5zaWduZWQgaW50IG5iKTsKIAogI2RlZmluZSBB
UkVOQV9HUk9XKHAsIHBvb2wsIHNpemUsIGluY3IpIFwKICAgICAgICAgQXJlbmEgKl9hID0gKHBv
b2wpLT5jdXJyZW50OyBcCi0gICAgICAgIHVuc2lnbmVkIGludCBfaW5jciA9IEFSRU5BX0FMSUdO
KHBvb2wsIGluY3IpOyBcCisgICAgICAgIHVuc2lnbmVkIGludCBfaW5jciA9IEFSRU5BX0FMSUdO
KGluY3IpOyBcCiAgICAgICAgIHV3b3JkIF9wID0gX2EtPmF2YWlsOyBcCiAgICAgICAgIHV3b3Jk
IF9xID0gX3AgKyBfaW5jcjsgXAotICAgICAgICBpZiAoX3AgPT0gKHV3b3JkKShwKSArIEFSRU5B
X0FMSUdOKHBvb2wsIHNpemUpICYmIFwKKyAgICAgICAgaWYgKF9wID09ICh1d29yZCkocCkgKyBB
UkVOQV9BTElHTihzaXplKSAmJiBcCiAgICAgICAgICAgICBfcSA8PSBfYS0+bGltaXQpIHsgXAog
ICAgICAgICAgICAgX2EtPmF2YWlsID0gX3E7IFwKICAgICAgICAgfSBlbHNlIHsgXApAQCAtMTEy
LDcgKzEyMCw3IEBAIHZvaWQqIEFyZW5hQWxsb2NhdGUoQXJlbmFQb29sICpwb29sLCB1bnNpZ25l
ZCBpbnQgbmIpOwogICAgICAgICAgY2hhciAqX20gPSAoY2hhciAqKShtYXJrKTsgXAogICAgICAg
ICAgQXJlbmEgKl9hID0gKHBvb2wpLT5jdXJyZW50OyBcCiAgICAgICAgICBpZiAoVVBUUkRJRkYo
X20sIF9hLT5iYXNlKSA8PSBVUFRSRElGRihfYS0+YXZhaWwsIF9hLT5iYXNlKSkgeyBcCi0gICAg
ICAgICAgICAgX2EtPmF2YWlsID0gKHV3b3JkKUFSRU5BX0FMSUdOKHBvb2wsIF9tKTsgXAorICAg
ICAgICAgICAgIF9hLT5hdmFpbCA9ICh1d29yZClBUkVOQV9BTElHTihfbSk7IFwKICAgICAgICAg
ICAgICBDTEVBUl9VTlVTRUQoX2EpOyBcCiAgICAgICAgICB9IGVsc2UgeyBcCiAgICAgICAgICAg
ICAgQXJlbmFSZWxlYXNlKHBvb2wsIF9tKTsgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQXJlbmEuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuY3BwCmlu
ZGV4IDFkYWZiMmYuLmUxNTEwMWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckFyZW5hLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5jcHAKQEAgLTEs
NSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDAzIEFwcGxlIENvbXB1dGVyLCBJbmMu
CisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUG9ydGlvbnMgYXJlIENvcHlyaWdodCAoQykgMTk5OCBO
ZXRzY2FwZSBDb21tdW5pY2F0aW9ucyBDb3Jwb3JhdGlvbi4KICAqCkBAIC01NCw2ICs1NSw4IEBA
IHR5cGVkZWYgc3RydWN0IHsKICAgICBpbnQgc2lnbmF0dXJlOwogfSBSZW5kZXJBcmVuYURlYnVn
SGVhZGVyOwogCitzdGF0aWMgY29uc3Qgc2l6ZV90IGRlYnVnSGVhZGVyU2l6ZSA9IEFSRU5BX0FM
SUdOKHNpemVvZihSZW5kZXJBcmVuYURlYnVnSGVhZGVyKSk7CisKICNlbmRpZgogCiBSZW5kZXJB
cmVuYTo6UmVuZGVyQXJlbmEodW5zaWduZWQgYXJlbmFTaXplKQpAQCAtNzUsMTIgKzc4LDEyIEBA
IHZvaWQqIFJlbmRlckFyZW5hOjphbGxvY2F0ZShzaXplX3Qgc2l6ZSkKICNpZm5kZWYgTkRFQlVH
CiAgICAgLy8gVXNlIHN0YW5kYXJkIG1hbGxvYyBzbyB0aGF0IG1lbW9yeSBkZWJ1Z2dpbmcgdG9v
bHMgd29yay4KICAgICBBU1NFUlQodGhpcyk7Ci0gICAgdm9pZCogYmxvY2sgPSA6Om1hbGxvYyhz
aXplb2YoUmVuZGVyQXJlbmFEZWJ1Z0hlYWRlcikgKyBzaXplKTsKKyAgICB2b2lkKiBibG9jayA9
IDo6bWFsbG9jKGRlYnVnSGVhZGVyU2l6ZSArIHNpemUpOwogICAgIFJlbmRlckFyZW5hRGVidWdI
ZWFkZXIqIGhlYWRlciA9IHN0YXRpY19jYXN0PFJlbmRlckFyZW5hRGVidWdIZWFkZXIqPihibG9j
ayk7CiAgICAgaGVhZGVyLT5hcmVuYSA9IHRoaXM7CiAgICAgaGVhZGVyLT5zaXplID0gc2l6ZTsK
ICAgICBoZWFkZXItPnNpZ25hdHVyZSA9IHNpZ25hdHVyZTsKLSAgICByZXR1cm4gaGVhZGVyICsg
MTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y2hhcio+KGJsb2NrKSArIGRlYnVnSGVhZGVyU2l6
ZTsKICNlbHNlCiAgICAgdm9pZCogcmVzdWx0ID0gMDsKIApAQCAtMTEyLDEyICsxMTUsMTMgQEAg
dm9pZCBSZW5kZXJBcmVuYTo6ZnJlZShzaXplX3Qgc2l6ZSwgdm9pZCogcHRyKQogewogI2lmbmRl
ZiBOREVCVUcKICAgICAvLyBVc2Ugc3RhbmRhcmQgZnJlZSBzbyB0aGF0IG1lbW9yeSBkZWJ1Z2dp
bmcgdG9vbHMgd29yay4KLSAgICBSZW5kZXJBcmVuYURlYnVnSGVhZGVyKiBoZWFkZXIgPSBzdGF0
aWNfY2FzdDxSZW5kZXJBcmVuYURlYnVnSGVhZGVyKj4ocHRyKSAtIDE7CisgICAgdm9pZCogYmxv
Y2sgPSBzdGF0aWNfY2FzdDxjaGFyKj4ocHRyKSAtIGRlYnVnSGVhZGVyU2l6ZTsKKyAgICBSZW5k
ZXJBcmVuYURlYnVnSGVhZGVyKiBoZWFkZXIgPSBzdGF0aWNfY2FzdDxSZW5kZXJBcmVuYURlYnVn
SGVhZGVyKj4oYmxvY2spOwogICAgIEFTU0VSVChoZWFkZXItPnNpZ25hdHVyZSA9PSBzaWduYXR1
cmUpOwogICAgIEFTU0VSVF9VTlVTRUQoc2l6ZSwgaGVhZGVyLT5zaXplID09IHNpemUpOwogICAg
IEFTU0VSVChoZWFkZXItPmFyZW5hID09IHRoaXMpOwogICAgIGhlYWRlci0+c2lnbmF0dXJlID0g
c2lnbmF0dXJlRGVhZDsKLSAgICA6OmZyZWUoaGVhZGVyKTsKKyAgICA6OmZyZWUoYmxvY2spOwog
I2Vsc2UKICAgICAvLyBFbnN1cmUgd2UgaGF2ZSBjb3JyZWN0IGFsaWdubWVudCBmb3IgcG9pbnRl
cnMuICBJbXBvcnRhbnQgZm9yIFRydTY0CiAgICAgc2l6ZSA9IFJPVU5EVVAoc2l6ZSwgc2l6ZW9m
KHZvaWQqKSk7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56070</attachid>
            <date>2010-05-14 07:55:12 -0700</date>
            <delta_ts>2010-05-14 09:19:32 -0700</delta_ts>
            <desc>Add alignment based on AllocAlignmentInteger for Arenas.</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>8674</size>
            <attacher name="David Tapuska">dave+webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA3YWM2YjNjLi42YTRjMTMwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTAtMDUtMTQgIERhdmUgVGFwdXNrYSAgPGR0YXB1c2thQHJpbS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IGRlZmlu
ZSBmb3Igd2UgbmVlZCBzdHJpY3QgYXJlbmEgYWxpZ25tZW50LiBBUk12NSB3aXRoCisgICAgICAg
IGRvdWJsZSB3b3JkIGluc3RydWN0aW9ucyBzZXQgdGhpcyB2YWx1ZS4KKworICAgICAgICAqIHd0
Zi9QbGF0Zm9ybS5oOgorCiAyMDEwLTA1LTEzICBNYWNpZWogU3RhY2hvd2lhayAgPG1qc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgTm8gcmV2aWV3LCBhdHRlbXB0ZWQgYnVpbGQgZml4LgpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9KYXZhU2NyaXB0Q29yZS93dGYv
UGxhdGZvcm0uaAppbmRleCBmNjEyOWFjLi5iYTNhMDkwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaApA
QCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIw
MDkgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAw
Ny0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBN
b3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yMjIsMTIgKzIyMywxNiBAQAogCiAjZWxpZiBkZWZpbmVkKF9f
QVJNX0FSQ0hfNV9fKSBcCiAgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVUX18pIFwKLSAgICB8
fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNUVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81
VEVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pIFwKICAgICB8fCBkZWZp
bmVkKF9fTUFSTV9BUk1WNV9fKQogI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1CiAKKyNl
bGlmIGRlZmluZWQoX19BUk1fQVJDSF81RV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNI
XzVURV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURUpfXykKKyNkZWZpbmUgV1RG
X0FSTV9BUkNIX1ZFUlNJT04gNQorLypBUk12NVRFIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNl
IGFsaWduZWQgbWVtb3J5Ki8KKyNkZWZpbmUgV1RGX1VTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRf
SU5URUdFUiAxCisKICNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82X18pIFwKICAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfNkpfXykgXAogICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBc
CkBAIC0yNDUsNiArMjUwLDEzIEBACiAjZWxpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfQVJNKQog
I2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiBfX1RBUkdFVF9BUkNIX0FSTQogCisjaWYgZGVm
aW5lZChfX1RBUkdFVF9BUkNIXzVFKSBcCisgICAgfHwgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVU
RSkgXAorICAgIHx8IGRlZmluZWQoX19UQVJHRVRfQVJDSF81VEVKKQorLypBUk12NVRFIHJlcXVp
cmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5Ki8KKyNkZWZpbmUgV1RGX1VTRV9B
UkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCisjZW5kaWYKKwogI2Vsc2UKICNkZWZpbmUg
V1RGX0FSTV9BUkNIX1ZFUlNJT04gMAogCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDc2MTAwZmEuLjNjNDM2NzcgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTAtMDUtMTQgIERhdmUgVGFwdXNrYSAgPGR0YXB1c2thQHJpbS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGFsaWdubWVudCBmYXVs
dHMgb24gQVJNdjVURSBhcmNoaXRlY3R1cmVzLgorCisgICAgICAgIEluIGRlYnVnIG1vZGUgdGhl
IFJlbmRlckFyZWFEZWJ1Z0hlYWRlciB3YXMgMTIgYnl0ZXMgd2hpY2gKKyAgICAgICAgY2F1c2Vk
IGFuIGFsaWdubWVudCBmYWlsdXJlIGZvciBSZW5kZXJPYmplY3RzIGJlY2F1c2UgdGhleQorICAg
ICAgICB3b3VsZCBzdGFydCBvbiBhIDQgYnl0ZSBib3VuZGFyeS4gQWxpZ24gdGhlIFJlbmRlckFy
ZW5hRGVidWdIZWFkZXIKKyAgICAgICAgdXNpbmcgdGhlIEFSRU5BX0FMSUdOIG1hY3JvLgorCisg
ICAgICAgIEluIE5ERUJVRyBtb2RlIHRoZSBSZW5kZXJBcmVuYSBvYmplY3RzIGNvbWUgZnJvbSBh
IHBvb2wgd2hpY2gKKyAgICAgICAgaGFzIDQgYnl0ZSBhbGlnbm1lbnQuIEFsbG93IHRoZSBhbGln
bm1lbnQgdG8gYmUgYmFzZWQgb24gdGhlCisgICAgICAgIEFsbG9jQWxpZ25tZW50SW50ZWdlci4g
VGhpcyBkZWZpbmUgd2lsbCBiZSBhY3RpdmF0ZWQgZm9yIEFSTXY1VEUuCisKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQ2CisKIDIwMTAtMDUtMTMg
IFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSBX
ZWJDb3JlOjpyZXBvcnRFeGNlcHRpb24gYW5kIFdlYkNvcmU6OnRvSlNET01XaW5kb3cgc3ltYm9s
cy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQXJlbmEuY3BwIGIvV2ViQ29yZS9wbGF0
Zm9ybS9BcmVuYS5jcHAKaW5kZXggMzcyYTU2NS4uMzM5ODBlZCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9BcmVuYS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9BcmVuYS5jcHAKQEAg
LTk3LDcgKzk3LDcgQEAgdm9pZCBJbml0QXJlbmFQb29sKEFyZW5hUG9vbCogcG9vbCwgY29uc3Qg
Y2hhciosIHVuc2lnbmVkIHNpemUsIHVuc2lnbmVkIGFsaWduKQogICAgICBwb29sLT5tYXNrID0g
QklUTUFTSyhDZWlsaW5nTG9nMihhbGlnbikpOwogICAgICBwb29sLT5maXJzdC5uZXh0ID0gTlVM
TDsKICAgICAgcG9vbC0+Zmlyc3QuYmFzZSA9IHBvb2wtPmZpcnN0LmF2YWlsID0gcG9vbC0+Zmly
c3QubGltaXQgPQotICAgICAgICAgKHV3b3JkKUFSRU5BX0FMSUdOKHBvb2wsICZwb29sLT5maXJz
dCArIDEpOworICAgICAgICAgKHV3b3JkKUFSRU5BX0FMSUdOKCZwb29sLT5maXJzdCArIDEpOwog
ICAgICBwb29sLT5jdXJyZW50ID0gJnBvb2wtPmZpcnN0OwogICAgICBwb29sLT5hcmVuYXNpemUg
PSBzaXplOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKIH0KQEAgLTEyOSw3ICsx
MjksNyBAQCB2b2lkKiBBcmVuYUFsbG9jYXRlKEFyZW5hUG9vbCAqcG9vbCwgdW5zaWduZWQgaW50
IG5iKQogCiAgICAgQVNTRVJUKChuYiAmIHBvb2wtPm1hc2spID09IDApOwogICAgIAotICAgIG5i
ID0gKHV3b3JkKUFSRU5BX0FMSUdOKHBvb2wsIG5iKTsgLyogZm9yY2UgYWxpZ25tZW50ICovCisg
ICAgbmIgPSAodXdvcmQpQVJFTkFfQUxJR04obmIpOyAvKiBmb3JjZSBhbGlnbm1lbnQgKi8KIAog
ICAgIC8qIGF0dGVtcHQgdG8gYWxsb2NhdGUgZnJvbSBhcmVuYXMgYXQgcG9vbC0+Y3VycmVudCAq
LwogICAgIHsKQEAgLTE4MSw3ICsxODEsNyBAQCB2b2lkKiBBcmVuYUFsbG9jYXRlKEFyZW5hUG9v
bCAqcG9vbCwgdW5zaWduZWQgaW50IG5iKQogICAgICAgICBhID0gKEFyZW5hKilmYXN0TWFsbG9j
KHN6KTsKICAgICAgICAgLy8gZmFzdE1hbGxvYyB3aWxsIGFib3J0KCkgaWYgaXQgZmFpbHMsIHNv
IHdlIGFyZSBndWFyYW50ZWVkIHRoYXQgYSBpcyBub3QgMC4KICAgICAgICAgYS0+bGltaXQgPSAo
dXdvcmQpYSArIHN6OwotICAgICAgICBhLT5iYXNlID0gYS0+YXZhaWwgPSAodXdvcmQpQVJFTkFf
QUxJR04ocG9vbCwgYSArIDEpOworICAgICAgICBhLT5iYXNlID0gYS0+YXZhaWwgPSAodXdvcmQp
QVJFTkFfQUxJR04oYSArIDEpOwogICAgICAgICBycCA9IChjaGFyICopYS0+YXZhaWw7CiAgICAg
ICAgIGEtPmF2YWlsICs9IG5iOwogICAgICAgICAvKiB0aGUgbmV3bHkgYWxsb2NhdGVkIGFyZW5h
IGlzIGxpbmtlZCBhZnRlciBwb29sLT5jdXJyZW50IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9BcmVuYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9BcmVuYS5oCmluZGV4IGJjNDkzMDcuLjNm
N2ZiYmQgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXJlbmEuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL0FyZW5hLmgKQEAgLTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAx
OTk4LTIwMDAgTmV0c2NhcGUgQ29tbXVuaWNhdGlvbnMgQ29ycG9yYXRpb24uCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDMtNiBBcHBsZSBDb21wdXRlcgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJ
biBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIE90aGVy
IGNvbnRyaWJ1dG9yczoKICAqICAgTmljayBCbGlldmVycyA8bmlja2JAYWRhY2VsLmNvbS5hdT4K
QEAgLTQwLDcgKzQxLDE0IEBACiAjaWZuZGVmIEFyZW5hX2gKICNkZWZpbmUgQXJlbmFfaAogCisj
aW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KKyNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KKwor
I2lmZGVmIFdURl9VU0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIKKyNkZWZpbmUgQVJF
TkFfQUxJR05fTUFTSyAoc2l6ZW9mKFdURjo6QWxsb2NBbGlnbm1lbnRJbnRlZ2VyKSAtIDEpCisj
ZWxzZQogI2RlZmluZSBBUkVOQV9BTElHTl9NQVNLIDMKKyNlbmRpZgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTY2LDEzICs3NCwxMyBAQCB2b2lkIEZpbmlzaEFyZW5hUG9vbChBcmVuYVBv
b2wgKnBvb2wpOwogdm9pZCBGcmVlQXJlbmFQb29sKEFyZW5hUG9vbCAqcG9vbCk7CiB2b2lkKiBB
cmVuYUFsbG9jYXRlKEFyZW5hUG9vbCAqcG9vbCwgdW5zaWduZWQgaW50IG5iKTsKIAotI2RlZmlu
ZSBBUkVOQV9BTElHTihwb29sLCBuKSAoKCh1d29yZCkobikgKyBBUkVOQV9BTElHTl9NQVNLKSAm
IH5BUkVOQV9BTElHTl9NQVNLKQorI2RlZmluZSBBUkVOQV9BTElHTihuKSAoKCh1d29yZCkobikg
KyBBUkVOQV9BTElHTl9NQVNLKSAmIH5BUkVOQV9BTElHTl9NQVNLKQogI2RlZmluZSBJTklUX0FS
RU5BX1BPT0wocG9vbCwgbmFtZSwgc2l6ZSkgXAogICAgICAgICBJbml0QXJlbmFQb29sKHBvb2ws
IG5hbWUsIHNpemUsIEFSRU5BX0FMSUdOX01BU0sgKyAxKQogCiAjZGVmaW5lIEFSRU5BX0FMTE9D
QVRFKHAsIHBvb2wsIG5iKSBcCiAgICAgICAgIEFyZW5hICpfYSA9IChwb29sKS0+Y3VycmVudDsg
XAotICAgICAgICB1bnNpZ25lZCBpbnQgX25iID0gQVJFTkFfQUxJR04ocG9vbCwgbmIpOyBcCisg
ICAgICAgIHVuc2lnbmVkIGludCBfbmIgPSBBUkVOQV9BTElHTihuYik7IFwKICAgICAgICAgdXdv
cmQgX3AgPSBfYS0+YXZhaWw7IFwKICAgICAgICAgdXdvcmQgX3EgPSBfcCArIF9uYjsgXAogICAg
ICAgICBpZiAoX3EgPiBfYS0+bGltaXQpIFwKQEAgLTgzLDEwICs5MSwxMCBAQCB2b2lkKiBBcmVu
YUFsbG9jYXRlKEFyZW5hUG9vbCAqcG9vbCwgdW5zaWduZWQgaW50IG5iKTsKIAogI2RlZmluZSBB
UkVOQV9HUk9XKHAsIHBvb2wsIHNpemUsIGluY3IpIFwKICAgICAgICAgQXJlbmEgKl9hID0gKHBv
b2wpLT5jdXJyZW50OyBcCi0gICAgICAgIHVuc2lnbmVkIGludCBfaW5jciA9IEFSRU5BX0FMSUdO
KHBvb2wsIGluY3IpOyBcCisgICAgICAgIHVuc2lnbmVkIGludCBfaW5jciA9IEFSRU5BX0FMSUdO
KGluY3IpOyBcCiAgICAgICAgIHV3b3JkIF9wID0gX2EtPmF2YWlsOyBcCiAgICAgICAgIHV3b3Jk
IF9xID0gX3AgKyBfaW5jcjsgXAotICAgICAgICBpZiAoX3AgPT0gKHV3b3JkKShwKSArIEFSRU5B
X0FMSUdOKHBvb2wsIHNpemUpICYmIFwKKyAgICAgICAgaWYgKF9wID09ICh1d29yZCkocCkgKyBB
UkVOQV9BTElHTihzaXplKSAmJiBcCiAgICAgICAgICAgICBfcSA8PSBfYS0+bGltaXQpIHsgXAog
ICAgICAgICAgICAgX2EtPmF2YWlsID0gX3E7IFwKICAgICAgICAgfSBlbHNlIHsgXApAQCAtMTEy
LDcgKzEyMCw3IEBAIHZvaWQqIEFyZW5hQWxsb2NhdGUoQXJlbmFQb29sICpwb29sLCB1bnNpZ25l
ZCBpbnQgbmIpOwogICAgICAgICAgY2hhciAqX20gPSAoY2hhciAqKShtYXJrKTsgXAogICAgICAg
ICAgQXJlbmEgKl9hID0gKHBvb2wpLT5jdXJyZW50OyBcCiAgICAgICAgICBpZiAoVVBUUkRJRkYo
X20sIF9hLT5iYXNlKSA8PSBVUFRSRElGRihfYS0+YXZhaWwsIF9hLT5iYXNlKSkgeyBcCi0gICAg
ICAgICAgICAgX2EtPmF2YWlsID0gKHV3b3JkKUFSRU5BX0FMSUdOKHBvb2wsIF9tKTsgXAorICAg
ICAgICAgICAgIF9hLT5hdmFpbCA9ICh1d29yZClBUkVOQV9BTElHTihfbSk7IFwKICAgICAgICAg
ICAgICBDTEVBUl9VTlVTRUQoX2EpOyBcCiAgICAgICAgICB9IGVsc2UgeyBcCiAgICAgICAgICAg
ICAgQXJlbmFSZWxlYXNlKHBvb2wsIF9tKTsgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQXJlbmEuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuY3BwCmlu
ZGV4IDFkYWZiMmYuLmUxNTEwMWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckFyZW5hLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5jcHAKQEAgLTEs
NSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDAzIEFwcGxlIENvbXB1dGVyLCBJbmMu
CisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUG9ydGlvbnMgYXJlIENvcHlyaWdodCAoQykgMTk5OCBO
ZXRzY2FwZSBDb21tdW5pY2F0aW9ucyBDb3Jwb3JhdGlvbi4KICAqCkBAIC01NCw2ICs1NSw4IEBA
IHR5cGVkZWYgc3RydWN0IHsKICAgICBpbnQgc2lnbmF0dXJlOwogfSBSZW5kZXJBcmVuYURlYnVn
SGVhZGVyOwogCitzdGF0aWMgY29uc3Qgc2l6ZV90IGRlYnVnSGVhZGVyU2l6ZSA9IEFSRU5BX0FM
SUdOKHNpemVvZihSZW5kZXJBcmVuYURlYnVnSGVhZGVyKSk7CisKICNlbmRpZgogCiBSZW5kZXJB
cmVuYTo6UmVuZGVyQXJlbmEodW5zaWduZWQgYXJlbmFTaXplKQpAQCAtNzUsMTIgKzc4LDEyIEBA
IHZvaWQqIFJlbmRlckFyZW5hOjphbGxvY2F0ZShzaXplX3Qgc2l6ZSkKICNpZm5kZWYgTkRFQlVH
CiAgICAgLy8gVXNlIHN0YW5kYXJkIG1hbGxvYyBzbyB0aGF0IG1lbW9yeSBkZWJ1Z2dpbmcgdG9v
bHMgd29yay4KICAgICBBU1NFUlQodGhpcyk7Ci0gICAgdm9pZCogYmxvY2sgPSA6Om1hbGxvYyhz
aXplb2YoUmVuZGVyQXJlbmFEZWJ1Z0hlYWRlcikgKyBzaXplKTsKKyAgICB2b2lkKiBibG9jayA9
IDo6bWFsbG9jKGRlYnVnSGVhZGVyU2l6ZSArIHNpemUpOwogICAgIFJlbmRlckFyZW5hRGVidWdI
ZWFkZXIqIGhlYWRlciA9IHN0YXRpY19jYXN0PFJlbmRlckFyZW5hRGVidWdIZWFkZXIqPihibG9j
ayk7CiAgICAgaGVhZGVyLT5hcmVuYSA9IHRoaXM7CiAgICAgaGVhZGVyLT5zaXplID0gc2l6ZTsK
ICAgICBoZWFkZXItPnNpZ25hdHVyZSA9IHNpZ25hdHVyZTsKLSAgICByZXR1cm4gaGVhZGVyICsg
MTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y2hhcio+KGJsb2NrKSArIGRlYnVnSGVhZGVyU2l6
ZTsKICNlbHNlCiAgICAgdm9pZCogcmVzdWx0ID0gMDsKIApAQCAtMTEyLDEyICsxMTUsMTMgQEAg
dm9pZCBSZW5kZXJBcmVuYTo6ZnJlZShzaXplX3Qgc2l6ZSwgdm9pZCogcHRyKQogewogI2lmbmRl
ZiBOREVCVUcKICAgICAvLyBVc2Ugc3RhbmRhcmQgZnJlZSBzbyB0aGF0IG1lbW9yeSBkZWJ1Z2dp
bmcgdG9vbHMgd29yay4KLSAgICBSZW5kZXJBcmVuYURlYnVnSGVhZGVyKiBoZWFkZXIgPSBzdGF0
aWNfY2FzdDxSZW5kZXJBcmVuYURlYnVnSGVhZGVyKj4ocHRyKSAtIDE7CisgICAgdm9pZCogYmxv
Y2sgPSBzdGF0aWNfY2FzdDxjaGFyKj4ocHRyKSAtIGRlYnVnSGVhZGVyU2l6ZTsKKyAgICBSZW5k
ZXJBcmVuYURlYnVnSGVhZGVyKiBoZWFkZXIgPSBzdGF0aWNfY2FzdDxSZW5kZXJBcmVuYURlYnVn
SGVhZGVyKj4oYmxvY2spOwogICAgIEFTU0VSVChoZWFkZXItPnNpZ25hdHVyZSA9PSBzaWduYXR1
cmUpOwogICAgIEFTU0VSVF9VTlVTRUQoc2l6ZSwgaGVhZGVyLT5zaXplID09IHNpemUpOwogICAg
IEFTU0VSVChoZWFkZXItPmFyZW5hID09IHRoaXMpOwogICAgIGhlYWRlci0+c2lnbmF0dXJlID0g
c2lnbmF0dXJlRGVhZDsKLSAgICA6OmZyZWUoaGVhZGVyKTsKKyAgICA6OmZyZWUoYmxvY2spOwog
I2Vsc2UKICAgICAvLyBFbnN1cmUgd2UgaGF2ZSBjb3JyZWN0IGFsaWdubWVudCBmb3IgcG9pbnRl
cnMuICBJbXBvcnRhbnQgZm9yIFRydTY0CiAgICAgc2l6ZSA9IFJPVU5EVVAoc2l6ZSwgc2l6ZW9m
KHZvaWQqKSk7Cg==
</data>
<flag name="review"
          id="40399"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>56079</attachid>
            <date>2010-05-14 09:19:32 -0700</date>
            <delta_ts>2010-05-15 01:25:26 -0700</delta_ts>
            <desc>Add alignment based on AllocAlignmentInteger for Arenas</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>8788</size>
            <attacher name="David Tapuska">dave+webkit</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZyBiL0phdmFTY3JpcHRDb3JlL0No
YW5nZUxvZwppbmRleCA3YWM2YjNjLi42YTRjMTMwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTIg
QEAKKzIwMTAtMDUtMTQgIERhdmUgVGFwdXNrYSAgPGR0YXB1c2thQHJpbS5jb20+CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIGEgbmV3IGRlZmlu
ZSBmb3Igd2UgbmVlZCBzdHJpY3QgYXJlbmEgYWxpZ25tZW50LiBBUk12NSB3aXRoCisgICAgICAg
IGRvdWJsZSB3b3JkIGluc3RydWN0aW9ucyBzZXQgdGhpcyB2YWx1ZS4KKworICAgICAgICAqIHd0
Zi9QbGF0Zm9ybS5oOgorCiAyMDEwLTA1LTEzICBNYWNpZWogU3RhY2hvd2lhayAgPG1qc0BhcHBs
ZS5jb20+CiAKICAgICAgICAgTm8gcmV2aWV3LCBhdHRlbXB0ZWQgYnVpbGQgZml4LgpkaWZmIC0t
Z2l0IGEvSmF2YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmggYi9KYXZhU2NyaXB0Q29yZS93dGYv
UGxhdGZvcm0uaAppbmRleCBmNjEyOWFjLi5iYTNhMDkwIDEwMDY0NAotLS0gYS9KYXZhU2NyaXB0
Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaApA
QCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcsIDIwMDgsIDIw
MDkgQXBwbGUgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAw
Ny0yMDA5IFRvcmNoIE1vYmlsZSwgSW5jLgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJbiBN
b3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yMjIsMTIgKzIyMywxNiBAQAogCiAjZWxpZiBkZWZpbmVkKF9f
QVJNX0FSQ0hfNV9fKSBcCiAgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVUX18pIFwKLSAgICB8
fCBkZWZpbmVkKF9fQVJNX0FSQ0hfNUVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81
VEVfXykgXAotICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF81VEVKX18pIFwKICAgICB8fCBkZWZp
bmVkKF9fTUFSTV9BUk1WNV9fKQogI2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiA1CiAKKyNl
bGlmIGRlZmluZWQoX19BUk1fQVJDSF81RV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNI
XzVURV9fKSBcCisgICAgfHwgZGVmaW5lZChfX0FSTV9BUkNIXzVURUpfXykKKyNkZWZpbmUgV1RG
X0FSTV9BUkNIX1ZFUlNJT04gNQorLypBUk12NVRFIHJlcXVpcmVzIGFsbG9jYXRvcnMgdG8gdXNl
IGFsaWduZWQgbWVtb3J5Ki8KKyNkZWZpbmUgV1RGX1VTRV9BUkVOQV9BTExPQ19BTElHTk1FTlRf
SU5URUdFUiAxCisKICNlbGlmIGRlZmluZWQoX19BUk1fQVJDSF82X18pIFwKICAgICB8fCBkZWZp
bmVkKF9fQVJNX0FSQ0hfNkpfXykgXAogICAgIHx8IGRlZmluZWQoX19BUk1fQVJDSF82S19fKSBc
CkBAIC0yNDUsNiArMjUwLDEzIEBACiAjZWxpZiBkZWZpbmVkKF9fVEFSR0VUX0FSQ0hfQVJNKQog
I2RlZmluZSBXVEZfQVJNX0FSQ0hfVkVSU0lPTiBfX1RBUkdFVF9BUkNIX0FSTQogCisjaWYgZGVm
aW5lZChfX1RBUkdFVF9BUkNIXzVFKSBcCisgICAgfHwgZGVmaW5lZChfX1RBUkdFVF9BUkNIXzVU
RSkgXAorICAgIHx8IGRlZmluZWQoX19UQVJHRVRfQVJDSF81VEVKKQorLypBUk12NVRFIHJlcXVp
cmVzIGFsbG9jYXRvcnMgdG8gdXNlIGFsaWduZWQgbWVtb3J5Ki8KKyNkZWZpbmUgV1RGX1VTRV9B
UkVOQV9BTExPQ19BTElHTk1FTlRfSU5URUdFUiAxCisjZW5kaWYKKwogI2Vsc2UKICNkZWZpbmUg
V1RGX0FSTV9BUkNIX1ZFUlNJT04gMAogCmRpZmYgLS1naXQgYS9XZWJDb3JlL0NoYW5nZUxvZyBi
L1dlYkNvcmUvQ2hhbmdlTG9nCmluZGV4IDc2MTAwZmEuLjNjNDM2NzcgMTAwNjQ0Ci0tLSBhL1dl
YkNvcmUvQ2hhbmdlTG9nCisrKyBiL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjAgQEAK
KzIwMTAtMDUtMTQgIERhdmUgVGFwdXNrYSAgPGR0YXB1c2thQHJpbS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRml4IGFsaWdubWVudCBmYXVs
dHMgb24gQVJNdjVURSBhcmNoaXRlY3R1cmVzLgorCisgICAgICAgIEluIGRlYnVnIG1vZGUgdGhl
IFJlbmRlckFyZWFEZWJ1Z0hlYWRlciB3YXMgMTIgYnl0ZXMgd2hpY2gKKyAgICAgICAgY2F1c2Vk
IGFuIGFsaWdubWVudCBmYWlsdXJlIGZvciBSZW5kZXJPYmplY3RzIGJlY2F1c2UgdGhleQorICAg
ICAgICB3b3VsZCBzdGFydCBvbiBhIDQgYnl0ZSBib3VuZGFyeS4gQWxpZ24gdGhlIFJlbmRlckFy
ZW5hRGVidWdIZWFkZXIKKyAgICAgICAgdXNpbmcgdGhlIEFSRU5BX0FMSUdOIG1hY3JvLgorCisg
ICAgICAgIEluIE5ERUJVRyBtb2RlIHRoZSBSZW5kZXJBcmVuYSBvYmplY3RzIGNvbWUgZnJvbSBh
IHBvb2wgd2hpY2gKKyAgICAgICAgaGFzIDQgYnl0ZSBhbGlnbm1lbnQuIEFsbG93IHRoZSBhbGln
bm1lbnQgdG8gYmUgYmFzZWQgb24gdGhlCisgICAgICAgIEFsbG9jQWxpZ25tZW50SW50ZWdlci4g
VGhpcyBkZWZpbmUgd2lsbCBiZSBhY3RpdmF0ZWQgZm9yIEFSTXY1VEUuCisKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE5OTQ2CisKIDIwMTAtMDUtMTMg
IFRpbW90aHkgSGF0Y2hlciAgPHRpbW90aHlAYXBwbGUuY29tPgogCiAgICAgICAgIEV4cG9zZSBX
ZWJDb3JlOjpyZXBvcnRFeGNlcHRpb24gYW5kIFdlYkNvcmU6OnRvSlNET01XaW5kb3cgc3ltYm9s
cy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvcGxhdGZvcm0vQXJlbmEuY3BwIGIvV2ViQ29yZS9wbGF0
Zm9ybS9BcmVuYS5jcHAKaW5kZXggMzcyYTU2NS4uMzM5ODBlZCAxMDA2NDQKLS0tIGEvV2ViQ29y
ZS9wbGF0Zm9ybS9BcmVuYS5jcHAKKysrIGIvV2ViQ29yZS9wbGF0Zm9ybS9BcmVuYS5jcHAKQEAg
LTk3LDcgKzk3LDcgQEAgdm9pZCBJbml0QXJlbmFQb29sKEFyZW5hUG9vbCogcG9vbCwgY29uc3Qg
Y2hhciosIHVuc2lnbmVkIHNpemUsIHVuc2lnbmVkIGFsaWduKQogICAgICBwb29sLT5tYXNrID0g
QklUTUFTSyhDZWlsaW5nTG9nMihhbGlnbikpOwogICAgICBwb29sLT5maXJzdC5uZXh0ID0gTlVM
TDsKICAgICAgcG9vbC0+Zmlyc3QuYmFzZSA9IHBvb2wtPmZpcnN0LmF2YWlsID0gcG9vbC0+Zmly
c3QubGltaXQgPQotICAgICAgICAgKHV3b3JkKUFSRU5BX0FMSUdOKHBvb2wsICZwb29sLT5maXJz
dCArIDEpOworICAgICAgICAgKHV3b3JkKUFSRU5BX0FMSUdOKCZwb29sLT5maXJzdCArIDEpOwog
ICAgICBwb29sLT5jdXJyZW50ID0gJnBvb2wtPmZpcnN0OwogICAgICBwb29sLT5hcmVuYXNpemUg
PSBzaXplOyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKIH0KQEAgLTEyOSw3ICsx
MjksNyBAQCB2b2lkKiBBcmVuYUFsbG9jYXRlKEFyZW5hUG9vbCAqcG9vbCwgdW5zaWduZWQgaW50
IG5iKQogCiAgICAgQVNTRVJUKChuYiAmIHBvb2wtPm1hc2spID09IDApOwogICAgIAotICAgIG5i
ID0gKHV3b3JkKUFSRU5BX0FMSUdOKHBvb2wsIG5iKTsgLyogZm9yY2UgYWxpZ25tZW50ICovCisg
ICAgbmIgPSAodXdvcmQpQVJFTkFfQUxJR04obmIpOyAvKiBmb3JjZSBhbGlnbm1lbnQgKi8KIAog
ICAgIC8qIGF0dGVtcHQgdG8gYWxsb2NhdGUgZnJvbSBhcmVuYXMgYXQgcG9vbC0+Y3VycmVudCAq
LwogICAgIHsKQEAgLTE4MSw3ICsxODEsNyBAQCB2b2lkKiBBcmVuYUFsbG9jYXRlKEFyZW5hUG9v
bCAqcG9vbCwgdW5zaWduZWQgaW50IG5iKQogICAgICAgICBhID0gKEFyZW5hKilmYXN0TWFsbG9j
KHN6KTsKICAgICAgICAgLy8gZmFzdE1hbGxvYyB3aWxsIGFib3J0KCkgaWYgaXQgZmFpbHMsIHNv
IHdlIGFyZSBndWFyYW50ZWVkIHRoYXQgYSBpcyBub3QgMC4KICAgICAgICAgYS0+bGltaXQgPSAo
dXdvcmQpYSArIHN6OwotICAgICAgICBhLT5iYXNlID0gYS0+YXZhaWwgPSAodXdvcmQpQVJFTkFf
QUxJR04ocG9vbCwgYSArIDEpOworICAgICAgICBhLT5iYXNlID0gYS0+YXZhaWwgPSAodXdvcmQp
QVJFTkFfQUxJR04oYSArIDEpOwogICAgICAgICBycCA9IChjaGFyICopYS0+YXZhaWw7CiAgICAg
ICAgIGEtPmF2YWlsICs9IG5iOwogICAgICAgICAvKiB0aGUgbmV3bHkgYWxsb2NhdGVkIGFyZW5h
IGlzIGxpbmtlZCBhZnRlciBwb29sLT5jdXJyZW50IApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0
Zm9ybS9BcmVuYS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9BcmVuYS5oCmluZGV4IGJjNDkzMDcuLjA2
ZTA5ZjIgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcGxhdGZvcm0vQXJlbmEuaAorKysgYi9XZWJDb3Jl
L3BsYXRmb3JtL0FyZW5hLmgKQEAgLTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAx
OTk4LTIwMDAgTmV0c2NhcGUgQ29tbXVuaWNhdGlvbnMgQ29ycG9yYXRpb24uCiAgKiBDb3B5cmln
aHQgKEMpIDIwMDMtNiBBcHBsZSBDb21wdXRlcgorICogQ29weXJpZ2h0IChDKSBSZXNlYXJjaCBJ
biBNb3Rpb24gTGltaXRlZCAyMDEwLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIE90aGVy
IGNvbnRyaWJ1dG9yczoKICAqICAgTmljayBCbGlldmVycyA8bmlja2JAYWRhY2VsLmNvbS5hdT4K
QEAgLTQwLDcgKzQxLDE1IEBACiAjaWZuZGVmIEFyZW5hX2gKICNkZWZpbmUgQXJlbmFfaAogCisj
aW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KKworLy8gRklYTUU6IFdlJ2QgYWx3YXlzIGxpa2Ug
dG8gdXNlIEFsbG9jQWxpZ25tZW50SW50ZWdlciBmb3IgQXJlbmEgYWxpZ25tZW50CisvLyBidXQg
dGhlcmUgaXMgY29uY2VybiBvdmVyIHRoZSBtZW1vcnkgZ3Jvd3RoIHRoaXMgbWF5IGNhdXNlLgor
I2lmZGVmIFdURl9VU0VfQVJFTkFfQUxMT0NfQUxJR05NRU5UX0lOVEVHRVIKKyNkZWZpbmUgQVJF
TkFfQUxJR05fTUFTSyAoc2l6ZW9mKFdURjo6QWxsb2NBbGlnbm1lbnRJbnRlZ2VyKSAtIDEpCisj
ZWxzZQogI2RlZmluZSBBUkVOQV9BTElHTl9NQVNLIDMKKyNlbmRpZgogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiAKQEAgLTY2LDEzICs3NSwxMyBAQCB2b2lkIEZpbmlzaEFyZW5hUG9vbChBcmVuYVBv
b2wgKnBvb2wpOwogdm9pZCBGcmVlQXJlbmFQb29sKEFyZW5hUG9vbCAqcG9vbCk7CiB2b2lkKiBB
cmVuYUFsbG9jYXRlKEFyZW5hUG9vbCAqcG9vbCwgdW5zaWduZWQgaW50IG5iKTsKIAotI2RlZmlu
ZSBBUkVOQV9BTElHTihwb29sLCBuKSAoKCh1d29yZCkobikgKyBBUkVOQV9BTElHTl9NQVNLKSAm
IH5BUkVOQV9BTElHTl9NQVNLKQorI2RlZmluZSBBUkVOQV9BTElHTihuKSAoKCh1d29yZCkobikg
KyBBUkVOQV9BTElHTl9NQVNLKSAmIH5BUkVOQV9BTElHTl9NQVNLKQogI2RlZmluZSBJTklUX0FS
RU5BX1BPT0wocG9vbCwgbmFtZSwgc2l6ZSkgXAogICAgICAgICBJbml0QXJlbmFQb29sKHBvb2ws
IG5hbWUsIHNpemUsIEFSRU5BX0FMSUdOX01BU0sgKyAxKQogCiAjZGVmaW5lIEFSRU5BX0FMTE9D
QVRFKHAsIHBvb2wsIG5iKSBcCiAgICAgICAgIEFyZW5hICpfYSA9IChwb29sKS0+Y3VycmVudDsg
XAotICAgICAgICB1bnNpZ25lZCBpbnQgX25iID0gQVJFTkFfQUxJR04ocG9vbCwgbmIpOyBcCisg
ICAgICAgIHVuc2lnbmVkIGludCBfbmIgPSBBUkVOQV9BTElHTihuYik7IFwKICAgICAgICAgdXdv
cmQgX3AgPSBfYS0+YXZhaWw7IFwKICAgICAgICAgdXdvcmQgX3EgPSBfcCArIF9uYjsgXAogICAg
ICAgICBpZiAoX3EgPiBfYS0+bGltaXQpIFwKQEAgLTgzLDEwICs5MiwxMCBAQCB2b2lkKiBBcmVu
YUFsbG9jYXRlKEFyZW5hUG9vbCAqcG9vbCwgdW5zaWduZWQgaW50IG5iKTsKIAogI2RlZmluZSBB
UkVOQV9HUk9XKHAsIHBvb2wsIHNpemUsIGluY3IpIFwKICAgICAgICAgQXJlbmEgKl9hID0gKHBv
b2wpLT5jdXJyZW50OyBcCi0gICAgICAgIHVuc2lnbmVkIGludCBfaW5jciA9IEFSRU5BX0FMSUdO
KHBvb2wsIGluY3IpOyBcCisgICAgICAgIHVuc2lnbmVkIGludCBfaW5jciA9IEFSRU5BX0FMSUdO
KGluY3IpOyBcCiAgICAgICAgIHV3b3JkIF9wID0gX2EtPmF2YWlsOyBcCiAgICAgICAgIHV3b3Jk
IF9xID0gX3AgKyBfaW5jcjsgXAotICAgICAgICBpZiAoX3AgPT0gKHV3b3JkKShwKSArIEFSRU5B
X0FMSUdOKHBvb2wsIHNpemUpICYmIFwKKyAgICAgICAgaWYgKF9wID09ICh1d29yZCkocCkgKyBB
UkVOQV9BTElHTihzaXplKSAmJiBcCiAgICAgICAgICAgICBfcSA8PSBfYS0+bGltaXQpIHsgXAog
ICAgICAgICAgICAgX2EtPmF2YWlsID0gX3E7IFwKICAgICAgICAgfSBlbHNlIHsgXApAQCAtMTEy
LDcgKzEyMSw3IEBAIHZvaWQqIEFyZW5hQWxsb2NhdGUoQXJlbmFQb29sICpwb29sLCB1bnNpZ25l
ZCBpbnQgbmIpOwogICAgICAgICAgY2hhciAqX20gPSAoY2hhciAqKShtYXJrKTsgXAogICAgICAg
ICAgQXJlbmEgKl9hID0gKHBvb2wpLT5jdXJyZW50OyBcCiAgICAgICAgICBpZiAoVVBUUkRJRkYo
X20sIF9hLT5iYXNlKSA8PSBVUFRSRElGRihfYS0+YXZhaWwsIF9hLT5iYXNlKSkgeyBcCi0gICAg
ICAgICAgICAgX2EtPmF2YWlsID0gKHV3b3JkKUFSRU5BX0FMSUdOKHBvb2wsIF9tKTsgXAorICAg
ICAgICAgICAgIF9hLT5hdmFpbCA9ICh1d29yZClBUkVOQV9BTElHTihfbSk7IFwKICAgICAgICAg
ICAgICBDTEVBUl9VTlVTRUQoX2EpOyBcCiAgICAgICAgICB9IGVsc2UgeyBcCiAgICAgICAgICAg
ICAgQXJlbmFSZWxlYXNlKHBvb2wsIF9tKTsgXApkaWZmIC0tZ2l0IGEvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQXJlbmEuY3BwIGIvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQXJlbmEuY3BwCmlu
ZGV4IDFkYWZiMmYuLmUxNTEwMWYgMTAwNjQ0Ci0tLSBhL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckFyZW5hLmNwcAorKysgYi9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJBcmVuYS5jcHAKQEAgLTEs
NSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDAzIEFwcGxlIENvbXB1dGVyLCBJbmMu
CisgKiBDb3B5cmlnaHQgKEMpIFJlc2VhcmNoIEluIE1vdGlvbiBMaW1pdGVkIDIwMTAuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUG9ydGlvbnMgYXJlIENvcHlyaWdodCAoQykgMTk5OCBO
ZXRzY2FwZSBDb21tdW5pY2F0aW9ucyBDb3Jwb3JhdGlvbi4KICAqCkBAIC01NCw2ICs1NSw4IEBA
IHR5cGVkZWYgc3RydWN0IHsKICAgICBpbnQgc2lnbmF0dXJlOwogfSBSZW5kZXJBcmVuYURlYnVn
SGVhZGVyOwogCitzdGF0aWMgY29uc3Qgc2l6ZV90IGRlYnVnSGVhZGVyU2l6ZSA9IEFSRU5BX0FM
SUdOKHNpemVvZihSZW5kZXJBcmVuYURlYnVnSGVhZGVyKSk7CisKICNlbmRpZgogCiBSZW5kZXJB
cmVuYTo6UmVuZGVyQXJlbmEodW5zaWduZWQgYXJlbmFTaXplKQpAQCAtNzUsMTIgKzc4LDEyIEBA
IHZvaWQqIFJlbmRlckFyZW5hOjphbGxvY2F0ZShzaXplX3Qgc2l6ZSkKICNpZm5kZWYgTkRFQlVH
CiAgICAgLy8gVXNlIHN0YW5kYXJkIG1hbGxvYyBzbyB0aGF0IG1lbW9yeSBkZWJ1Z2dpbmcgdG9v
bHMgd29yay4KICAgICBBU1NFUlQodGhpcyk7Ci0gICAgdm9pZCogYmxvY2sgPSA6Om1hbGxvYyhz
aXplb2YoUmVuZGVyQXJlbmFEZWJ1Z0hlYWRlcikgKyBzaXplKTsKKyAgICB2b2lkKiBibG9jayA9
IDo6bWFsbG9jKGRlYnVnSGVhZGVyU2l6ZSArIHNpemUpOwogICAgIFJlbmRlckFyZW5hRGVidWdI
ZWFkZXIqIGhlYWRlciA9IHN0YXRpY19jYXN0PFJlbmRlckFyZW5hRGVidWdIZWFkZXIqPihibG9j
ayk7CiAgICAgaGVhZGVyLT5hcmVuYSA9IHRoaXM7CiAgICAgaGVhZGVyLT5zaXplID0gc2l6ZTsK
ICAgICBoZWFkZXItPnNpZ25hdHVyZSA9IHNpZ25hdHVyZTsKLSAgICByZXR1cm4gaGVhZGVyICsg
MTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y2hhcio+KGJsb2NrKSArIGRlYnVnSGVhZGVyU2l6
ZTsKICNlbHNlCiAgICAgdm9pZCogcmVzdWx0ID0gMDsKIApAQCAtMTEyLDEyICsxMTUsMTMgQEAg
dm9pZCBSZW5kZXJBcmVuYTo6ZnJlZShzaXplX3Qgc2l6ZSwgdm9pZCogcHRyKQogewogI2lmbmRl
ZiBOREVCVUcKICAgICAvLyBVc2Ugc3RhbmRhcmQgZnJlZSBzbyB0aGF0IG1lbW9yeSBkZWJ1Z2dp
bmcgdG9vbHMgd29yay4KLSAgICBSZW5kZXJBcmVuYURlYnVnSGVhZGVyKiBoZWFkZXIgPSBzdGF0
aWNfY2FzdDxSZW5kZXJBcmVuYURlYnVnSGVhZGVyKj4ocHRyKSAtIDE7CisgICAgdm9pZCogYmxv
Y2sgPSBzdGF0aWNfY2FzdDxjaGFyKj4ocHRyKSAtIGRlYnVnSGVhZGVyU2l6ZTsKKyAgICBSZW5k
ZXJBcmVuYURlYnVnSGVhZGVyKiBoZWFkZXIgPSBzdGF0aWNfY2FzdDxSZW5kZXJBcmVuYURlYnVn
SGVhZGVyKj4oYmxvY2spOwogICAgIEFTU0VSVChoZWFkZXItPnNpZ25hdHVyZSA9PSBzaWduYXR1
cmUpOwogICAgIEFTU0VSVF9VTlVTRUQoc2l6ZSwgaGVhZGVyLT5zaXplID09IHNpemUpOwogICAg
IEFTU0VSVChoZWFkZXItPmFyZW5hID09IHRoaXMpOwogICAgIGhlYWRlci0+c2lnbmF0dXJlID0g
c2lnbmF0dXJlRGVhZDsKLSAgICA6OmZyZWUoaGVhZGVyKTsKKyAgICA6OmZyZWUoYmxvY2spOwog
I2Vsc2UKICAgICAvLyBFbnN1cmUgd2UgaGF2ZSBjb3JyZWN0IGFsaWdubWVudCBmb3IgcG9pbnRl
cnMuICBJbXBvcnRhbnQgZm9yIFRydTY0CiAgICAgc2l6ZSA9IFJPVU5EVVAoc2l6ZSwgc2l6ZW9m
KHZvaWQqKSk7Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>