<?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>105719</bug_id>
          
          <creation_ts>2012-12-24 07:17:42 -0800</creation_ts>
          <short_desc>Optimize TransformationMatrix::multiply() for x86_64</short_desc>
          <delta_ts>2013-01-04 16:35:16 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebCore Misc.</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>
          <dependson>106019</dependson>
    
    <dependson>106025</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Benjamin Poulain">benjamin</reporter>
          <assigned_to name="Benjamin Poulain">benjamin</assigned_to>
          <cc>abarth</cc>
    
    <cc>danakj</cc>
    
    <cc>dpranke</cc>
    
    <cc>enne</cc>
    
    <cc>jamesr</cc>
    
    <cc>thakis</cc>
    
    <cc>vollick</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>796973</commentid>
    <comment_count>0</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-12-24 07:17:42 -0800</bug_when>
    <thetext>Use the hardware better :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>797007</commentid>
    <comment_count>1</comment_count>
      <attachid>180678</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2012-12-24 10:18:08 -0800</bug_when>
    <thetext>Created attachment 180678
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798838</commentid>
    <comment_count>2</comment_count>
      <attachid>180678</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-01-02 13:21:04 -0800</bug_when>
    <thetext>Comment on attachment 180678
Patch

Clearing flags on attachment: 180678

Committed r138640: &lt;http://trac.webkit.org/changeset/138640&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>798839</commentid>
    <comment_count>3</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-01-02 13:21:06 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799391</commentid>
    <comment_count>4</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2013-01-03 08:47:44 -0800</bug_when>
    <thetext>Looks like this change is causing crashes: http://code.google.com/p/chromium/issues/detail?id=168173

Sorry, but it looks like it needs to be reverted. I&apos;ve also confirmed locally that reverting this fixes the crashes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799394</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-03 08:49:49 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 106019</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799411</commentid>
    <comment_count>6</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-01-03 09:36:35 -0800</bug_when>
    <thetext>Did you just revert based on a downstream issue? (this has been discussed recently on the mailing list)

Can you give me more information about the problem. As far as I know, no WebKit test failed with the patch. How did you rule out your compiler or project settings?

I am honestly more than a little annoyed this was reverted without any information for me to work on.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799417</commentid>
    <comment_count>7</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2013-01-03 09:44:54 -0800</bug_when>
    <thetext>We ran the test in gdb for quite some time but were unable to get any much information about what was causing the crash. As you can see in the backtrace on the linked bug, the crash in gdb is happening at the entrance to the method. The pointers going into the method are all fine, of course, and gdb didn&apos;t have anything interesting to say about the two matrices, they look valid.

I can provide the contents of them for you though, if you feel that will help.

This seems to point to a problem in the implementation of the method, which is surely going to cause a problem for all ports. These tests just happen to cause it to trigger reliably. This has really nothing to do with &quot;downstream vs upstream&quot; as far as I can tell. I don&apos;t know what project settings you&apos;re referring to that would change whether multiply() should crash or not given two matrices.

I&apos;m sorry we don&apos;t have better test coverage on the webkit bots for functions like this, but I don&apos;t think it&apos;s that unusual for chromium bots to uncover bugs or problems that the webkit bots do not for that reason. We&apos;re looking into running the chromium compositor unit tests on the EWS bot, or on the canary waterfall, which would have helped here.

(gdb) frame 0
#0  0x00007ffff42dce67 in WebCore::TransformationMatrix::multiply (this=0x7fffffffd4c8, mat=...) at ../../third_party/WebKit/Source/WebCore/platform/graphics/transforms/TransformationMatrix.cpp:977
977	{
(gdb) p *this
$1 = {m_matrix =     {[0] =       {[0] = 1,
      [1] = 0,
      [2] = 0,
      [3] = 0},
    [1] =       {[0] = 0,
      [1] = 1,
      [2] = 0,
      [3] = 0},
    [2] =       {[0] = 0,
      [1] = 0,
      [2] = 1,
      [3] = 0},
    [3] =       {[0] = 0,
      [1] = 0,
      [2] = 0,
      [3] = 1}}}
(gdb) p mat
$2 = (const WebCore::TransformationMatrix &amp;) @0xb64920: {m_matrix =     {[0] =       {[0] = 1,
      [1] = 0,
      [2] = 0,
      [3] = 0},
    [1] =       {[0] = 0,
      [1] = 1,
      [2] = 0,
      [3] = 0},
    [2] =       {[0] = 0,
      [1] = 0,
      [2] = 1,
      [3] = 0},
    [3] =       {[0] = 2,
      [1] = 0,
      [2] = 0,
      [3] = 1}}}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799421</commentid>
    <comment_count>8</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-01-03 09:49:57 -0800</bug_when>
    <thetext>I suspect you simply have an alignment problem. There are many ways to screw that up despite completely correct code.

Please give me the disassembly at the point of crash and the content of registers. What compiler are you using?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799427</commentid>
    <comment_count>9</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2013-01-03 09:53:26 -0800</bug_when>
    <thetext>Compiler:
% clang++ --version
clang version 3.3 (trunk 170392)
Target: x86_64-unknown-linux-gnu
Thread model: posix

Registers:
rax            0xb64920	11946272
rbx            0x0	0
rcx            0x0	0
rdx            0x7fffffffd4c8	140737488344264
rsi            0x7fffffffd4c8	140737488344264
rdi            0x7fffffffd4c8	140737488344264
rbp            0x7fffffffd150	0x7fffffffd150
rsp            0x7fffffffc650	0x7fffffffc650
r8             0x0	0
r9             0xfffffff7	4294967287
r10            0x0	0
r11            0x0	0
r12            0x42dce0	4381920
r13            0x7fffffffdb50	140737488345936
r14            0x0	0
r15            0x0	0
rip            0x7ffff42dce67	0x7ffff42dce67 &lt;WebCore::TransformationMatrix::multiply(WebCore::TransformationMatrix const&amp;)+39&gt;
eflags         0x10206	[ PF IF RF ]
cs             0x33	51
ss             0x2b	43
ds             0x0	0
es             0x0	0
fs             0x0	0
gs             0x0	0

Dump of assembler code for function WebCore::TransformationMatrix::multiply(WebCore::TransformationMatrix const&amp;):
   0x00007ffff42dce40 &lt;+0&gt;:	sub    $0xad8,%rsp
   0x00007ffff42dce47 &lt;+7&gt;:	mov    %rdi,0x90(%rsp)
   0x00007ffff42dce4f &lt;+15&gt;:	mov    %rsi,0x88(%rsp)
   0x00007ffff42dce57 &lt;+23&gt;:	mov    0x90(%rsp),%rsi
   0x00007ffff42dce5f &lt;+31&gt;:	mov    %rsi,0x98(%rsp)
=&gt; 0x00007ffff42dce67 &lt;+39&gt;:	movapd (%rsi),%xmm0
   0x00007ffff42dce6b &lt;+43&gt;:	movapd %xmm0,0x70(%rsp)
   0x00007ffff42dce71 &lt;+49&gt;:	mov    %rsi,%rdi
   0x00007ffff42dce74 &lt;+52&gt;:	add    $0x20,%rdi
   0x00007ffff42dce78 &lt;+56&gt;:	mov    %rdi,0xad0(%rsp)
   0x00007ffff42dce80 &lt;+64&gt;:	movapd 0x20(%rsi),%xmm0
   0x00007ffff42dce85 &lt;+69&gt;:	movapd %xmm0,0x60(%rsp)
   0x00007ffff42dce8b &lt;+75&gt;:	mov    %rsi,%rax
   0x00007ffff42dce8e &lt;+78&gt;:	add    $0x40,%rax
   0x00007ffff42dce92 &lt;+82&gt;:	mov    %rax,0xac8(%rsp)
   0x00007ffff42dce9a &lt;+90&gt;:	movapd 0x40(%rsi),%xmm0
   0x00007ffff42dce9f &lt;+95&gt;:	movapd %xmm0,0x50(%rsp)
   0x00007ffff42dcea5 &lt;+101&gt;:	mov    %rsi,%rcx
   0x00007ffff42dcea8 &lt;+104&gt;:	add    $0x60,%rcx
   0x00007ffff42dceac &lt;+108&gt;:	mov    %rcx,0xac0(%rsp)
   0x00007ffff42dceb4 &lt;+116&gt;:	movapd 0x60(%rsi),%xmm0
   0x00007ffff42dceb9 &lt;+121&gt;:	movapd %xmm0,0x40(%rsp)
   0x00007ffff42dcebf &lt;+127&gt;:	mov    %rsi,%rdx
   0x00007ffff42dcec2 &lt;+130&gt;:	add    $0x10,%rdx
   0x00007ffff42dcec6 &lt;+134&gt;:	mov    %rdx,0xab8(%rsp)
   0x00007ffff42dcece &lt;+142&gt;:	movapd 0x10(%rsi),%xmm0
   0x00007ffff42dced3 &lt;+147&gt;:	movapd %xmm0,0x30(%rsp)
   0x00007ffff42dced9 &lt;+153&gt;:	mov    %rsi,%r8
   0x00007ffff42dcedc &lt;+156&gt;:	add    $0x30,%r8
   0x00007ffff42dcee0 &lt;+160&gt;:	mov    %r8,0xab0(%rsp)
   0x00007ffff42dcee8 &lt;+168&gt;:	movapd 0x30(%rsi),%xmm0
   0x00007ffff42dceed &lt;+173&gt;:	movapd %xmm0,0x20(%rsp)
   0x00007ffff42dcef3 &lt;+179&gt;:	mov    %rsi,%r9
   0x00007ffff42dcef6 &lt;+182&gt;:	add    $0x50,%r9
   0x00007ffff42dcefa &lt;+186&gt;:	mov    %r9,0xaa8(%rsp)
   0x00007ffff42dcf02 &lt;+194&gt;:	movapd 0x50(%rsi),%xmm0
   0x00007ffff42dcf07 &lt;+199&gt;:	movapd %xmm0,0x10(%rsp)
   0x00007ffff42dcf0d &lt;+205&gt;:	mov    %rsi,%r10
   0x00007ffff42dcf10 &lt;+208&gt;:	add    $0x70,%r10
   0x00007ffff42dcf14 &lt;+212&gt;:	mov    %r10,0xaa0(%rsp)
   0x00007ffff42dcf1c &lt;+220&gt;:	movapd 0x70(%rsi),%xmm0
   0x00007ffff42dcf21 &lt;+225&gt;:	movapd %xmm0,(%rsp)
   0x00007ffff42dcf26 &lt;+230&gt;:	mov    0x88(%rsp),%r11
   0x00007ffff42dcf2e &lt;+238&gt;:	movsd  (%r11),%xmm0
   0x00007ffff42dcf33 &lt;+243&gt;:	movsd  %xmm0,0xa98(%rsp)
   0x00007ffff42dcf3c &lt;+252&gt;:	shufpd $0x0,%xmm0,%xmm0
   0x00007ffff42dcf41 &lt;+257&gt;:	movapd %xmm0,0xa80(%rsp)
   0x00007ffff42dcf4a &lt;+266&gt;:	movapd %xmm0,-0x10(%rsp)
   0x00007ffff42dcf50 &lt;+272&gt;:	mov    0x88(%rsp),%r11
   0x00007ffff42dcf58 &lt;+280&gt;:	movsd  0x8(%r11),%xmm0
   0x00007ffff42dcf5e &lt;+286&gt;:	movsd  %xmm0,0xa78(%rsp)
   0x00007ffff42dcf67 &lt;+295&gt;:	shufpd $0x0,%xmm0,%xmm0
   0x00007ffff42dcf6c &lt;+300&gt;:	movapd %xmm0,0xa60(%rsp)
   0x00007ffff42dcf75 &lt;+309&gt;:	movapd %xmm0,-0x20(%rsp)
   0x00007ffff42dcf7b &lt;+315&gt;:	mov    0x88(%rsp),%r11
   0x00007ffff42dcf83 &lt;+323&gt;:	movsd  0x10(%r11),%xmm0
   0x00007ffff42dcf89 &lt;+329&gt;:	movsd  %xmm0,0xa58(%rsp)
   0x00007ffff42dcf92 &lt;+338&gt;:	shufpd $0x0,%xmm0,%xmm0
   0x00007ffff42dcf97 &lt;+343&gt;:	movapd %xmm0,0xa40(%rsp)
   0x00007ffff42dcfa0 &lt;+352&gt;:	movapd %xmm0,-0x30(%rsp)
   0x00007ffff42dcfa6 &lt;+358&gt;:	mov    0x88(%rsp),%r11
   0x00007ffff42dcfae &lt;+366&gt;:	movsd  0x18(%r11),%xmm0
   0x00007ffff42dcfb4 &lt;+372&gt;:	movsd  %xmm0,0xa38(%rsp)
   0x00007ffff42dcfbd &lt;+381&gt;:	shufpd $0x0,%xmm0,%xmm0
   0x00007ffff42dcfc2 &lt;+386&gt;:	movapd %xmm0,0xa20(%rsp)
   0x00007ffff42dcfcb &lt;+395&gt;:	movapd %xmm0,-0x40(%rsp)
   0x00007ffff42dcfd1 &lt;+401&gt;:	movapd 0x70(%rsp),%xmm0
   0x00007ffff42dcfd7 &lt;+407&gt;:	movapd -0x10(%rsp),%xmm1
   0x00007ffff42dcfdd &lt;+413&gt;:	movapd %xmm0,0xa10(%rsp)
   0x00007ffff42dcfe6 &lt;+422&gt;:	movapd %xmm1,0xa00(%rsp)
   0x00007ffff42dcfef &lt;+431&gt;:	movapd 0xa10(%rsp),%xmm0
   0x00007ffff42dcff8 &lt;+440&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dcffc &lt;+444&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd002 &lt;+450&gt;:	movapd 0x60(%rsp),%xmm0
   0x00007ffff42dd008 &lt;+456&gt;:	movapd -0x20(%rsp),%xmm1
   0x00007ffff42dd00e &lt;+462&gt;:	movapd %xmm0,0x9f0(%rsp)
   0x00007ffff42dd017 &lt;+471&gt;:	movapd %xmm1,0x9e0(%rsp)
   0x00007ffff42dd020 &lt;+480&gt;:	movapd 0x9f0(%rsp),%xmm0
   0x00007ffff42dd029 &lt;+489&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd02d &lt;+493&gt;:	movapd %xmm0,-0x60(%rsp)
   0x00007ffff42dd033 &lt;+499&gt;:	movapd 0x50(%rsp),%xmm0
   0x00007ffff42dd039 &lt;+505&gt;:	movapd -0x30(%rsp),%xmm1
   0x00007ffff42dd03f &lt;+511&gt;:	movapd %xmm0,0x9d0(%rsp)
   0x00007ffff42dd048 &lt;+520&gt;:	movapd %xmm1,0x9c0(%rsp)
   0x00007ffff42dd051 &lt;+529&gt;:	movapd 0x9d0(%rsp),%xmm0
   0x00007ffff42dd05a &lt;+538&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd05e &lt;+542&gt;:	movapd %xmm0,-0x70(%rsp)
   0x00007ffff42dd064 &lt;+548&gt;:	movapd 0x40(%rsp),%xmm0
   0x00007ffff42dd06a &lt;+554&gt;:	movapd -0x40(%rsp),%xmm1
   0x00007ffff42dd070 &lt;+560&gt;:	movapd %xmm0,0x9b0(%rsp)
   0x00007ffff42dd079 &lt;+569&gt;:	movapd %xmm1,0x9a0(%rsp)
   0x00007ffff42dd082 &lt;+578&gt;:	movapd 0x9b0(%rsp),%xmm0
   0x00007ffff42dd08b &lt;+587&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd08f &lt;+591&gt;:	movapd %xmm0,-0x80(%rsp)
   0x00007ffff42dd095 &lt;+597&gt;:	movapd -0x50(%rsp),%xmm0
   0x00007ffff42dd09b &lt;+603&gt;:	movapd -0x60(%rsp),%xmm1
   0x00007ffff42dd0a1 &lt;+609&gt;:	movapd %xmm0,0x990(%rsp)
   0x00007ffff42dd0aa &lt;+618&gt;:	movapd %xmm1,0x980(%rsp)
   0x00007ffff42dd0b3 &lt;+627&gt;:	movapd 0x990(%rsp),%xmm0
   0x00007ffff42dd0bc &lt;+636&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42dd0c0 &lt;+640&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd0c6 &lt;+646&gt;:	movapd -0x70(%rsp),%xmm1
   0x00007ffff42dd0cc &lt;+652&gt;:	movapd %xmm0,0x970(%rsp)
   0x00007ffff42dd0d5 &lt;+661&gt;:	movapd %xmm1,0x960(%rsp)
   0x00007ffff42dd0de &lt;+670&gt;:	movapd 0x970(%rsp),%xmm0
   0x00007ffff42dd0e7 &lt;+679&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42dd0eb &lt;+683&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd0f1 &lt;+689&gt;:	movapd -0x80(%rsp),%xmm1
   0x00007ffff42dd0f7 &lt;+695&gt;:	movapd %xmm0,0x950(%rsp)
   0x00007ffff42dd100 &lt;+704&gt;:	movapd %xmm1,0x940(%rsp)
   0x00007ffff42dd109 &lt;+713&gt;:	movapd 0x950(%rsp),%xmm0
   0x00007ffff42dd112 &lt;+722&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42dd116 &lt;+726&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd11c &lt;+732&gt;:	mov    %rsi,0x938(%rsp)
   0x00007ffff42dd124 &lt;+740&gt;:	movapd %xmm0,0x920(%rsp)
   0x00007ffff42dd12d &lt;+749&gt;:	mov    0x938(%rsp),%r11
   0x00007ffff42dd135 &lt;+757&gt;:	movapd %xmm0,(%r11)
   0x00007ffff42dd13a &lt;+762&gt;:	movapd 0x30(%rsp),%xmm0
   0x00007ffff42dd140 &lt;+768&gt;:	movapd -0x10(%rsp),%xmm1
   0x00007ffff42dd146 &lt;+774&gt;:	movapd %xmm0,0x910(%rsp)
   0x00007ffff42dd14f &lt;+783&gt;:	movapd %xmm1,0x900(%rsp)
   0x00007ffff42dd158 &lt;+792&gt;:	movapd 0x910(%rsp),%xmm0
   0x00007ffff42dd161 &lt;+801&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd165 &lt;+805&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd16b &lt;+811&gt;:	movapd 0x20(%rsp),%xmm0
   0x00007ffff42dd171 &lt;+817&gt;:	movapd -0x20(%rsp),%xmm1
   0x00007ffff42dd177 &lt;+823&gt;:	movapd %xmm0,0x8f0(%rsp)
   0x00007ffff42dd180 &lt;+832&gt;:	movapd %xmm1,0x8e0(%rsp)
   0x00007ffff42dd189 &lt;+841&gt;:	movapd 0x8f0(%rsp),%xmm0
   0x00007ffff42dd192 &lt;+850&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd196 &lt;+854&gt;:	movapd %xmm0,-0x60(%rsp)
   0x00007ffff42dd19c &lt;+860&gt;:	movapd 0x10(%rsp),%xmm0
   0x00007ffff42dd1a2 &lt;+866&gt;:	movapd -0x30(%rsp),%xmm1
   0x00007ffff42dd1a8 &lt;+872&gt;:	movapd %xmm0,0x8d0(%rsp)
   0x00007ffff42dd1b1 &lt;+881&gt;:	movapd %xmm1,0x8c0(%rsp)
   0x00007ffff42dd1ba &lt;+890&gt;:	movapd 0x8d0(%rsp),%xmm0
   0x00007ffff42dd1c3 &lt;+899&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd1c7 &lt;+903&gt;:	movapd %xmm0,-0x70(%rsp)
   0x00007ffff42dd1cd &lt;+909&gt;:	movapd (%rsp),%xmm0
   0x00007ffff42dd1d2 &lt;+914&gt;:	movapd -0x40(%rsp),%xmm1
   0x00007ffff42dd1d8 &lt;+920&gt;:	movapd %xmm0,0x8b0(%rsp)
   0x00007ffff42dd1e1 &lt;+929&gt;:	movapd %xmm1,0x8a0(%rsp)
   0x00007ffff42dd1ea &lt;+938&gt;:	movapd 0x8b0(%rsp),%xmm0
   0x00007ffff42dd1f3 &lt;+947&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd1f7 &lt;+951&gt;:	movapd %xmm0,-0x80(%rsp)
   0x00007ffff42dd1fd &lt;+957&gt;:	movapd -0x50(%rsp),%xmm0
   0x00007ffff42dd203 &lt;+963&gt;:	movapd -0x60(%rsp),%xmm1
   0x00007ffff42dd209 &lt;+969&gt;:	movapd %xmm0,0x890(%rsp)
   0x00007ffff42dd212 &lt;+978&gt;:	movapd %xmm1,0x880(%rsp)
   0x00007ffff42dd21b &lt;+987&gt;:	movapd 0x890(%rsp),%xmm0
   0x00007ffff42dd224 &lt;+996&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42dd228 &lt;+1000&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd22e &lt;+1006&gt;:	movapd -0x70(%rsp),%xmm1
   0x00007ffff42dd234 &lt;+1012&gt;:	movapd %xmm0,0x870(%rsp)
   0x00007ffff42dd23d &lt;+1021&gt;:	movapd %xmm1,0x860(%rsp)
   0x00007ffff42dd246 &lt;+1030&gt;:	movapd 0x870(%rsp),%xmm0
   0x00007ffff42dd24f &lt;+1039&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42dd253 &lt;+1043&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd259 &lt;+1049&gt;:	movapd -0x80(%rsp),%xmm1
   0x00007ffff42dd25f &lt;+1055&gt;:	movapd %xmm0,0x850(%rsp)
   0x00007ffff42dd268 &lt;+1064&gt;:	movapd %xmm1,0x840(%rsp)
   0x00007ffff42dd271 &lt;+1073&gt;:	movapd 0x850(%rsp),%xmm0
   0x00007ffff42dd27a &lt;+1082&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42dd27e &lt;+1086&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd284 &lt;+1092&gt;:	mov    %rdx,0x838(%rsp)
   0x00007ffff42dd28c &lt;+1100&gt;:	movapd %xmm0,0x820(%rsp)
   0x00007ffff42dd295 &lt;+1109&gt;:	mov    0x838(%rsp),%rdx
   0x00007ffff42dd29d &lt;+1117&gt;:	movapd %xmm0,(%rdx)
   0x00007ffff42dd2a1 &lt;+1121&gt;:	mov    0x88(%rsp),%rdx
   0x00007ffff42dd2a9 &lt;+1129&gt;:	movsd  0x20(%rdx),%xmm0
   0x00007ffff42dd2ae &lt;+1134&gt;:	movsd  %xmm0,0x818(%rsp)
   0x00007ffff42dd2b7 &lt;+1143&gt;:	shufpd $0x0,%xmm0,%xmm0
   0x00007ffff42dd2bc &lt;+1148&gt;:	movapd %xmm0,0x800(%rsp)
   0x00007ffff42dd2c5 &lt;+1157&gt;:	movapd %xmm0,-0x10(%rsp)
   0x00007ffff42dd2cb &lt;+1163&gt;:	mov    0x88(%rsp),%rdx
   0x00007ffff42dd2d3 &lt;+1171&gt;:	movsd  0x28(%rdx),%xmm0
   0x00007ffff42dd2d8 &lt;+1176&gt;:	movsd  %xmm0,0x7f8(%rsp)
   0x00007ffff42dd2e1 &lt;+1185&gt;:	shufpd $0x0,%xmm0,%xmm0
   0x00007ffff42dd2e6 &lt;+1190&gt;:	movapd %xmm0,0x7e0(%rsp)
   0x00007ffff42dd2ef &lt;+1199&gt;:	movapd %xmm0,-0x20(%rsp)
   0x00007ffff42dd2f5 &lt;+1205&gt;:	mov    0x88(%rsp),%rdx
   0x00007ffff42dd2fd &lt;+1213&gt;:	movsd  0x30(%rdx),%xmm0
   0x00007ffff42dd302 &lt;+1218&gt;:	movsd  %xmm0,0x7d8(%rsp)
   0x00007ffff42dd30b &lt;+1227&gt;:	shufpd $0x0,%xmm0,%xmm0
   0x00007ffff42dd310 &lt;+1232&gt;:	movapd %xmm0,0x7c0(%rsp)
   0x00007ffff42dd319 &lt;+1241&gt;:	movapd %xmm0,-0x30(%rsp)
   0x00007ffff42dd31f &lt;+1247&gt;:	mov    0x88(%rsp),%rdx
   0x00007ffff42dd327 &lt;+1255&gt;:	movsd  0x38(%rdx),%xmm0
   0x00007ffff42dd32c &lt;+1260&gt;:	movsd  %xmm0,0x7b8(%rsp)
   0x00007ffff42dd335 &lt;+1269&gt;:	shufpd $0x0,%xmm0,%xmm0
   0x00007ffff42dd33a &lt;+1274&gt;:	movapd %xmm0,0x7a0(%rsp)
   0x00007ffff42dd343 &lt;+1283&gt;:	movapd %xmm0,-0x40(%rsp)
   0x00007ffff42dd349 &lt;+1289&gt;:	movapd 0x70(%rsp),%xmm0
   0x00007ffff42dd34f &lt;+1295&gt;:	movapd -0x10(%rsp),%xmm1
   0x00007ffff42dd355 &lt;+1301&gt;:	movapd %xmm0,0x790(%rsp)
   0x00007ffff42dd35e &lt;+1310&gt;:	movapd %xmm1,0x780(%rsp)
   0x00007ffff42dd367 &lt;+1319&gt;:	movapd 0x790(%rsp),%xmm0
   0x00007ffff42dd370 &lt;+1328&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd374 &lt;+1332&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd37a &lt;+1338&gt;:	movapd 0x60(%rsp),%xmm0
   0x00007ffff42dd380 &lt;+1344&gt;:	movapd -0x20(%rsp),%xmm1
   0x00007ffff42dd386 &lt;+1350&gt;:	movapd %xmm0,0x770(%rsp)
   0x00007ffff42dd38f &lt;+1359&gt;:	movapd %xmm1,0x760(%rsp)
   0x00007ffff42dd398 &lt;+1368&gt;:	movapd 0x770(%rsp),%xmm0
   0x00007ffff42dd3a1 &lt;+1377&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd3a5 &lt;+1381&gt;:	movapd %xmm0,-0x60(%rsp)
   0x00007ffff42dd3ab &lt;+1387&gt;:	movapd 0x50(%rsp),%xmm0
   0x00007ffff42dd3b1 &lt;+1393&gt;:	movapd -0x30(%rsp),%xmm1
   0x00007ffff42dd3b7 &lt;+1399&gt;:	movapd %xmm0,0x750(%rsp)
   0x00007ffff42dd3c0 &lt;+1408&gt;:	movapd %xmm1,0x740(%rsp)
   0x00007ffff42dd3c9 &lt;+1417&gt;:	movapd 0x750(%rsp),%xmm0
   0x00007ffff42dd3d2 &lt;+1426&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd3d6 &lt;+1430&gt;:	movapd %xmm0,-0x70(%rsp)
   0x00007ffff42dd3dc &lt;+1436&gt;:	movapd 0x40(%rsp),%xmm0
   0x00007ffff42dd3e2 &lt;+1442&gt;:	movapd -0x40(%rsp),%xmm1
   0x00007ffff42dd3e8 &lt;+1448&gt;:	movapd %xmm0,0x730(%rsp)
   0x00007ffff42dd3f1 &lt;+1457&gt;:	movapd %xmm1,0x720(%rsp)
   0x00007ffff42dd3fa &lt;+1466&gt;:	movapd 0x730(%rsp),%xmm0
   0x00007ffff42dd403 &lt;+1475&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd407 &lt;+1479&gt;:	movapd %xmm0,-0x80(%rsp)
   0x00007ffff42dd40d &lt;+1485&gt;:	movapd -0x50(%rsp),%xmm0
   0x00007ffff42dd413 &lt;+1491&gt;:	movapd -0x60(%rsp),%xmm1
   0x00007ffff42dd419 &lt;+1497&gt;:	movapd %xmm0,0x710(%rsp)
   0x00007ffff42dd422 &lt;+1506&gt;:	movapd %xmm1,0x700(%rsp)
   0x00007ffff42dd42b &lt;+1515&gt;:	movapd 0x710(%rsp),%xmm0
   0x00007ffff42dd434 &lt;+1524&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42dd438 &lt;+1528&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd43e &lt;+1534&gt;:	movapd -0x70(%rsp),%xmm1
   0x00007ffff42dd444 &lt;+1540&gt;:	movapd %xmm0,0x6f0(%rsp)
   0x00007ffff42dd44d &lt;+1549&gt;:	movapd %xmm1,0x6e0(%rsp)
   0x00007ffff42dd456 &lt;+1558&gt;:	movapd 0x6f0(%rsp),%xmm0
   0x00007ffff42dd45f &lt;+1567&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42dd463 &lt;+1571&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd469 &lt;+1577&gt;:	movapd -0x80(%rsp),%xmm1
   0x00007ffff42dd46f &lt;+1583&gt;:	movapd %xmm0,0x6d0(%rsp)
   0x00007ffff42dd478 &lt;+1592&gt;:	movapd %xmm1,0x6c0(%rsp)
   0x00007ffff42dd481 &lt;+1601&gt;:	movapd 0x6d0(%rsp),%xmm0
   0x00007ffff42dd48a &lt;+1610&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42dd48e &lt;+1614&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd494 &lt;+1620&gt;:	mov    %rdi,0x6b8(%rsp)
   0x00007ffff42dd49c &lt;+1628&gt;:	movapd %xmm0,0x6a0(%rsp)
   0x00007ffff42dd4a5 &lt;+1637&gt;:	mov    0x6b8(%rsp),%rdx
   0x00007ffff42dd4ad &lt;+1645&gt;:	movapd %xmm0,(%rdx)
   0x00007ffff42dd4b1 &lt;+1649&gt;:	movapd 0x30(%rsp),%xmm0
   0x00007ffff42dd4b7 &lt;+1655&gt;:	movapd -0x10(%rsp),%xmm1
   0x00007ffff42dd4bd &lt;+1661&gt;:	movapd %xmm0,0x690(%rsp)
   0x00007ffff42dd4c6 &lt;+1670&gt;:	movapd %xmm1,0x680(%rsp)
   0x00007ffff42dd4cf &lt;+1679&gt;:	movapd 0x690(%rsp),%xmm0
   0x00007ffff42dd4d8 &lt;+1688&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd4dc &lt;+1692&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd4e2 &lt;+1698&gt;:	movapd 0x20(%rsp),%xmm0
   0x00007ffff42dd4e8 &lt;+1704&gt;:	movapd -0x20(%rsp),%xmm1
   0x00007ffff42dd4ee &lt;+1710&gt;:	movapd %xmm0,0x670(%rsp)
   0x00007ffff42dd4f7 &lt;+1719&gt;:	movapd %xmm1,0x660(%rsp)
   0x00007ffff42dd500 &lt;+1728&gt;:	movapd 0x670(%rsp),%xmm0
   0x00007ffff42dd509 &lt;+1737&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd50d &lt;+1741&gt;:	movapd %xmm0,-0x60(%rsp)
   0x00007ffff42dd513 &lt;+1747&gt;:	movapd 0x10(%rsp),%xmm0
   0x00007ffff42dd519 &lt;+1753&gt;:	movapd -0x30(%rsp),%xmm1
   0x00007ffff42dd51f &lt;+1759&gt;:	movapd %xmm0,0x650(%rsp)
   0x00007ffff42dd528 &lt;+1768&gt;:	movapd %xmm1,0x640(%rsp)
   0x00007ffff42dd531 &lt;+1777&gt;:	movapd 0x650(%rsp),%xmm0
   0x00007ffff42dd53a &lt;+1786&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd53e &lt;+1790&gt;:	movapd %xmm0,-0x70(%rsp)
   0x00007ffff42dd544 &lt;+1796&gt;:	movapd (%rsp),%xmm0
   0x00007ffff42dd549 &lt;+1801&gt;:	movapd -0x40(%rsp),%xmm1
   0x00007ffff42dd54f &lt;+1807&gt;:	movapd %xmm0,0x630(%rsp)
   0x00007ffff42dd558 &lt;+1816&gt;:	movapd %xmm1,0x620(%rsp)
   0x00007ffff42dd561 &lt;+1825&gt;:	movapd 0x630(%rsp),%xmm0
   0x00007ffff42dd56a &lt;+1834&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd56e &lt;+1838&gt;:	movapd %xmm0,-0x80(%rsp)
   0x00007ffff42dd574 &lt;+1844&gt;:	movapd -0x50(%rsp),%xmm0
   0x00007ffff42dd57a &lt;+1850&gt;:	movapd -0x60(%rsp),%xmm1
   0x00007ffff42dd580 &lt;+1856&gt;:	movapd %xmm0,0x610(%rsp)
   0x00007ffff42dd589 &lt;+1865&gt;:	movapd %xmm1,0x600(%rsp)
   0x00007ffff42dd592 &lt;+1874&gt;:	movapd 0x610(%rsp),%xmm0
   0x00007ffff42dd59b &lt;+1883&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42dd59f &lt;+1887&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd5a5 &lt;+1893&gt;:	movapd -0x70(%rsp),%xmm1
   0x00007ffff42dd5ab &lt;+1899&gt;:	movapd %xmm0,0x5f0(%rsp)
   0x00007ffff42dd5b4 &lt;+1908&gt;:	movapd %xmm1,0x5e0(%rsp)
   0x00007ffff42dd5bd &lt;+1917&gt;:	movapd 0x5f0(%rsp),%xmm0
   0x00007ffff42dd5c6 &lt;+1926&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42dd5ca &lt;+1930&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd5d0 &lt;+1936&gt;:	movapd -0x80(%rsp),%xmm1
   0x00007ffff42dd5d6 &lt;+1942&gt;:	movapd %xmm0,0x5d0(%rsp)
   0x00007ffff42dd5df &lt;+1951&gt;:	movapd %xmm1,0x5c0(%rsp)
   0x00007ffff42dd5e8 &lt;+1960&gt;:	movapd 0x5d0(%rsp),%xmm0
   0x00007ffff42dd5f1 &lt;+1969&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42dd5f5 &lt;+1973&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd5fb &lt;+1979&gt;:	mov    %r8,0x5b8(%rsp)
   0x00007ffff42dd603 &lt;+1987&gt;:	movapd %xmm0,0x5a0(%rsp)
   0x00007ffff42dd60c &lt;+1996&gt;:	mov    0x5b8(%rsp),%rdx
   0x00007ffff42dd614 &lt;+2004&gt;:	movapd %xmm0,(%rdx)
   0x00007ffff42dd618 &lt;+2008&gt;:	mov    0x88(%rsp),%rdx
   0x00007ffff42dd620 &lt;+2016&gt;:	movsd  0x40(%rdx),%xmm0
   0x00007ffff42dd625 &lt;+2021&gt;:	movsd  %xmm0,0x598(%rsp)
   0x00007ffff42dd62e &lt;+2030&gt;:	shufpd $0x0,%xmm0,%xmm0
   0x00007ffff42dd633 &lt;+2035&gt;:	movapd %xmm0,0x580(%rsp)
   0x00007ffff42dd63c &lt;+2044&gt;:	movapd %xmm0,-0x10(%rsp)
   0x00007ffff42dd642 &lt;+2050&gt;:	mov    0x88(%rsp),%rdx
   0x00007ffff42dd64a &lt;+2058&gt;:	movsd  0x48(%rdx),%xmm0
   0x00007ffff42dd64f &lt;+2063&gt;:	movsd  %xmm0,0x578(%rsp)
   0x00007ffff42dd658 &lt;+2072&gt;:	shufpd $0x0,%xmm0,%xmm0
   0x00007ffff42dd65d &lt;+2077&gt;:	movapd %xmm0,0x560(%rsp)
   0x00007ffff42dd666 &lt;+2086&gt;:	movapd %xmm0,-0x20(%rsp)
   0x00007ffff42dd66c &lt;+2092&gt;:	mov    0x88(%rsp),%rdx
   0x00007ffff42dd674 &lt;+2100&gt;:	movsd  0x50(%rdx),%xmm0
   0x00007ffff42dd679 &lt;+2105&gt;:	movsd  %xmm0,0x558(%rsp)
   0x00007ffff42dd682 &lt;+2114&gt;:	shufpd $0x0,%xmm0,%xmm0
   0x00007ffff42dd687 &lt;+2119&gt;:	movapd %xmm0,0x540(%rsp)
   0x00007ffff42dd690 &lt;+2128&gt;:	movapd %xmm0,-0x30(%rsp)
   0x00007ffff42dd696 &lt;+2134&gt;:	mov    0x88(%rsp),%rdx
   0x00007ffff42dd69e &lt;+2142&gt;:	movsd  0x58(%rdx),%xmm0
   0x00007ffff42dd6a3 &lt;+2147&gt;:	movsd  %xmm0,0x538(%rsp)
   0x00007ffff42dd6ac &lt;+2156&gt;:	shufpd $0x0,%xmm0,%xmm0
   0x00007ffff42dd6b1 &lt;+2161&gt;:	movapd %xmm0,0x520(%rsp)
   0x00007ffff42dd6ba &lt;+2170&gt;:	movapd %xmm0,-0x40(%rsp)
   0x00007ffff42dd6c0 &lt;+2176&gt;:	movapd 0x70(%rsp),%xmm0
   0x00007ffff42dd6c6 &lt;+2182&gt;:	movapd -0x10(%rsp),%xmm1
   0x00007ffff42dd6cc &lt;+2188&gt;:	movapd %xmm0,0x510(%rsp)
   0x00007ffff42dd6d5 &lt;+2197&gt;:	movapd %xmm1,0x500(%rsp)
   0x00007ffff42dd6de &lt;+2206&gt;:	movapd 0x510(%rsp),%xmm0
   0x00007ffff42dd6e7 &lt;+2215&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd6eb &lt;+2219&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd6f1 &lt;+2225&gt;:	movapd 0x60(%rsp),%xmm0
   0x00007ffff42dd6f7 &lt;+2231&gt;:	movapd -0x20(%rsp),%xmm1
   0x00007ffff42dd6fd &lt;+2237&gt;:	movapd %xmm0,0x4f0(%rsp)
   0x00007ffff42dd706 &lt;+2246&gt;:	movapd %xmm1,0x4e0(%rsp)
   0x00007ffff42dd70f &lt;+2255&gt;:	movapd 0x4f0(%rsp),%xmm0
   0x00007ffff42dd718 &lt;+2264&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd71c &lt;+2268&gt;:	movapd %xmm0,-0x60(%rsp)
   0x00007ffff42dd722 &lt;+2274&gt;:	movapd 0x50(%rsp),%xmm0
   0x00007ffff42dd728 &lt;+2280&gt;:	movapd -0x30(%rsp),%xmm1
   0x00007ffff42dd72e &lt;+2286&gt;:	movapd %xmm0,0x4d0(%rsp)
   0x00007ffff42dd737 &lt;+2295&gt;:	movapd %xmm1,0x4c0(%rsp)
   0x00007ffff42dd740 &lt;+2304&gt;:	movapd 0x4d0(%rsp),%xmm0
   0x00007ffff42dd749 &lt;+2313&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd74d &lt;+2317&gt;:	movapd %xmm0,-0x70(%rsp)
   0x00007ffff42dd753 &lt;+2323&gt;:	movapd 0x40(%rsp),%xmm0
   0x00007ffff42dd759 &lt;+2329&gt;:	movapd -0x40(%rsp),%xmm1
   0x00007ffff42dd75f &lt;+2335&gt;:	movapd %xmm0,0x4b0(%rsp)
   0x00007ffff42dd768 &lt;+2344&gt;:	movapd %xmm1,0x4a0(%rsp)
   0x00007ffff42dd771 &lt;+2353&gt;:	movapd 0x4b0(%rsp),%xmm0
   0x00007ffff42dd77a &lt;+2362&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd77e &lt;+2366&gt;:	movapd %xmm0,-0x80(%rsp)
   0x00007ffff42dd784 &lt;+2372&gt;:	movapd -0x50(%rsp),%xmm0
   0x00007ffff42dd78a &lt;+2378&gt;:	movapd -0x60(%rsp),%xmm1
   0x00007ffff42dd790 &lt;+2384&gt;:	movapd %xmm0,0x490(%rsp)
   0x00007ffff42dd799 &lt;+2393&gt;:	movapd %xmm1,0x480(%rsp)
   0x00007ffff42dd7a2 &lt;+2402&gt;:	movapd 0x490(%rsp),%xmm0
   0x00007ffff42dd7ab &lt;+2411&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42dd7af &lt;+2415&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd7b5 &lt;+2421&gt;:	movapd -0x70(%rsp),%xmm1
   0x00007ffff42dd7bb &lt;+2427&gt;:	movapd %xmm0,0x470(%rsp)
   0x00007ffff42dd7c4 &lt;+2436&gt;:	movapd %xmm1,0x460(%rsp)
   0x00007ffff42dd7cd &lt;+2445&gt;:	movapd 0x470(%rsp),%xmm0
   0x00007ffff42dd7d6 &lt;+2454&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42dd7da &lt;+2458&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd7e0 &lt;+2464&gt;:	movapd -0x80(%rsp),%xmm1
   0x00007ffff42dd7e6 &lt;+2470&gt;:	movapd %xmm0,0x450(%rsp)
   0x00007ffff42dd7ef &lt;+2479&gt;:	movapd %xmm1,0x440(%rsp)
   0x00007ffff42dd7f8 &lt;+2488&gt;:	movapd 0x450(%rsp),%xmm0
   0x00007ffff42dd801 &lt;+2497&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42dd805 &lt;+2501&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd80b &lt;+2507&gt;:	mov    %rax,0x438(%rsp)
   0x00007ffff42dd813 &lt;+2515&gt;:	movapd %xmm0,0x420(%rsp)
   0x00007ffff42dd81c &lt;+2524&gt;:	mov    0x438(%rsp),%rax
   0x00007ffff42dd824 &lt;+2532&gt;:	movapd %xmm0,(%rax)
   0x00007ffff42dd828 &lt;+2536&gt;:	movapd 0x30(%rsp),%xmm0
   0x00007ffff42dd82e &lt;+2542&gt;:	movapd -0x10(%rsp),%xmm1
   0x00007ffff42dd834 &lt;+2548&gt;:	movapd %xmm0,0x410(%rsp)
   0x00007ffff42dd83d &lt;+2557&gt;:	movapd %xmm1,0x400(%rsp)
   0x00007ffff42dd846 &lt;+2566&gt;:	movapd 0x410(%rsp),%xmm0
   0x00007ffff42dd84f &lt;+2575&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd853 &lt;+2579&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd859 &lt;+2585&gt;:	movapd 0x20(%rsp),%xmm0
   0x00007ffff42dd85f &lt;+2591&gt;:	movapd -0x20(%rsp),%xmm1
   0x00007ffff42dd865 &lt;+2597&gt;:	movapd %xmm0,0x3f0(%rsp)
   0x00007ffff42dd86e &lt;+2606&gt;:	movapd %xmm1,0x3e0(%rsp)
   0x00007ffff42dd877 &lt;+2615&gt;:	movapd 0x3f0(%rsp),%xmm0
   0x00007ffff42dd880 &lt;+2624&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd884 &lt;+2628&gt;:	movapd %xmm0,-0x60(%rsp)
   0x00007ffff42dd88a &lt;+2634&gt;:	movapd 0x10(%rsp),%xmm0
   0x00007ffff42dd890 &lt;+2640&gt;:	movapd -0x30(%rsp),%xmm1
   0x00007ffff42dd896 &lt;+2646&gt;:	movapd %xmm0,0x3d0(%rsp)
   0x00007ffff42dd89f &lt;+2655&gt;:	movapd %xmm1,0x3c0(%rsp)
   0x00007ffff42dd8a8 &lt;+2664&gt;:	movapd 0x3d0(%rsp),%xmm0
   0x00007ffff42dd8b1 &lt;+2673&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd8b5 &lt;+2677&gt;:	movapd %xmm0,-0x70(%rsp)
   0x00007ffff42dd8bb &lt;+2683&gt;:	movapd (%rsp),%xmm0
   0x00007ffff42dd8c0 &lt;+2688&gt;:	movapd -0x40(%rsp),%xmm1
   0x00007ffff42dd8c6 &lt;+2694&gt;:	movapd %xmm0,0x3b0(%rsp)
   0x00007ffff42dd8cf &lt;+2703&gt;:	movapd %xmm1,0x3a0(%rsp)
   0x00007ffff42dd8d8 &lt;+2712&gt;:	movapd 0x3b0(%rsp),%xmm0
   0x00007ffff42dd8e1 &lt;+2721&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dd8e5 &lt;+2725&gt;:	movapd %xmm0,-0x80(%rsp)
   0x00007ffff42dd8eb &lt;+2731&gt;:	movapd -0x50(%rsp),%xmm0
   0x00007ffff42dd8f1 &lt;+2737&gt;:	movapd -0x60(%rsp),%xmm1
   0x00007ffff42dd8f7 &lt;+2743&gt;:	movapd %xmm0,0x390(%rsp)
   0x00007ffff42dd900 &lt;+2752&gt;:	movapd %xmm1,0x380(%rsp)
   0x00007ffff42dd909 &lt;+2761&gt;:	movapd 0x390(%rsp),%xmm0
   0x00007ffff42dd912 &lt;+2770&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42dd916 &lt;+2774&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd91c &lt;+2780&gt;:	movapd -0x70(%rsp),%xmm1
   0x00007ffff42dd922 &lt;+2786&gt;:	movapd %xmm0,0x370(%rsp)
   0x00007ffff42dd92b &lt;+2795&gt;:	movapd %xmm1,0x360(%rsp)
   0x00007ffff42dd934 &lt;+2804&gt;:	movapd 0x370(%rsp),%xmm0
   0x00007ffff42dd93d &lt;+2813&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42dd941 &lt;+2817&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd947 &lt;+2823&gt;:	movapd -0x80(%rsp),%xmm1
   0x00007ffff42dd94d &lt;+2829&gt;:	movapd %xmm0,0x350(%rsp)
   0x00007ffff42dd956 &lt;+2838&gt;:	movapd %xmm1,0x340(%rsp)
   0x00007ffff42dd95f &lt;+2847&gt;:	movapd 0x350(%rsp),%xmm0
   0x00007ffff42dd968 &lt;+2856&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42dd96c &lt;+2860&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dd972 &lt;+2866&gt;:	mov    %r9,0x338(%rsp)
   0x00007ffff42dd97a &lt;+2874&gt;:	movapd %xmm0,0x320(%rsp)
   0x00007ffff42dd983 &lt;+2883&gt;:	mov    0x338(%rsp),%rax
   0x00007ffff42dd98b &lt;+2891&gt;:	movapd %xmm0,(%rax)
   0x00007ffff42dd98f &lt;+2895&gt;:	mov    0x88(%rsp),%rax
   0x00007ffff42dd997 &lt;+2903&gt;:	movsd  0x60(%rax),%xmm0
   0x00007ffff42dd99c &lt;+2908&gt;:	movsd  %xmm0,0x318(%rsp)
   0x00007ffff42dd9a5 &lt;+2917&gt;:	shufpd $0x0,%xmm0,%xmm0
   0x00007ffff42dd9aa &lt;+2922&gt;:	movapd %xmm0,0x300(%rsp)
   0x00007ffff42dd9b3 &lt;+2931&gt;:	movapd %xmm0,-0x10(%rsp)
   0x00007ffff42dd9b9 &lt;+2937&gt;:	mov    0x88(%rsp),%rax
   0x00007ffff42dd9c1 &lt;+2945&gt;:	movsd  0x68(%rax),%xmm0
   0x00007ffff42dd9c6 &lt;+2950&gt;:	movsd  %xmm0,0x2f8(%rsp)
   0x00007ffff42dd9cf &lt;+2959&gt;:	shufpd $0x0,%xmm0,%xmm0
   0x00007ffff42dd9d4 &lt;+2964&gt;:	movapd %xmm0,0x2e0(%rsp)
   0x00007ffff42dd9dd &lt;+2973&gt;:	movapd %xmm0,-0x20(%rsp)
   0x00007ffff42dd9e3 &lt;+2979&gt;:	mov    0x88(%rsp),%rax
   0x00007ffff42dd9eb &lt;+2987&gt;:	movsd  0x70(%rax),%xmm0
   0x00007ffff42dd9f0 &lt;+2992&gt;:	movsd  %xmm0,0x2d8(%rsp)
   0x00007ffff42dd9f9 &lt;+3001&gt;:	shufpd $0x0,%xmm0,%xmm0
   0x00007ffff42dd9fe &lt;+3006&gt;:	movapd %xmm0,0x2c0(%rsp)
   0x00007ffff42dda07 &lt;+3015&gt;:	movapd %xmm0,-0x30(%rsp)
   0x00007ffff42dda0d &lt;+3021&gt;:	mov    0x88(%rsp),%rax
   0x00007ffff42dda15 &lt;+3029&gt;:	movsd  0x78(%rax),%xmm0
   0x00007ffff42dda1a &lt;+3034&gt;:	movsd  %xmm0,0x2b8(%rsp)
   0x00007ffff42dda23 &lt;+3043&gt;:	shufpd $0x0,%xmm0,%xmm0
   0x00007ffff42dda28 &lt;+3048&gt;:	movapd %xmm0,0x2a0(%rsp)
   0x00007ffff42dda31 &lt;+3057&gt;:	movapd %xmm0,-0x40(%rsp)
   0x00007ffff42dda37 &lt;+3063&gt;:	movapd 0x70(%rsp),%xmm0
   0x00007ffff42dda3d &lt;+3069&gt;:	movapd -0x10(%rsp),%xmm1
   0x00007ffff42dda43 &lt;+3075&gt;:	movapd %xmm0,0x290(%rsp)
   0x00007ffff42dda4c &lt;+3084&gt;:	movapd %xmm1,0x280(%rsp)
   0x00007ffff42dda55 &lt;+3093&gt;:	movapd 0x290(%rsp),%xmm0
   0x00007ffff42dda5e &lt;+3102&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dda62 &lt;+3106&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42dda68 &lt;+3112&gt;:	movapd 0x60(%rsp),%xmm0
   0x00007ffff42dda6e &lt;+3118&gt;:	movapd -0x20(%rsp),%xmm1
   0x00007ffff42dda74 &lt;+3124&gt;:	movapd %xmm0,0x270(%rsp)
   0x00007ffff42dda7d &lt;+3133&gt;:	movapd %xmm1,0x260(%rsp)
   0x00007ffff42dda86 &lt;+3142&gt;:	movapd 0x270(%rsp),%xmm0
   0x00007ffff42dda8f &lt;+3151&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42dda93 &lt;+3155&gt;:	movapd %xmm0,-0x60(%rsp)
   0x00007ffff42dda99 &lt;+3161&gt;:	movapd 0x50(%rsp),%xmm0
   0x00007ffff42dda9f &lt;+3167&gt;:	movapd -0x30(%rsp),%xmm1
   0x00007ffff42ddaa5 &lt;+3173&gt;:	movapd %xmm0,0x250(%rsp)
   0x00007ffff42ddaae &lt;+3182&gt;:	movapd %xmm1,0x240(%rsp)
   0x00007ffff42ddab7 &lt;+3191&gt;:	movapd 0x250(%rsp),%xmm0
   0x00007ffff42ddac0 &lt;+3200&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42ddac4 &lt;+3204&gt;:	movapd %xmm0,-0x70(%rsp)
   0x00007ffff42ddaca &lt;+3210&gt;:	movapd 0x40(%rsp),%xmm0
   0x00007ffff42ddad0 &lt;+3216&gt;:	movapd -0x40(%rsp),%xmm1
   0x00007ffff42ddad6 &lt;+3222&gt;:	movapd %xmm0,0x230(%rsp)
   0x00007ffff42ddadf &lt;+3231&gt;:	movapd %xmm1,0x220(%rsp)
   0x00007ffff42ddae8 &lt;+3240&gt;:	movapd 0x230(%rsp),%xmm0
   0x00007ffff42ddaf1 &lt;+3249&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42ddaf5 &lt;+3253&gt;:	movapd %xmm0,-0x80(%rsp)
   0x00007ffff42ddafb &lt;+3259&gt;:	movapd -0x50(%rsp),%xmm0
   0x00007ffff42ddb01 &lt;+3265&gt;:	movapd -0x60(%rsp),%xmm1
   0x00007ffff42ddb07 &lt;+3271&gt;:	movapd %xmm0,0x210(%rsp)
   0x00007ffff42ddb10 &lt;+3280&gt;:	movapd %xmm1,0x200(%rsp)
   0x00007ffff42ddb19 &lt;+3289&gt;:	movapd 0x210(%rsp),%xmm0
   0x00007ffff42ddb22 &lt;+3298&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42ddb26 &lt;+3302&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42ddb2c &lt;+3308&gt;:	movapd -0x70(%rsp),%xmm1
   0x00007ffff42ddb32 &lt;+3314&gt;:	movapd %xmm0,0x1f0(%rsp)
   0x00007ffff42ddb3b &lt;+3323&gt;:	movapd %xmm1,0x1e0(%rsp)
   0x00007ffff42ddb44 &lt;+3332&gt;:	movapd 0x1f0(%rsp),%xmm0
   0x00007ffff42ddb4d &lt;+3341&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42ddb51 &lt;+3345&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42ddb57 &lt;+3351&gt;:	movapd -0x80(%rsp),%xmm1
   0x00007ffff42ddb5d &lt;+3357&gt;:	movapd %xmm0,0x1d0(%rsp)
   0x00007ffff42ddb66 &lt;+3366&gt;:	movapd %xmm1,0x1c0(%rsp)
   0x00007ffff42ddb6f &lt;+3375&gt;:	movapd 0x1d0(%rsp),%xmm0
   0x00007ffff42ddb78 &lt;+3384&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42ddb7c &lt;+3388&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42ddb82 &lt;+3394&gt;:	mov    %rcx,0x1b8(%rsp)
   0x00007ffff42ddb8a &lt;+3402&gt;:	movapd %xmm0,0x1a0(%rsp)
   0x00007ffff42ddb93 &lt;+3411&gt;:	mov    0x1b8(%rsp),%rax
   0x00007ffff42ddb9b &lt;+3419&gt;:	movapd %xmm0,(%rax)
   0x00007ffff42ddb9f &lt;+3423&gt;:	movapd 0x30(%rsp),%xmm0
   0x00007ffff42ddba5 &lt;+3429&gt;:	movapd -0x10(%rsp),%xmm1
   0x00007ffff42ddbab &lt;+3435&gt;:	movapd %xmm0,0x190(%rsp)
   0x00007ffff42ddbb4 &lt;+3444&gt;:	movapd %xmm1,0x180(%rsp)
   0x00007ffff42ddbbd &lt;+3453&gt;:	movapd 0x190(%rsp),%xmm0
   0x00007ffff42ddbc6 &lt;+3462&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42ddbca &lt;+3466&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42ddbd0 &lt;+3472&gt;:	movapd 0x20(%rsp),%xmm0
   0x00007ffff42ddbd6 &lt;+3478&gt;:	movapd -0x20(%rsp),%xmm1
   0x00007ffff42ddbdc &lt;+3484&gt;:	movapd %xmm0,0x170(%rsp)
   0x00007ffff42ddbe5 &lt;+3493&gt;:	movapd %xmm1,0x160(%rsp)
   0x00007ffff42ddbee &lt;+3502&gt;:	movapd 0x170(%rsp),%xmm0
   0x00007ffff42ddbf7 &lt;+3511&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42ddbfb &lt;+3515&gt;:	movapd %xmm0,-0x60(%rsp)
   0x00007ffff42ddc01 &lt;+3521&gt;:	movapd 0x10(%rsp),%xmm0
   0x00007ffff42ddc07 &lt;+3527&gt;:	movapd -0x30(%rsp),%xmm1
   0x00007ffff42ddc0d &lt;+3533&gt;:	movapd %xmm0,0x150(%rsp)
   0x00007ffff42ddc16 &lt;+3542&gt;:	movapd %xmm1,0x140(%rsp)
   0x00007ffff42ddc1f &lt;+3551&gt;:	movapd 0x150(%rsp),%xmm0
   0x00007ffff42ddc28 &lt;+3560&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42ddc2c &lt;+3564&gt;:	movapd %xmm0,-0x70(%rsp)
   0x00007ffff42ddc32 &lt;+3570&gt;:	movapd (%rsp),%xmm0
   0x00007ffff42ddc37 &lt;+3575&gt;:	movapd -0x40(%rsp),%xmm1
   0x00007ffff42ddc3d &lt;+3581&gt;:	movapd %xmm0,0x130(%rsp)
   0x00007ffff42ddc46 &lt;+3590&gt;:	movapd %xmm1,0x120(%rsp)
   0x00007ffff42ddc4f &lt;+3599&gt;:	movapd 0x130(%rsp),%xmm0
   0x00007ffff42ddc58 &lt;+3608&gt;:	mulpd  %xmm1,%xmm0
   0x00007ffff42ddc5c &lt;+3612&gt;:	movapd %xmm0,-0x80(%rsp)
   0x00007ffff42ddc62 &lt;+3618&gt;:	movapd -0x50(%rsp),%xmm0
   0x00007ffff42ddc68 &lt;+3624&gt;:	movapd -0x60(%rsp),%xmm1
   0x00007ffff42ddc6e &lt;+3630&gt;:	movapd %xmm0,0x110(%rsp)
   0x00007ffff42ddc77 &lt;+3639&gt;:	movapd %xmm1,0x100(%rsp)
   0x00007ffff42ddc80 &lt;+3648&gt;:	movapd 0x110(%rsp),%xmm0
   0x00007ffff42ddc89 &lt;+3657&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42ddc8d &lt;+3661&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42ddc93 &lt;+3667&gt;:	movapd -0x70(%rsp),%xmm1
   0x00007ffff42ddc99 &lt;+3673&gt;:	movapd %xmm0,0xf0(%rsp)
   0x00007ffff42ddca2 &lt;+3682&gt;:	movapd %xmm1,0xe0(%rsp)
   0x00007ffff42ddcab &lt;+3691&gt;:	movapd 0xf0(%rsp),%xmm0
   0x00007ffff42ddcb4 &lt;+3700&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42ddcb8 &lt;+3704&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42ddcbe &lt;+3710&gt;:	movapd -0x80(%rsp),%xmm1
   0x00007ffff42ddcc4 &lt;+3716&gt;:	movapd %xmm0,0xd0(%rsp)
   0x00007ffff42ddccd &lt;+3725&gt;:	movapd %xmm1,0xc0(%rsp)
   0x00007ffff42ddcd6 &lt;+3734&gt;:	movapd 0xd0(%rsp),%xmm0
   0x00007ffff42ddcdf &lt;+3743&gt;:	addpd  %xmm1,%xmm0
   0x00007ffff42ddce3 &lt;+3747&gt;:	movapd %xmm0,-0x50(%rsp)
   0x00007ffff42ddce9 &lt;+3753&gt;:	mov    %r10,0xb8(%rsp)
   0x00007ffff42ddcf1 &lt;+3761&gt;:	movapd %xmm0,0xa0(%rsp)
   0x00007ffff42ddcfa &lt;+3770&gt;:	mov    0xb8(%rsp),%rax
   0x00007ffff42ddd02 &lt;+3778&gt;:	movapd %xmm0,(%rax)
   0x00007ffff42ddd06 &lt;+3782&gt;:	mov    %rsi,%rax
   0x00007ffff42ddd09 &lt;+3785&gt;:	add    $0xad8,%rsp
   0x00007ffff42ddd10 &lt;+3792&gt;:	retq</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799432</commentid>
    <comment_count>10</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-01-03 10:02:36 -0800</bug_when>
    <thetext>There you go, %rsi is unaligned.

It is the this pointer here.

If it was allocated on the stack, you may have either a bug in your compiler, or someone mess-up the alignment of the stack (likely at library boundaries).

If it is allocated on the heap, what allocator are you using?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799437</commentid>
    <comment_count>11</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2013-01-03 10:07:09 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; There you go, %rsi is unaligned.
&gt; 
&gt; It is the this pointer here.
&gt; 
&gt; If it was allocated on the stack, you may have either a bug in your compiler, or someone mess-up the alignment of the stack (likely at library boundaries).

It&apos;s allocated on the stack, in WebTransformationOperations.cpp, which is inside the WebKit library.

(gdb) frame 2
#2  0x00007ffff367dd8d in WebKit::WebTransformOperations::apply (this=0xb63778) at ../../third_party/WebKit/Source/WebCore/platform/chromium/support/WebTransformOperations.cpp:95

91	WebTransformationMatrix WebTransformOperations::apply() const
92	{
93	    WebTransformationMatrix toReturn;
94	    for (size_t i = 0; i &lt; m_private-&gt;operations.size(); ++i)
95	        toReturn.multiply(m_private-&gt;operations[i].matrix);
96	    return toReturn;
97	}

(gdb) frame 1 
#1  0x00007ffff3680e2d in WebKit::WebTransformationMatrix::multiply (this=0x7fffffffd4c8, t=...) at ../../third_party/WebKit/Source/WebCore/platform/chromium/support/WebTransformationMatrix.cpp:97

95	void WebTransformationMatrix::multiply(const WebTransformationMatrix&amp; t)
96	{
97	    m_private.multiply(t.m_private);
98	}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799439</commentid>
    <comment_count>12</comment_count>
    <who name="Dana Jansens">danakj</who>
    <bug_when>2013-01-03 10:09:15 -0800</bug_when>
    <thetext>Would registers/asm at frames 1 and 2 help point it out?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799445</commentid>
    <comment_count>13</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-01-03 10:13:51 -0800</bug_when>
    <thetext>(In reply to comment #11)
&gt; (In reply to comment #10)
&gt; &gt; There you go, %rsi is unaligned.
&gt; &gt; 
&gt; &gt; It is the this pointer here.
&gt; &gt; 
&gt; &gt; If it was allocated on the stack, you may have either a bug in your compiler, or someone mess-up the alignment of the stack (likely at library boundaries).
&gt; 
&gt; It&apos;s allocated on the stack, in WebTransformationOperations.cpp, which is inside the WebKit library.

In the patch, the alignment is specified on 16 bytes on the stack:
    typedef double Matrix4[4][4] __attribute__((aligned (16)));

This is not followed in Chromium for some reason.
Maybe?
1) Compiler bug (the assembly you pasted looks like quite aggressive debug code - do you have the bug in release?).
2) One of your libraries specify a different stack alignment?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799495</commentid>
    <comment_count>14</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-01-03 11:05:51 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; 2) One of your libraries specify a different stack alignment?

I think this is the issue.  Will let you know when I verify.

In the future, would you prefer this sort of thing be restricted at compile-time to not run on chromium instead of reverted?  We can&apos;t really leave a crash in.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799517</commentid>
    <comment_count>15</comment_count>
    <who name="James Robinson">jamesr</who>
    <bug_when>2013-01-03 11:36:33 -0800</bug_when>
    <thetext>The issue is WebTransformationMatrix is aliasing space for WebCore::TransformationMatrix in different libraries without enforcing the same alignment requirements.  This is an ugly hack that isn&apos;t needed any more, so I&apos;ll just make it not alias at all.  This will take a little bit of time (probably not much more than an hour).

Benjamin - feel free to reland this patch with the ASM version guarded behind !PLATFORM(CHROMIUM) if you want to land before I get around to this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>799533</commentid>
    <comment_count>16</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-01-03 11:58:36 -0800</bug_when>
    <thetext>&gt; In the future, would you prefer this sort of thing be restricted at compile-time to not run on chromium instead of reverted?  We can&apos;t really leave a crash in.

I think #ifdefing Chromium would have been reasonable given this works everywhere except on that test.

I was annoyed because the patch was reverted without any information. Dana promptly provided the missing pieces so I guess it&apos;s ok.

&gt; Benjamin - feel free to reland this patch with the ASM version guarded behind !PLATFORM(CHROMIUM) if you want to land before I get around to this.

I&apos;ll wait a bit. It would be nice if Chromium could have the optimization too. I will land tomorrow if you don&apos;t come back to me. Ping me if I can help.

I&apos;ll also add a #ifdef for FastMalloc. Stricto sensu, we cannot assume natural alignment on other allocator with malloc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800623</commentid>
    <comment_count>17</comment_count>
      <attachid>181377</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-01-04 14:40:19 -0800</bug_when>
    <thetext>Created attachment 181377
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800731</commentid>
    <comment_count>18</comment_count>
      <attachid>181377</attachid>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-01-04 16:35:12 -0800</bug_when>
    <thetext>Comment on attachment 181377
Patch

Clearing flags on attachment: 181377

Committed r138866: &lt;http://trac.webkit.org/changeset/138866&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>800732</commentid>
    <comment_count>19</comment_count>
    <who name="Benjamin Poulain">benjamin</who>
    <bug_when>2013-01-04 16:35:16 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180678</attachid>
            <date>2012-12-24 10:18:08 -0800</date>
            <delta_ts>2013-01-04 14:40:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105719-20121224191520.patch</filename>
            <type>text/plain</type>
            <size>9561</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MTI5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggODk1ZWZkZTIyODNhNmM1
NmQ1ZGNiZTViN2IwNDg4MGE4NzVhYjlmZC4uNWZkZTE4NGRhNzc1MDA3NGRhNTlhMmRmNTE0ZjY2
NmI1N2U3ZDgyZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEyLTEyLTI0ICBCZW5q
YW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBPcHRpbWl6ZSBU
cmFuc2Zvcm1hdGlvbk1hdHJpeDo6bXVsdGlwbHkoKSBmb3IgeDg2XzY0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU3MTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBPbiB4ODZfNjQsIHdlIGhhdmUgYWNj
ZXNzIHRvIDE2IFhNTSByZWdpc3RlcnMuIFRoaXMgY2FuIGhvbGQgMzIgZG91YmxlIHZhbHVlcy4K
KyAgICAgICAgV2UgY2FuIHVzZSB0aGF0IGluIHR3byB3YXlzIHRvIG9wdGltaXplIG1hdHJpeCBt
dWx0aXBsaWNhdGlvbnM6CisgICAgICAgIC1LZWVwIHRoZSBzb3VyY2UgbWF0cml4IGNvbXBsZXRl
bHkgaW4gcmVnaXN0ZXJzLiBXcml0ZSB0aGUgcmVzdWx0IGRpcmVjdGx5IGluCisgICAgICAgICB0
aGUgc291cmNlIG1hdHJpeCdzIG1lbW9yeS4gVGhpcyBhdm9pZHMgdGhlIG1lbWNweSBhdCB0aGUg
ZW5kIG9mIHRoZSBtdWx0aXBsaWNhdGlvbgorICAgICAgICAgYW5kIHZhcmlvdXMgbWVtb3J5IG9w
ZXJhdGlvbnMuCisgICAgICAgIC1Vc2UgU0lNRCB3aXRoIFNTRSB0byBwZXJmb3JtIDIgb3BlcmF0
aW9ucyBhdCBhIHRpbWUuCisKKyAgICAgICAgVGhlIHBhcmFtZXRlciBmcm9tIHRoZSBzZWNvbmQg
bWF0cml4IGFyZSBsb2FkZWQgb25lIGJ5IG9uZSBpbiBYTU0gcmVnaXN0ZXJzLgorICAgICAgICBM
b2FkaW5nIHRoZW0gd2l0aCBTU0UgdGhlbiBzaHVmZmxpbmcgdGhlIHZhbHVlcyBwZXJmb3JtIHdv
cnNlIHRoYW4gbG9hZGluZworICAgICAgICBvbmUgYnkgb25lLgorCisgICAgICAgIFRoaXMgaXMg
b25seSBlbmFibGVkIG9uIDY0Yml0cyBhcyB4ODYgb25seSBoYXMgYWNjZXNzIHRvIDggWE1NIHJl
Z2lzdGVycyBhbmQKKyAgICAgICAgdGhlIGZ1bmN0aW9uIHNob3VsZCBiZSB3cml0dGVuIGRpZmZl
cmVudGx5LgorCisgICAgICAgIE9uIGEgaTUsIFRyYW5zZm9ybWF0aW9uTWF0cml4OjptdWx0aXBs
eSgpIHBlcmZvcm0gYWJvdXQgMyB0aW1lcyBmYXN0ZXIgd2l0aCB0aGUgY2hhbmdlLgorCisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpUcmFuc2Zvcm1hdGlvbk1hdHJpeDo6bXVsdGlwbHkpOgor
ICAgICAgICAqIHBsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRy
aXguaDoKKyAgICAgICAgKFRyYW5zZm9ybWF0aW9uTWF0cml4KTogRml4IGFuIGluY29ycmVjdCBj
b21tZW50LiBVbmlmeSB0aGUgY29tbWVudCB3aXRoIHRoZSBjcHAgZmlsZS4KKwogMjAxMi0xMi0x
OSAgQmVuamFtaW4gUG91bGFpbiAgPGJlbmphbWluQHdlYmtpdC5vcmc+CiAKICAgICAgICAgV2Vi
S2l0Q1NTVHJhbnNmb3JtVmFsdWU6OmN1c3RvbUNzc1RleHQoKSBzaG91bGQgYWx3YXlzIGFsbG9j
YXRlIG9uY2UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3Ry
YW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHAKaW5kZXggYWRj
YjQ4YjlhYzkzMjYwMTUxNTRhNTU1ZDc3MDg0MzQ3NmJlMjUyZi4uNjg4NTM2ZDhjM2QyMjgwMDVk
NzNjZGFmNTczZDQwN2M1ODJjNDgwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1h
dHJpeC5jcHAKQEAgLTM2LDYgKzM2LDEwIEBACiAjaW5jbHVkZSA8d3RmL0Fzc2VydGlvbnMuaD4K
ICNpbmNsdWRlIDx3dGYvTWF0aEV4dHJhcy5oPgogCisjaWYgQ1BVKFg4Nl82NCkKKyNpbmNsdWRl
IDxlbW1pbnRyaW4uaD4KKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2Ugc3RkOwogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CkBAIC05NjgsOSArOTcyLDcgQEAgVHJhbnNmb3JtYXRpb25NYXRyaXggVHJh
bnNmb3JtYXRpb25NYXRyaXg6OnJlY3RUb1JlY3QoY29uc3QgRmxvYXRSZWN0JiBmcm9tLCBjb24K
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdG8ueSgpIC0gZnJvbS55KCkpOwogfQog
Ci0vLwotLy8gKnRoaXMgPSBtYXQgKiAqdGhpcwotLy8KKy8vIHRoaXMgPSBtYXQgKiB0aGlzLgog
VHJhbnNmb3JtYXRpb25NYXRyaXgmIFRyYW5zZm9ybWF0aW9uTWF0cml4OjptdWx0aXBseShjb25z
dCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbWF0KQogewogI2lmIENQVShBUFBMRV9BUk1WN1MpCkBA
IC0xMTE1LDYgKzExMTcsMTMwIEBAIFRyYW5zZm9ybWF0aW9uTWF0cml4JiBUcmFuc2Zvcm1hdGlv
bk1hdHJpeDo6bXVsdGlwbHkoY29uc3QgVHJhbnNmb3JtYXRpb25NYXRyaXgmCiAgICAgfQogI3Vu
ZGVmIE1BVFJJWF9NVUxUSVBMWV9PTkVfTElORQogCisjZWxpZiBDUFUoWDg2XzY0KQorICAgIC8v
IHg4Nl82NCBoYXMgMTYgWE1NIHJlZ2lzdGVycyB3aGljaCBpcyBlbm91Z2ggdG8gZG8gdGhlIG11
bHRpcGxpY2F0aW9uIGZ1bGx5IGluIHJlZ2lzdGVycy4KKyAgICBfX20xMjhkIG1hdHJpeEJsb2Nr
QSA9IF9tbV9sb2FkX3BkKCYobV9tYXRyaXhbMF1bMF0pKTsKKyAgICBfX20xMjhkIG1hdHJpeEJs
b2NrQyA9IF9tbV9sb2FkX3BkKCYobV9tYXRyaXhbMV1bMF0pKTsKKyAgICBfX20xMjhkIG1hdHJp
eEJsb2NrRSA9IF9tbV9sb2FkX3BkKCYobV9tYXRyaXhbMl1bMF0pKTsKKyAgICBfX20xMjhkIG1h
dHJpeEJsb2NrRyA9IF9tbV9sb2FkX3BkKCYobV9tYXRyaXhbM11bMF0pKTsKKworICAgIC8vIEZJ
WE1FOiBtb3ZlIGZ1dGhlciBkb3duIGJlZm9yZSBpdCBpcyBhY3R1YWxseSB1c2VkLgorICAgIF9f
bTEyOGQgbWF0cml4QmxvY2tCID0gX21tX2xvYWRfcGQoJihtX21hdHJpeFswXVsyXSkpOworICAg
IF9fbTEyOGQgbWF0cml4QmxvY2tEID0gX21tX2xvYWRfcGQoJihtX21hdHJpeFsxXVsyXSkpOwor
ICAgIF9fbTEyOGQgbWF0cml4QmxvY2tGID0gX21tX2xvYWRfcGQoJihtX21hdHJpeFsyXVsyXSkp
OworICAgIF9fbTEyOGQgbWF0cml4QmxvY2tIID0gX21tX2xvYWRfcGQoJihtX21hdHJpeFszXVsy
XSkpOworCisgICAgLy8gRmlyc3Qgcm93LgorICAgIF9fbTEyOGQgb3RoZXJNYXRyaXhGaXJzdFBh
cmFtID0gX21tX3NldDFfcGQobWF0Lm1fbWF0cml4WzBdWzBdKTsKKyAgICBfX20xMjhkIG90aGVy
TWF0cml4U2Vjb25kUGFyYW0gPSBfbW1fc2V0MV9wZChtYXQubV9tYXRyaXhbMF1bMV0pOworICAg
IF9fbTEyOGQgb3RoZXJNYXRyaXhUaGlyZFBhcmFtID0gX21tX3NldDFfcGQobWF0Lm1fbWF0cml4
WzBdWzJdKTsKKyAgICBfX20xMjhkIG90aGVyTWF0cml4Rm91cnRoUGFyYW0gPSBfbW1fc2V0MV9w
ZChtYXQubV9tYXRyaXhbMF1bM10pOworCisgICAgLy8gb3V0cHV0MDAgYW5kIG91dHB1dDAxLgor
ICAgIF9fbTEyOGQgYWNjdW11bGF0b3IgPSBfbW1fbXVsX3BkKG1hdHJpeEJsb2NrQSwgb3RoZXJN
YXRyaXhGaXJzdFBhcmFtKTsKKyAgICBfX20xMjhkIHRlbXAxID0gX21tX211bF9wZChtYXRyaXhC
bG9ja0MsIG90aGVyTWF0cml4U2Vjb25kUGFyYW0pOworICAgIF9fbTEyOGQgdGVtcDIgPSBfbW1f
bXVsX3BkKG1hdHJpeEJsb2NrRSwgb3RoZXJNYXRyaXhUaGlyZFBhcmFtKTsKKyAgICBfX20xMjhk
IHRlbXAzID0gX21tX211bF9wZChtYXRyaXhCbG9ja0csIG90aGVyTWF0cml4Rm91cnRoUGFyYW0p
OworCisgICAgYWNjdW11bGF0b3IgPSBfbW1fYWRkX3BkKGFjY3VtdWxhdG9yLCB0ZW1wMSk7Cisg
ICAgYWNjdW11bGF0b3IgPSBfbW1fYWRkX3BkKGFjY3VtdWxhdG9yLCB0ZW1wMik7CisgICAgYWNj
dW11bGF0b3IgPSBfbW1fYWRkX3BkKGFjY3VtdWxhdG9yLCB0ZW1wMyk7CisgICAgX21tX3N0b3Jl
X3BkKCZtX21hdHJpeFswXVswXSwgYWNjdW11bGF0b3IpOworCisgICAgLy8gb3V0cHV0MDIgYW5k
IG91dHB1dDAzLgorICAgIGFjY3VtdWxhdG9yID0gX21tX211bF9wZChtYXRyaXhCbG9ja0IsIG90
aGVyTWF0cml4Rmlyc3RQYXJhbSk7CisgICAgdGVtcDEgPSBfbW1fbXVsX3BkKG1hdHJpeEJsb2Nr
RCwgb3RoZXJNYXRyaXhTZWNvbmRQYXJhbSk7CisgICAgdGVtcDIgPSBfbW1fbXVsX3BkKG1hdHJp
eEJsb2NrRiwgb3RoZXJNYXRyaXhUaGlyZFBhcmFtKTsKKyAgICB0ZW1wMyA9IF9tbV9tdWxfcGQo
bWF0cml4QmxvY2tILCBvdGhlck1hdHJpeEZvdXJ0aFBhcmFtKTsKKworICAgIGFjY3VtdWxhdG9y
ID0gX21tX2FkZF9wZChhY2N1bXVsYXRvciwgdGVtcDEpOworICAgIGFjY3VtdWxhdG9yID0gX21t
X2FkZF9wZChhY2N1bXVsYXRvciwgdGVtcDIpOworICAgIGFjY3VtdWxhdG9yID0gX21tX2FkZF9w
ZChhY2N1bXVsYXRvciwgdGVtcDMpOworICAgIF9tbV9zdG9yZV9wZCgmbV9tYXRyaXhbMF1bMl0s
IGFjY3VtdWxhdG9yKTsKKworICAgIC8vIFNlY29uZCByb3cuCisgICAgb3RoZXJNYXRyaXhGaXJz
dFBhcmFtID0gX21tX3NldDFfcGQobWF0Lm1fbWF0cml4WzFdWzBdKTsKKyAgICBvdGhlck1hdHJp
eFNlY29uZFBhcmFtID0gX21tX3NldDFfcGQobWF0Lm1fbWF0cml4WzFdWzFdKTsKKyAgICBvdGhl
ck1hdHJpeFRoaXJkUGFyYW0gPSBfbW1fc2V0MV9wZChtYXQubV9tYXRyaXhbMV1bMl0pOworICAg
IG90aGVyTWF0cml4Rm91cnRoUGFyYW0gPSBfbW1fc2V0MV9wZChtYXQubV9tYXRyaXhbMV1bM10p
OworCisgICAgLy8gb3V0cHV0MTAgYW5kIG91dHB1dDExLgorICAgIGFjY3VtdWxhdG9yID0gX21t
X211bF9wZChtYXRyaXhCbG9ja0EsIG90aGVyTWF0cml4Rmlyc3RQYXJhbSk7CisgICAgdGVtcDEg
PSBfbW1fbXVsX3BkKG1hdHJpeEJsb2NrQywgb3RoZXJNYXRyaXhTZWNvbmRQYXJhbSk7CisgICAg
dGVtcDIgPSBfbW1fbXVsX3BkKG1hdHJpeEJsb2NrRSwgb3RoZXJNYXRyaXhUaGlyZFBhcmFtKTsK
KyAgICB0ZW1wMyA9IF9tbV9tdWxfcGQobWF0cml4QmxvY2tHLCBvdGhlck1hdHJpeEZvdXJ0aFBh
cmFtKTsKKworICAgIGFjY3VtdWxhdG9yID0gX21tX2FkZF9wZChhY2N1bXVsYXRvciwgdGVtcDEp
OworICAgIGFjY3VtdWxhdG9yID0gX21tX2FkZF9wZChhY2N1bXVsYXRvciwgdGVtcDIpOworICAg
IGFjY3VtdWxhdG9yID0gX21tX2FkZF9wZChhY2N1bXVsYXRvciwgdGVtcDMpOworICAgIF9tbV9z
dG9yZV9wZCgmbV9tYXRyaXhbMV1bMF0sIGFjY3VtdWxhdG9yKTsKKworICAgIC8vIG91dHB1dDEy
IGFuZCBvdXRwdXQxMy4KKyAgICBhY2N1bXVsYXRvciA9IF9tbV9tdWxfcGQobWF0cml4QmxvY2tC
LCBvdGhlck1hdHJpeEZpcnN0UGFyYW0pOworICAgIHRlbXAxID0gX21tX211bF9wZChtYXRyaXhC
bG9ja0QsIG90aGVyTWF0cml4U2Vjb25kUGFyYW0pOworICAgIHRlbXAyID0gX21tX211bF9wZCht
YXRyaXhCbG9ja0YsIG90aGVyTWF0cml4VGhpcmRQYXJhbSk7CisgICAgdGVtcDMgPSBfbW1fbXVs
X3BkKG1hdHJpeEJsb2NrSCwgb3RoZXJNYXRyaXhGb3VydGhQYXJhbSk7CisKKyAgICBhY2N1bXVs
YXRvciA9IF9tbV9hZGRfcGQoYWNjdW11bGF0b3IsIHRlbXAxKTsKKyAgICBhY2N1bXVsYXRvciA9
IF9tbV9hZGRfcGQoYWNjdW11bGF0b3IsIHRlbXAyKTsKKyAgICBhY2N1bXVsYXRvciA9IF9tbV9h
ZGRfcGQoYWNjdW11bGF0b3IsIHRlbXAzKTsKKyAgICBfbW1fc3RvcmVfcGQoJm1fbWF0cml4WzFd
WzJdLCBhY2N1bXVsYXRvcik7CisKKyAgICAvLyBUaGlyZCByb3cuCisgICAgb3RoZXJNYXRyaXhG
aXJzdFBhcmFtID0gX21tX3NldDFfcGQobWF0Lm1fbWF0cml4WzJdWzBdKTsKKyAgICBvdGhlck1h
dHJpeFNlY29uZFBhcmFtID0gX21tX3NldDFfcGQobWF0Lm1fbWF0cml4WzJdWzFdKTsKKyAgICBv
dGhlck1hdHJpeFRoaXJkUGFyYW0gPSBfbW1fc2V0MV9wZChtYXQubV9tYXRyaXhbMl1bMl0pOwor
ICAgIG90aGVyTWF0cml4Rm91cnRoUGFyYW0gPSBfbW1fc2V0MV9wZChtYXQubV9tYXRyaXhbMl1b
M10pOworCisgICAgLy8gb3V0cHV0MjAgYW5kIG91dHB1dDIxLgorICAgIGFjY3VtdWxhdG9yID0g
X21tX211bF9wZChtYXRyaXhCbG9ja0EsIG90aGVyTWF0cml4Rmlyc3RQYXJhbSk7CisgICAgdGVt
cDEgPSBfbW1fbXVsX3BkKG1hdHJpeEJsb2NrQywgb3RoZXJNYXRyaXhTZWNvbmRQYXJhbSk7Cisg
ICAgdGVtcDIgPSBfbW1fbXVsX3BkKG1hdHJpeEJsb2NrRSwgb3RoZXJNYXRyaXhUaGlyZFBhcmFt
KTsKKyAgICB0ZW1wMyA9IF9tbV9tdWxfcGQobWF0cml4QmxvY2tHLCBvdGhlck1hdHJpeEZvdXJ0
aFBhcmFtKTsKKworICAgIGFjY3VtdWxhdG9yID0gX21tX2FkZF9wZChhY2N1bXVsYXRvciwgdGVt
cDEpOworICAgIGFjY3VtdWxhdG9yID0gX21tX2FkZF9wZChhY2N1bXVsYXRvciwgdGVtcDIpOwor
ICAgIGFjY3VtdWxhdG9yID0gX21tX2FkZF9wZChhY2N1bXVsYXRvciwgdGVtcDMpOworICAgIF9t
bV9zdG9yZV9wZCgmbV9tYXRyaXhbMl1bMF0sIGFjY3VtdWxhdG9yKTsKKworICAgIC8vIG91dHB1
dDIyIGFuZCBvdXRwdXQyMy4KKyAgICBhY2N1bXVsYXRvciA9IF9tbV9tdWxfcGQobWF0cml4Qmxv
Y2tCLCBvdGhlck1hdHJpeEZpcnN0UGFyYW0pOworICAgIHRlbXAxID0gX21tX211bF9wZChtYXRy
aXhCbG9ja0QsIG90aGVyTWF0cml4U2Vjb25kUGFyYW0pOworICAgIHRlbXAyID0gX21tX211bF9w
ZChtYXRyaXhCbG9ja0YsIG90aGVyTWF0cml4VGhpcmRQYXJhbSk7CisgICAgdGVtcDMgPSBfbW1f
bXVsX3BkKG1hdHJpeEJsb2NrSCwgb3RoZXJNYXRyaXhGb3VydGhQYXJhbSk7CisKKyAgICBhY2N1
bXVsYXRvciA9IF9tbV9hZGRfcGQoYWNjdW11bGF0b3IsIHRlbXAxKTsKKyAgICBhY2N1bXVsYXRv
ciA9IF9tbV9hZGRfcGQoYWNjdW11bGF0b3IsIHRlbXAyKTsKKyAgICBhY2N1bXVsYXRvciA9IF9t
bV9hZGRfcGQoYWNjdW11bGF0b3IsIHRlbXAzKTsKKyAgICBfbW1fc3RvcmVfcGQoJm1fbWF0cml4
WzJdWzJdLCBhY2N1bXVsYXRvcik7CisKKyAgICAvLyBGb3VydGggcm93LgorICAgIG90aGVyTWF0
cml4Rmlyc3RQYXJhbSA9IF9tbV9zZXQxX3BkKG1hdC5tX21hdHJpeFszXVswXSk7CisgICAgb3Ro
ZXJNYXRyaXhTZWNvbmRQYXJhbSA9IF9tbV9zZXQxX3BkKG1hdC5tX21hdHJpeFszXVsxXSk7Cisg
ICAgb3RoZXJNYXRyaXhUaGlyZFBhcmFtID0gX21tX3NldDFfcGQobWF0Lm1fbWF0cml4WzNdWzJd
KTsKKyAgICBvdGhlck1hdHJpeEZvdXJ0aFBhcmFtID0gX21tX3NldDFfcGQobWF0Lm1fbWF0cml4
WzNdWzNdKTsKKworICAgIC8vIG91dHB1dDMwIGFuZCBvdXRwdXQzMS4KKyAgICBhY2N1bXVsYXRv
ciA9IF9tbV9tdWxfcGQobWF0cml4QmxvY2tBLCBvdGhlck1hdHJpeEZpcnN0UGFyYW0pOworICAg
IHRlbXAxID0gX21tX211bF9wZChtYXRyaXhCbG9ja0MsIG90aGVyTWF0cml4U2Vjb25kUGFyYW0p
OworICAgIHRlbXAyID0gX21tX211bF9wZChtYXRyaXhCbG9ja0UsIG90aGVyTWF0cml4VGhpcmRQ
YXJhbSk7CisgICAgdGVtcDMgPSBfbW1fbXVsX3BkKG1hdHJpeEJsb2NrRywgb3RoZXJNYXRyaXhG
b3VydGhQYXJhbSk7CisKKyAgICBhY2N1bXVsYXRvciA9IF9tbV9hZGRfcGQoYWNjdW11bGF0b3Is
IHRlbXAxKTsKKyAgICBhY2N1bXVsYXRvciA9IF9tbV9hZGRfcGQoYWNjdW11bGF0b3IsIHRlbXAy
KTsKKyAgICBhY2N1bXVsYXRvciA9IF9tbV9hZGRfcGQoYWNjdW11bGF0b3IsIHRlbXAzKTsKKyAg
ICBfbW1fc3RvcmVfcGQoJm1fbWF0cml4WzNdWzBdLCBhY2N1bXVsYXRvcik7CisKKyAgICAvLyBv
dXRwdXQzMiBhbmQgb3V0cHV0MzMuCisgICAgYWNjdW11bGF0b3IgPSBfbW1fbXVsX3BkKG1hdHJp
eEJsb2NrQiwgb3RoZXJNYXRyaXhGaXJzdFBhcmFtKTsKKyAgICB0ZW1wMSA9IF9tbV9tdWxfcGQo
bWF0cml4QmxvY2tELCBvdGhlck1hdHJpeFNlY29uZFBhcmFtKTsKKyAgICB0ZW1wMiA9IF9tbV9t
dWxfcGQobWF0cml4QmxvY2tGLCBvdGhlck1hdHJpeFRoaXJkUGFyYW0pOworICAgIHRlbXAzID0g
X21tX211bF9wZChtYXRyaXhCbG9ja0gsIG90aGVyTWF0cml4Rm91cnRoUGFyYW0pOworCisgICAg
YWNjdW11bGF0b3IgPSBfbW1fYWRkX3BkKGFjY3VtdWxhdG9yLCB0ZW1wMSk7CisgICAgYWNjdW11
bGF0b3IgPSBfbW1fYWRkX3BkKGFjY3VtdWxhdG9yLCB0ZW1wMik7CisgICAgYWNjdW11bGF0b3Ig
PSBfbW1fYWRkX3BkKGFjY3VtdWxhdG9yLCB0ZW1wMyk7CisgICAgX21tX3N0b3JlX3BkKCZtX21h
dHJpeFszXVsyXSwgYWNjdW11bGF0b3IpOwogI2Vsc2UKICAgICBNYXRyaXg0IHRtcDsKICAgICAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMv
VHJhbnNmb3JtYXRpb25NYXRyaXguaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNz
L3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25NYXRyaXguaAppbmRleCAxODFlMDMzMGRmOTMzZmIw
Y2I4YWY0ZDYzNmM2NjE0ODI4NjMzZjM4Li4xZWM2YWI5MTFhZmVkZGYyN2IxMjFhNThhZTVhMDEy
YmQ2MGViY2E0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90
cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCkBAIC03Miw3
ICs3Miw3IEBAIGNsYXNzIEZsb2F0UXVhZDsKIGNsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IHsK
ICAgICBXVEZfTUFLRV9GQVNUX0FMTE9DQVRFRDsKIHB1YmxpYzoKLSNpZiBDUFUoQVBQTEVfQVJN
VjdTKQorI2lmIENQVShBUFBMRV9BUk1WN1MpIHx8IENQVShYODZfNjQpCiAgICAgdHlwZWRlZiBk
b3VibGUgTWF0cml4NFs0XVs0XSBfX2F0dHJpYnV0ZV9fKChhbGlnbmVkICgxNikpKTsKICNlbHNl
CiAgICAgdHlwZWRlZiBkb3VibGUgTWF0cml4NFs0XVs0XTsKQEAgLTIyNiw3ICsyMjYsNyBAQCBw
dWJsaWM6CiAgICAgZG91YmxlIGYoKSBjb25zdCB7IHJldHVybiBtX21hdHJpeFszXVsxXTsgfQog
ICAgIHZvaWQgc2V0Rihkb3VibGUgZikgeyBtX21hdHJpeFszXVsxXSA9IGY7IH0KIAotICAgIC8v
IHRoaXMgPSB0aGlzICogbWF0CisgICAgLy8gdGhpcyA9IG1hdCAqIHRoaXMuCiAgICAgVHJhbnNm
b3JtYXRpb25NYXRyaXgmIG11bHRpcGx5KGNvbnN0IFRyYW5zZm9ybWF0aW9uTWF0cml4Jik7CiAK
ICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgc2NhbGUoZG91YmxlKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181377</attachid>
            <date>2013-01-04 14:40:19 -0800</date>
            <delta_ts>2013-01-04 16:35:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-105719-20130104143725.patch</filename>
            <type>text/plain</type>
            <size>9692</size>
            <attacher name="Benjamin Poulain">benjamin</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4ODU0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNDgzNzliYTM4NzVhNTNi
ZDI5ODUzNzVmZDI0NWQzNzE1Y2YzODdkMS4uM2FkZWNhOTBmZGUyYTQ2NzA0OGM5NmNkNmM5ZDI1
ZTc4MzQ0NWRhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDMxIEBACisyMDEzLTAxLTA0ICBCZW5q
YW1pbiBQb3VsYWluICA8YmVuamFtaW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBPcHRpbWl6ZSBU
cmFuc2Zvcm1hdGlvbk1hdHJpeDo6bXVsdGlwbHkoKSBmb3IgeDg2XzY0CisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDU3MTkKKworICAgICAgICBSZXZp
ZXdlZCBieSBTYW0gV2VpbmlnLgorCisgICAgICAgIE9uIHg4Nl82NCwgd2UgaGF2ZSBhY2Nlc3Mg
dG8gMTYgWE1NIHJlZ2lzdGVycy4gVGhpcyBjYW4gaG9sZCAzMiBkb3VibGUgdmFsdWVzLgorICAg
ICAgICBXZSBjYW4gdXNlIHRoYXQgaW4gdHdvIHdheXMgdG8gb3B0aW1pemUgbWF0cml4IG11bHRp
cGxpY2F0aW9uczoKKyAgICAgICAgLUtlZXAgdGhlIHNvdXJjZSBtYXRyaXggY29tcGxldGVseSBp
biByZWdpc3RlcnMuIFdyaXRlIHRoZSByZXN1bHQgZGlyZWN0bHkgaW4KKyAgICAgICAgIHRoZSBz
b3VyY2UgbWF0cml4J3MgbWVtb3J5LiBUaGlzIGF2b2lkcyB0aGUgbWVtY3B5IGF0IHRoZSBlbmQg
b2YgdGhlIG11bHRpcGxpY2F0aW9uCisgICAgICAgICBhbmQgdmFyaW91cyBtZW1vcnkgb3BlcmF0
aW9ucy4KKyAgICAgICAgLVVzZSBTSU1EIHdpdGggU1NFIHRvIHBlcmZvcm0gMiBvcGVyYXRpb25z
IGF0IGEgdGltZS4KKworICAgICAgICBUaGUgcGFyYW1ldGVyIGZyb20gdGhlIHNlY29uZCBtYXRy
aXggYXJlIGxvYWRlZCBvbmUgYnkgb25lIGluIFhNTSByZWdpc3RlcnMuCisgICAgICAgIExvYWRp
bmcgdGhlbSB3aXRoIFNTRSB0aGVuIHNodWZmbGluZyB0aGUgdmFsdWVzIHBlcmZvcm0gd29yc2Ug
dGhhbiBsb2FkaW5nCisgICAgICAgIG9uZSBieSBvbmUuCisKKyAgICAgICAgVGhpcyBpcyBvbmx5
IGVuYWJsZWQgb24gNjRiaXRzIGFzIHg4NiBvbmx5IGhhcyBhY2Nlc3MgdG8gOCBYTU0gcmVnaXN0
ZXJzIGFuZAorICAgICAgICB0aGUgZnVuY3Rpb24gc2hvdWxkIGJlIHdyaXR0ZW4gZGlmZmVyZW50
bHkuCisKKyAgICAgICAgT24gYSBpNSwgVHJhbnNmb3JtYXRpb25NYXRyaXg6Om11bHRpcGx5KCkg
cGVyZm9ybSBhYm91dCAzIHRpbWVzIGZhc3RlciB3aXRoIHRoZSBjaGFuZ2UuCisKKyAgICAgICAg
KiBwbGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcDoK
KyAgICAgICAgKFdlYkNvcmU6OlRyYW5zZm9ybWF0aW9uTWF0cml4OjptdWx0aXBseSk6CisgICAg
ICAgICogcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5o
OgorICAgICAgICAoVHJhbnNmb3JtYXRpb25NYXRyaXgpOiBGaXggYW4gaW5jb3JyZWN0IGNvbW1l
bnQuIFVuaWZ5IHRoZSBjb21tZW50IHdpdGggdGhlIGNwcCBmaWxlLgorCiAyMDEzLTAxLTA0ICBa
b2x0YW4gSG9ydmF0aCAgPHpvbHRhbkB3ZWJraXQub3JnPgogCiAgICAgICAgIFtDU1MgUmVnaW9u
c10gQHJlZ2lvbiBydWxlcyBpbnNpZGUgbWVkaWEgcXVlcmllcyBhcmUgaWdub3JlZApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zv
cm1hdGlvbk1hdHJpeC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcAppbmRleCBhZGNiNDhiOWFjOTMyNjAxNTE1
NGE1NTVkNzcwODQzNDc2YmUyNTJmLi5iZmJjMzU1ZmYyZGRiOGFiZjcxZWYxYTc3YzNlZjBhOWQ1
NGYwMjI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFwaGljcy90cmFu
c2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmNwcApAQCAtMzYs
NiArMzYsMTAgQEAKICNpbmNsdWRlIDx3dGYvQXNzZXJ0aW9ucy5oPgogI2luY2x1ZGUgPHd0Zi9N
YXRoRXh0cmFzLmg+CiAKKyNpZiBDUFUoWDg2XzY0KQorI2luY2x1ZGUgPGVtbWludHJpbi5oPgor
I2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKQEAg
LTk2OCw5ICs5NzIsNyBAQCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCBUcmFuc2Zvcm1hdGlvbk1hdHJp
eDo6cmVjdFRvUmVjdChjb25zdCBGbG9hdFJlY3QmIGZyb20sIGNvbgogICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB0by55KCkgLSBmcm9tLnkoKSk7CiB9CiAKLS8vCi0vLyAqdGhpcyA9
IG1hdCAqICp0aGlzCi0vLworLy8gdGhpcyA9IG1hdCAqIHRoaXMuCiBUcmFuc2Zvcm1hdGlvbk1h
dHJpeCYgVHJhbnNmb3JtYXRpb25NYXRyaXg6Om11bHRpcGx5KGNvbnN0IFRyYW5zZm9ybWF0aW9u
TWF0cml4JiBtYXQpCiB7CiAjaWYgQ1BVKEFQUExFX0FSTVY3UykKQEAgLTExMTUsNiArMTExNywx
MjkgQEAgVHJhbnNmb3JtYXRpb25NYXRyaXgmIFRyYW5zZm9ybWF0aW9uTWF0cml4OjptdWx0aXBs
eShjb25zdCBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYKICAgICB9CiAjdW5kZWYgTUFUUklYX01VTFRJ
UExZX09ORV9MSU5FCiAKKyNlbGlmIGRlZmluZWQoVFJBTlNGT1JNQVRJT05fTUFUUklYX1VTRV9Y
ODZfNjRfU1NFMikKKyAgICAvLyB4ODZfNjQgaGFzIDE2IFhNTSByZWdpc3RlcnMgd2hpY2ggaXMg
ZW5vdWdoIHRvIGRvIHRoZSBtdWx0aXBsaWNhdGlvbiBmdWxseSBpbiByZWdpc3RlcnMuCisgICAg
X19tMTI4ZCBtYXRyaXhCbG9ja0EgPSBfbW1fbG9hZF9wZCgmKG1fbWF0cml4WzBdWzBdKSk7Cisg
ICAgX19tMTI4ZCBtYXRyaXhCbG9ja0MgPSBfbW1fbG9hZF9wZCgmKG1fbWF0cml4WzFdWzBdKSk7
CisgICAgX19tMTI4ZCBtYXRyaXhCbG9ja0UgPSBfbW1fbG9hZF9wZCgmKG1fbWF0cml4WzJdWzBd
KSk7CisgICAgX19tMTI4ZCBtYXRyaXhCbG9ja0cgPSBfbW1fbG9hZF9wZCgmKG1fbWF0cml4WzNd
WzBdKSk7CisKKyAgICAvLyBGaXJzdCByb3cuCisgICAgX19tMTI4ZCBvdGhlck1hdHJpeEZpcnN0
UGFyYW0gPSBfbW1fc2V0MV9wZChtYXQubV9tYXRyaXhbMF1bMF0pOworICAgIF9fbTEyOGQgb3Ro
ZXJNYXRyaXhTZWNvbmRQYXJhbSA9IF9tbV9zZXQxX3BkKG1hdC5tX21hdHJpeFswXVsxXSk7Cisg
ICAgX19tMTI4ZCBvdGhlck1hdHJpeFRoaXJkUGFyYW0gPSBfbW1fc2V0MV9wZChtYXQubV9tYXRy
aXhbMF1bMl0pOworICAgIF9fbTEyOGQgb3RoZXJNYXRyaXhGb3VydGhQYXJhbSA9IF9tbV9zZXQx
X3BkKG1hdC5tX21hdHJpeFswXVszXSk7CisKKyAgICAvLyBvdXRwdXQwMCBhbmQgb3V0cHV0MDEu
CisgICAgX19tMTI4ZCBhY2N1bXVsYXRvciA9IF9tbV9tdWxfcGQobWF0cml4QmxvY2tBLCBvdGhl
ck1hdHJpeEZpcnN0UGFyYW0pOworICAgIF9fbTEyOGQgdGVtcDEgPSBfbW1fbXVsX3BkKG1hdHJp
eEJsb2NrQywgb3RoZXJNYXRyaXhTZWNvbmRQYXJhbSk7CisgICAgX19tMTI4ZCB0ZW1wMiA9IF9t
bV9tdWxfcGQobWF0cml4QmxvY2tFLCBvdGhlck1hdHJpeFRoaXJkUGFyYW0pOworICAgIF9fbTEy
OGQgdGVtcDMgPSBfbW1fbXVsX3BkKG1hdHJpeEJsb2NrRywgb3RoZXJNYXRyaXhGb3VydGhQYXJh
bSk7CisKKyAgICBfX20xMjhkIG1hdHJpeEJsb2NrQiA9IF9tbV9sb2FkX3BkKCYobV9tYXRyaXhb
MF1bMl0pKTsKKyAgICBfX20xMjhkIG1hdHJpeEJsb2NrRCA9IF9tbV9sb2FkX3BkKCYobV9tYXRy
aXhbMV1bMl0pKTsKKyAgICBfX20xMjhkIG1hdHJpeEJsb2NrRiA9IF9tbV9sb2FkX3BkKCYobV9t
YXRyaXhbMl1bMl0pKTsKKyAgICBfX20xMjhkIG1hdHJpeEJsb2NrSCA9IF9tbV9sb2FkX3BkKCYo
bV9tYXRyaXhbM11bMl0pKTsKKworICAgIGFjY3VtdWxhdG9yID0gX21tX2FkZF9wZChhY2N1bXVs
YXRvciwgdGVtcDEpOworICAgIGFjY3VtdWxhdG9yID0gX21tX2FkZF9wZChhY2N1bXVsYXRvciwg
dGVtcDIpOworICAgIGFjY3VtdWxhdG9yID0gX21tX2FkZF9wZChhY2N1bXVsYXRvciwgdGVtcDMp
OworICAgIF9tbV9zdG9yZV9wZCgmbV9tYXRyaXhbMF1bMF0sIGFjY3VtdWxhdG9yKTsKKworICAg
IC8vIG91dHB1dDAyIGFuZCBvdXRwdXQwMy4KKyAgICBhY2N1bXVsYXRvciA9IF9tbV9tdWxfcGQo
bWF0cml4QmxvY2tCLCBvdGhlck1hdHJpeEZpcnN0UGFyYW0pOworICAgIHRlbXAxID0gX21tX211
bF9wZChtYXRyaXhCbG9ja0QsIG90aGVyTWF0cml4U2Vjb25kUGFyYW0pOworICAgIHRlbXAyID0g
X21tX211bF9wZChtYXRyaXhCbG9ja0YsIG90aGVyTWF0cml4VGhpcmRQYXJhbSk7CisgICAgdGVt
cDMgPSBfbW1fbXVsX3BkKG1hdHJpeEJsb2NrSCwgb3RoZXJNYXRyaXhGb3VydGhQYXJhbSk7CisK
KyAgICBhY2N1bXVsYXRvciA9IF9tbV9hZGRfcGQoYWNjdW11bGF0b3IsIHRlbXAxKTsKKyAgICBh
Y2N1bXVsYXRvciA9IF9tbV9hZGRfcGQoYWNjdW11bGF0b3IsIHRlbXAyKTsKKyAgICBhY2N1bXVs
YXRvciA9IF9tbV9hZGRfcGQoYWNjdW11bGF0b3IsIHRlbXAzKTsKKyAgICBfbW1fc3RvcmVfcGQo
Jm1fbWF0cml4WzBdWzJdLCBhY2N1bXVsYXRvcik7CisKKyAgICAvLyBTZWNvbmQgcm93LgorICAg
IG90aGVyTWF0cml4Rmlyc3RQYXJhbSA9IF9tbV9zZXQxX3BkKG1hdC5tX21hdHJpeFsxXVswXSk7
CisgICAgb3RoZXJNYXRyaXhTZWNvbmRQYXJhbSA9IF9tbV9zZXQxX3BkKG1hdC5tX21hdHJpeFsx
XVsxXSk7CisgICAgb3RoZXJNYXRyaXhUaGlyZFBhcmFtID0gX21tX3NldDFfcGQobWF0Lm1fbWF0
cml4WzFdWzJdKTsKKyAgICBvdGhlck1hdHJpeEZvdXJ0aFBhcmFtID0gX21tX3NldDFfcGQobWF0
Lm1fbWF0cml4WzFdWzNdKTsKKworICAgIC8vIG91dHB1dDEwIGFuZCBvdXRwdXQxMS4KKyAgICBh
Y2N1bXVsYXRvciA9IF9tbV9tdWxfcGQobWF0cml4QmxvY2tBLCBvdGhlck1hdHJpeEZpcnN0UGFy
YW0pOworICAgIHRlbXAxID0gX21tX211bF9wZChtYXRyaXhCbG9ja0MsIG90aGVyTWF0cml4U2Vj
b25kUGFyYW0pOworICAgIHRlbXAyID0gX21tX211bF9wZChtYXRyaXhCbG9ja0UsIG90aGVyTWF0
cml4VGhpcmRQYXJhbSk7CisgICAgdGVtcDMgPSBfbW1fbXVsX3BkKG1hdHJpeEJsb2NrRywgb3Ro
ZXJNYXRyaXhGb3VydGhQYXJhbSk7CisKKyAgICBhY2N1bXVsYXRvciA9IF9tbV9hZGRfcGQoYWNj
dW11bGF0b3IsIHRlbXAxKTsKKyAgICBhY2N1bXVsYXRvciA9IF9tbV9hZGRfcGQoYWNjdW11bGF0
b3IsIHRlbXAyKTsKKyAgICBhY2N1bXVsYXRvciA9IF9tbV9hZGRfcGQoYWNjdW11bGF0b3IsIHRl
bXAzKTsKKyAgICBfbW1fc3RvcmVfcGQoJm1fbWF0cml4WzFdWzBdLCBhY2N1bXVsYXRvcik7CisK
KyAgICAvLyBvdXRwdXQxMiBhbmQgb3V0cHV0MTMuCisgICAgYWNjdW11bGF0b3IgPSBfbW1fbXVs
X3BkKG1hdHJpeEJsb2NrQiwgb3RoZXJNYXRyaXhGaXJzdFBhcmFtKTsKKyAgICB0ZW1wMSA9IF9t
bV9tdWxfcGQobWF0cml4QmxvY2tELCBvdGhlck1hdHJpeFNlY29uZFBhcmFtKTsKKyAgICB0ZW1w
MiA9IF9tbV9tdWxfcGQobWF0cml4QmxvY2tGLCBvdGhlck1hdHJpeFRoaXJkUGFyYW0pOworICAg
IHRlbXAzID0gX21tX211bF9wZChtYXRyaXhCbG9ja0gsIG90aGVyTWF0cml4Rm91cnRoUGFyYW0p
OworCisgICAgYWNjdW11bGF0b3IgPSBfbW1fYWRkX3BkKGFjY3VtdWxhdG9yLCB0ZW1wMSk7Cisg
ICAgYWNjdW11bGF0b3IgPSBfbW1fYWRkX3BkKGFjY3VtdWxhdG9yLCB0ZW1wMik7CisgICAgYWNj
dW11bGF0b3IgPSBfbW1fYWRkX3BkKGFjY3VtdWxhdG9yLCB0ZW1wMyk7CisgICAgX21tX3N0b3Jl
X3BkKCZtX21hdHJpeFsxXVsyXSwgYWNjdW11bGF0b3IpOworCisgICAgLy8gVGhpcmQgcm93Lgor
ICAgIG90aGVyTWF0cml4Rmlyc3RQYXJhbSA9IF9tbV9zZXQxX3BkKG1hdC5tX21hdHJpeFsyXVsw
XSk7CisgICAgb3RoZXJNYXRyaXhTZWNvbmRQYXJhbSA9IF9tbV9zZXQxX3BkKG1hdC5tX21hdHJp
eFsyXVsxXSk7CisgICAgb3RoZXJNYXRyaXhUaGlyZFBhcmFtID0gX21tX3NldDFfcGQobWF0Lm1f
bWF0cml4WzJdWzJdKTsKKyAgICBvdGhlck1hdHJpeEZvdXJ0aFBhcmFtID0gX21tX3NldDFfcGQo
bWF0Lm1fbWF0cml4WzJdWzNdKTsKKworICAgIC8vIG91dHB1dDIwIGFuZCBvdXRwdXQyMS4KKyAg
ICBhY2N1bXVsYXRvciA9IF9tbV9tdWxfcGQobWF0cml4QmxvY2tBLCBvdGhlck1hdHJpeEZpcnN0
UGFyYW0pOworICAgIHRlbXAxID0gX21tX211bF9wZChtYXRyaXhCbG9ja0MsIG90aGVyTWF0cml4
U2Vjb25kUGFyYW0pOworICAgIHRlbXAyID0gX21tX211bF9wZChtYXRyaXhCbG9ja0UsIG90aGVy
TWF0cml4VGhpcmRQYXJhbSk7CisgICAgdGVtcDMgPSBfbW1fbXVsX3BkKG1hdHJpeEJsb2NrRywg
b3RoZXJNYXRyaXhGb3VydGhQYXJhbSk7CisKKyAgICBhY2N1bXVsYXRvciA9IF9tbV9hZGRfcGQo
YWNjdW11bGF0b3IsIHRlbXAxKTsKKyAgICBhY2N1bXVsYXRvciA9IF9tbV9hZGRfcGQoYWNjdW11
bGF0b3IsIHRlbXAyKTsKKyAgICBhY2N1bXVsYXRvciA9IF9tbV9hZGRfcGQoYWNjdW11bGF0b3Is
IHRlbXAzKTsKKyAgICBfbW1fc3RvcmVfcGQoJm1fbWF0cml4WzJdWzBdLCBhY2N1bXVsYXRvcik7
CisKKyAgICAvLyBvdXRwdXQyMiBhbmQgb3V0cHV0MjMuCisgICAgYWNjdW11bGF0b3IgPSBfbW1f
bXVsX3BkKG1hdHJpeEJsb2NrQiwgb3RoZXJNYXRyaXhGaXJzdFBhcmFtKTsKKyAgICB0ZW1wMSA9
IF9tbV9tdWxfcGQobWF0cml4QmxvY2tELCBvdGhlck1hdHJpeFNlY29uZFBhcmFtKTsKKyAgICB0
ZW1wMiA9IF9tbV9tdWxfcGQobWF0cml4QmxvY2tGLCBvdGhlck1hdHJpeFRoaXJkUGFyYW0pOwor
ICAgIHRlbXAzID0gX21tX211bF9wZChtYXRyaXhCbG9ja0gsIG90aGVyTWF0cml4Rm91cnRoUGFy
YW0pOworCisgICAgYWNjdW11bGF0b3IgPSBfbW1fYWRkX3BkKGFjY3VtdWxhdG9yLCB0ZW1wMSk7
CisgICAgYWNjdW11bGF0b3IgPSBfbW1fYWRkX3BkKGFjY3VtdWxhdG9yLCB0ZW1wMik7CisgICAg
YWNjdW11bGF0b3IgPSBfbW1fYWRkX3BkKGFjY3VtdWxhdG9yLCB0ZW1wMyk7CisgICAgX21tX3N0
b3JlX3BkKCZtX21hdHJpeFsyXVsyXSwgYWNjdW11bGF0b3IpOworCisgICAgLy8gRm91cnRoIHJv
dy4KKyAgICBvdGhlck1hdHJpeEZpcnN0UGFyYW0gPSBfbW1fc2V0MV9wZChtYXQubV9tYXRyaXhb
M11bMF0pOworICAgIG90aGVyTWF0cml4U2Vjb25kUGFyYW0gPSBfbW1fc2V0MV9wZChtYXQubV9t
YXRyaXhbM11bMV0pOworICAgIG90aGVyTWF0cml4VGhpcmRQYXJhbSA9IF9tbV9zZXQxX3BkKG1h
dC5tX21hdHJpeFszXVsyXSk7CisgICAgb3RoZXJNYXRyaXhGb3VydGhQYXJhbSA9IF9tbV9zZXQx
X3BkKG1hdC5tX21hdHJpeFszXVszXSk7CisKKyAgICAvLyBvdXRwdXQzMCBhbmQgb3V0cHV0MzEu
CisgICAgYWNjdW11bGF0b3IgPSBfbW1fbXVsX3BkKG1hdHJpeEJsb2NrQSwgb3RoZXJNYXRyaXhG
aXJzdFBhcmFtKTsKKyAgICB0ZW1wMSA9IF9tbV9tdWxfcGQobWF0cml4QmxvY2tDLCBvdGhlck1h
dHJpeFNlY29uZFBhcmFtKTsKKyAgICB0ZW1wMiA9IF9tbV9tdWxfcGQobWF0cml4QmxvY2tFLCBv
dGhlck1hdHJpeFRoaXJkUGFyYW0pOworICAgIHRlbXAzID0gX21tX211bF9wZChtYXRyaXhCbG9j
a0csIG90aGVyTWF0cml4Rm91cnRoUGFyYW0pOworCisgICAgYWNjdW11bGF0b3IgPSBfbW1fYWRk
X3BkKGFjY3VtdWxhdG9yLCB0ZW1wMSk7CisgICAgYWNjdW11bGF0b3IgPSBfbW1fYWRkX3BkKGFj
Y3VtdWxhdG9yLCB0ZW1wMik7CisgICAgYWNjdW11bGF0b3IgPSBfbW1fYWRkX3BkKGFjY3VtdWxh
dG9yLCB0ZW1wMyk7CisgICAgX21tX3N0b3JlX3BkKCZtX21hdHJpeFszXVswXSwgYWNjdW11bGF0
b3IpOworCisgICAgLy8gb3V0cHV0MzIgYW5kIG91dHB1dDMzLgorICAgIGFjY3VtdWxhdG9yID0g
X21tX211bF9wZChtYXRyaXhCbG9ja0IsIG90aGVyTWF0cml4Rmlyc3RQYXJhbSk7CisgICAgdGVt
cDEgPSBfbW1fbXVsX3BkKG1hdHJpeEJsb2NrRCwgb3RoZXJNYXRyaXhTZWNvbmRQYXJhbSk7Cisg
ICAgdGVtcDIgPSBfbW1fbXVsX3BkKG1hdHJpeEJsb2NrRiwgb3RoZXJNYXRyaXhUaGlyZFBhcmFt
KTsKKyAgICB0ZW1wMyA9IF9tbV9tdWxfcGQobWF0cml4QmxvY2tILCBvdGhlck1hdHJpeEZvdXJ0
aFBhcmFtKTsKKworICAgIGFjY3VtdWxhdG9yID0gX21tX2FkZF9wZChhY2N1bXVsYXRvciwgdGVt
cDEpOworICAgIGFjY3VtdWxhdG9yID0gX21tX2FkZF9wZChhY2N1bXVsYXRvciwgdGVtcDIpOwor
ICAgIGFjY3VtdWxhdG9yID0gX21tX2FkZF9wZChhY2N1bXVsYXRvciwgdGVtcDMpOworICAgIF9t
bV9zdG9yZV9wZCgmbV9tYXRyaXhbM11bMl0sIGFjY3VtdWxhdG9yKTsKICNlbHNlCiAgICAgTWF0
cml4NCB0bXA7CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9ncmFw
aGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmggYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9ncmFwaGljcy90cmFuc2Zvcm1zL1RyYW5zZm9ybWF0aW9uTWF0cml4LmgKaW5kZXgg
MTgxZTAzMzBkZjkzM2ZiMGNiOGFmNGQ2MzZjNjYxNDgyODYzM2YzOC4uZjMyNGMzNWI5NzNkOTc3
YWIyYzQ5NjM2YzcxNzQ2MmFiNjgwM2U4YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vZ3JhcGhpY3MvdHJhbnNmb3Jtcy9UcmFuc2Zvcm1hdGlvbk1hdHJpeC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL2dyYXBoaWNzL3RyYW5zZm9ybXMvVHJhbnNmb3JtYXRpb25N
YXRyaXguaApAQCAtNjksMTAgKzY5LDE0IEBAIGNsYXNzIExheW91dFJlY3Q7CiBjbGFzcyBGbG9h
dFJlY3Q7CiBjbGFzcyBGbG9hdFF1YWQ7CiAKKyNpZiBDUFUoWDg2XzY0KSAmJiAhUExBVEZPUk0o
V0lORE9XUykKKyNkZWZpbmUgVFJBTlNGT1JNQVRJT05fTUFUUklYX1VTRV9YODZfNjRfU1NFMgor
I2VuZGlmCisKIGNsYXNzIFRyYW5zZm9ybWF0aW9uTWF0cml4IHsKICAgICBXVEZfTUFLRV9GQVNU
X0FMTE9DQVRFRDsKIHB1YmxpYzoKLSNpZiBDUFUoQVBQTEVfQVJNVjdTKQorI2lmIENQVShBUFBM
RV9BUk1WN1MpIHx8IGRlZmluZWQoVFJBTlNGT1JNQVRJT05fTUFUUklYX1VTRV9YODZfNjRfU1NF
MikKICAgICB0eXBlZGVmIGRvdWJsZSBNYXRyaXg0WzRdWzRdIF9fYXR0cmlidXRlX18oKGFsaWdu
ZWQgKDE2KSkpOwogI2Vsc2UKICAgICB0eXBlZGVmIGRvdWJsZSBNYXRyaXg0WzRdWzRdOwpAQCAt
MjI2LDcgKzIzMCw3IEBAIHB1YmxpYzoKICAgICBkb3VibGUgZigpIGNvbnN0IHsgcmV0dXJuIG1f
bWF0cml4WzNdWzFdOyB9CiAgICAgdm9pZCBzZXRGKGRvdWJsZSBmKSB7IG1fbWF0cml4WzNdWzFd
ID0gZjsgfQogCi0gICAgLy8gdGhpcyA9IHRoaXMgKiBtYXQKKyAgICAvLyB0aGlzID0gbWF0ICog
dGhpcy4KICAgICBUcmFuc2Zvcm1hdGlvbk1hdHJpeCYgbXVsdGlwbHkoY29uc3QgVHJhbnNmb3Jt
YXRpb25NYXRyaXgmKTsKIAogICAgIFRyYW5zZm9ybWF0aW9uTWF0cml4JiBzY2FsZShkb3VibGUp
Owo=
</data>

          </attachment>
      

    </bug>

</bugzilla>