<?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>122472</bug_id>
          
          <creation_ts>2013-10-07 16:09:35 -0700</creation_ts>
          <short_desc>Win64 JIT broken</short_desc>
          <delta_ts>2013-10-30 09:04:33 -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>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Windows 7</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P3</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>122787</dependson>
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Alex Christensen">alex.christensen</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>benjamin</cc>
    
    <cc>bfulgham</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ggaren</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>937269</commentid>
    <comment_count>0</comment_count>
    <who name="Alex Christensen">alex.christensen</who>
    <bug_when>2013-10-07 16:09:35 -0700</bug_when>
    <thetext>The Win64 JIT has broken in the last few days.  It worked in r156671.  It&apos;s broken in r157054.  I think the culprit is r156896, but I&apos;m not sure.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937681</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2013-10-08 14:15:35 -0700</bug_when>
    <thetext>&lt;rdar://problem/15179750&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937684</commentid>
    <comment_count>2</comment_count>
    <who name="Alex Christensen">alex.christensen</who>
    <bug_when>2013-10-08 14:27:45 -0700</bug_when>
    <thetext>I confirmed that r156896 broke the Win64 JIT, and it is because edx is now used for returnValue2Register and secondArgumentRegister, but only on Windows.  My attempts at blindly switching registers are not successful, though.  Michael, do you know what registers should be used instead?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937694</commentid>
    <comment_count>3</comment_count>
    <who name="Alex Christensen">alex.christensen</who>
    <bug_when>2013-10-08 15:00:04 -0700</bug_when>
    <thetext>This is from r156896 because it works in r156895 but not in r156896, but it&apos;s not because of edx because returnValue2Register isn&apos;t even used in Win64.  The call stack says it&apos;s crashing inside of operationNewRegexp, which was added in the same revision.  exec is 0, regexpPtr is 0x00000000097f14cc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937697</commentid>
    <comment_count>4</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-10-08 15:01:46 -0700</bug_when>
    <thetext>Perhaps it&apos;s secondArgumentRegister that&apos;s wrong?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937706</commentid>
    <comment_count>5</comment_count>
    <who name="Alex Christensen">alex.christensen</who>
    <bug_when>2013-10-08 15:32:19 -0700</bug_when>
    <thetext>The first, second, and third argument registers worked with ecx, edx, and r8.  I&apos;ve tried changing them with no success.

For those of you who like reading disassembled JIT code, here&apos;s what the JIT is generating.  I put a break point in the first line of operationNewRegexp to get this.  I hope this helps:

00000000088400B5  add         byte ptr [rbp-77h],cl  
00000000088400B8  pop         rbp  
00000000088400B9  mov         eax,0ABB49h  
00000000088400BE  add         byte ptr [rax],al  
00000000088400C0  add         byte ptr [rax],al  
00000000088400C2  add         byte ptr [rax],al  
00000000088400C4  mov         qword ptr [r13-50h],r11  
00000000088400C8  mov         r11,0  
00000000088400D2  mov         qword ptr [r13],r11  
00000000088400D6  cmp         qword ptr [r13],0  
00000000088400DB  jne         0000000008840112  
00000000088400E1  mov         rcx,rsp  
00000000088400E4  mov         qword ptr [rsp+0A0h],r13  
00000000088400EC  mov         dword ptr [r13+34h],4  
00000000088400F4  mov         r11,8A72C80h  
00000000088400FE  mov         qword ptr [r11],r13  
0000000008840101  mov         r11,5C0BA10h  
000000000884010B  call        r11  
000000000884010E  mov         qword ptr [r13],rax  
0000000008840112  mov         rax,87EF970h  
000000000884011C  mov         qword ptr [r13-58h],rax  
0000000008840120  mov         rax,qword ptr [0000000008B4C010h]  
000000000884012A  mov         qword ptr [r13-60h],rax  
000000000884012E  test        r15,rax  
0000000008840131  jne         00000000088407EB  
0000000008840137  mov         r11,0D1E7BEEFh  
0000000008840141  cmp         qword ptr [rax],r11  
0000000008840144  jne         00000000088407EB  
000000000884014A  mov         rax,qword ptr [rax+8]  
000000000884014E  mov         rax,qword ptr [rax]  
0000000008840152  mov         qword ptr [r13-58h],rax  
0000000008840156  test        r15,rax  
0000000008840159  jne         0000000008840835  
000000000884015F  mov         r11,0D1E7BEEFh  
0000000008840169  cmp         qword ptr [rax],r11  
000000000884016C  jne         0000000008840835  
0000000008840172  mov         rax,qword ptr [rax+8]  
0000000008840176  mov         rax,qword ptr [rax]  
000000000884017A  mov         qword ptr [r13-58h],rax  
000000000884017E  test        r15,rax  
0000000008840181  jne         000000000884087F  
0000000008840187  mov         r11,0D1E7BEEFh  
0000000008840191  cmp         qword ptr [rax],r11  
0000000008840194  jne         000000000884087F  
000000000884019A  mov         rax,qword ptr [rax+8]  
000000000884019E  mov         rax,qword ptr [rax]  
00000000088401A2  mov         qword ptr [r13-8],rax  
00000000088401A6  mov         rax,87EF970h  
00000000088401B0  mov         qword ptr [r13-58h],rax  
00000000088401B4  mov         rax,qword ptr [0000000008B4C010h]  
00000000088401BE  mov         qword ptr [r13-60h],rax  
00000000088401C2  test        r15,rax  
00000000088401C5  jne         00000000088408C9  
00000000088401CB  mov         r11,0D1E7BEEFh  
00000000088401D5  cmp         qword ptr [rax],r11  
00000000088401D8  jne         00000000088408C9  
00000000088401DE  mov         rax,qword ptr [rax+8]  
00000000088401E2  mov         rax,qword ptr [rax]  
00000000088401E6  mov         qword ptr [r13-10h],rax  
00000000088401EA  mov         rax,qword ptr [r13-10h]  
00000000088401EE  test        r15,rax  
00000000088401F1  jne         0000000008840913  
00000000088401F7  mov         r11,0D1E7BEEFh  
0000000008840201  cmp         qword ptr [rax],r11  
0000000008840204  jne         0000000008840913  
000000000884020A  mov         rax,qword ptr [rax+8]  
000000000884020E  mov         rax,qword ptr [rax]  
0000000008840212  mov         qword ptr [r13-18h],rax  
0000000008840216  mov         rax,qword ptr [r13-18h]  
000000000884021A  mov         qword ptr [r13-70h],rax  
000000000884021E  test        r15,rax  
0000000008840221  jne         000000000884095D  
0000000008840227  mov         r11,0D1E7BEEFh  
0000000008840231  cmp         qword ptr [rax],r11  
0000000008840234  jne         000000000884095D  
000000000884023A  mov         rax,qword ptr [rax+8]  
000000000884023E  mov         rax,qword ptr [rax]  
0000000008840242  mov         qword ptr [r13-58h],rax  
0000000008840246  mov         r11,7D0FB30h  
0000000008840250  mov         qword ptr [r13-68h],r11  
0000000008840254  mov         r11,0FFFF000000000000h  
000000000884025E  mov         qword ptr [r13-60h],r11  
0000000008840262  lea         rdx,[r13-0A8h]  
0000000008840269  mov         dword ptr [rdx+30h],3  
0000000008840270  mov         dword ptr [r13+34h],5Eh  
0000000008840278  mov         qword ptr [rdx+28h],r13  
000000000884027C  mov         qword ptr [rdx+20h],rax  
0000000008840280  mov         r13,rdx  
0000000008840283  mov         r11,0  
000000000884028D  cmp         rax,r11  
0000000008840290  jne         00000000088409A7  
0000000008840296  mov         rdx,qword ptr [rax+20h]  
000000000884029A  mov         qword ptr [r13+18h],rdx  
000000000884029E  call        00000000088402A3  
00000000088402A3  mov         qword ptr [r13-20h],rax  
00000000088402A7  mov         rsi,8E0FE70h  
00000000088402B1  mov         rdi,r13  
00000000088402B4  mov         dword ptr [r13+34h],67h  
00000000088402BC  mov         r11,8A72C80h  
00000000088402C6  mov         qword ptr [r11],r13  
00000000088402C9  mov         r11,5BF4100h  
00000000088402D3  call        r11  
00000000088402D6  mov         r11,8A74778h               &lt;- VISUAL STUDIO SAYS THIS IS THE CURRENT STATEMENT AND 0 IS IN r11
00000000088402E0  mov         r11,qword ptr [r11]  
00000000088402E3  test        r11,r11  
00000000088402E6  jne         0000000008841039  
00000000088402EC  mov         qword ptr [r13-28h],rax  
00000000088402F0  mov         r11,94E6F70h  
00000000088402FA  mov         qword ptr [rsp+28h],r11  
00000000088402FF  mov         rcx,rsp  
0000000008840302  mov         qword ptr [rsp+0A0h],r13  
000000000884030A  mov         dword ptr [r13+34h],6Ah  
0000000008840312  mov         r11,8A72C80h  
000000000884031C  mov         qword ptr [r11],r13  
000000000884031F  mov         r11,5C0E410h  
0000000008840329  call        r11  
000000000884032C  mov         qword ptr [r13-30h],rax  
0000000008840330  mov         rax,qword ptr [r13-10h]  
0000000008840334  test        r15,rax  
0000000008840337  jne         00000000088409B5  
000000000884033D  mov         r11,0D1E7BEEFh  
0000000008840347  cmp         qword ptr [rax],r11  
000000000884034A  jne         00000000088409B5  
0000000008840350  mov         rax,qword ptr [rax+8]  
0000000008840354  mov         rax,qword ptr [rax]  
0000000008840358  mov         qword ptr [r13-38h],rax  
000000000884035C  mov         r11,94E6E70h  
0000000008840366  mov         qword ptr [rsp+28h],r11  
000000000884036B  mov         rcx,rsp  
000000000884036E  mov         qword ptr [rsp+0A0h],r13  
0000000008840376  mov         dword ptr [r13+34h],76h  
000000000884037E  mov         r11,8A72C80h  
0000000008840388  mov         qword ptr [r11],r13  
000000000884038B  mov         r11,5C0E410h  
0000000008840395  call        r11</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>937718</commentid>
    <comment_count>6</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-10-08 15:45:46 -0700</bug_when>
    <thetext>According to http://msdn.microsoft.com/en-us/library/9z1stfyw.aspx, the argument registers are all correct.  Now, looking at the rest of the diff.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938028</commentid>
    <comment_count>7</comment_count>
    <who name="Alex Christensen">alex.christensen</who>
    <bug_when>2013-10-09 12:53:04 -0700</bug_when>
    <thetext>I built 64-bit WinLauncher with the JIT disabled from r157159 and it runs most JavaScript fine, but it crashes doing the SunSpider 1.0.1 recursive control flow test.  There might be another problem, or r156896 may have introduced a non-JIT bug as well, but SunSpider runs successfully at r156895.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938876</commentid>
    <comment_count>8</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-10-11 11:05:56 -0700</bug_when>
    <thetext>(In reply to comment #7)
&gt; I built 64-bit WinLauncher with the JIT disabled from r157159 and it runs most JavaScript fine, but it crashes doing the SunSpider 1.0.1 recursive control flow test.  There might be another problem, or r156896 may have introduced a non-JIT bug as well, but SunSpider runs successfully at r156895.

Alex, did you get the LLINT building on Windows already?

Regarding the crash you&apos;re seeing, were you using a release or debug build?  I&apos;m seeing what appears to be a different crash in a debug build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938952</commentid>
    <comment_count>9</comment_count>
    <who name="Alex Christensen">alex.christensen</who>
    <bug_when>2013-10-11 13:22:58 -0700</bug_when>
    <thetext>(In reply to comment #8)
&gt; (In reply to comment #7)
&gt; &gt; I built 64-bit WinLauncher with the JIT disabled from r157159 and it runs most JavaScript fine, but it crashes doing the SunSpider 1.0.1 recursive control flow test.  There might be another problem, or r156896 may have introduced a non-JIT bug as well, but SunSpider runs successfully at r156895.
&gt; 
&gt; Alex, did you get the LLINT building on Windows already?
Yes.  I think it&apos;s been building in Win64 for a while.  I just disabled the JIT in Platform.h and it should remove any JIT-related bugs.
&gt; 
&gt; Regarding the crash you&apos;re seeing, were you using a release or debug build?  I&apos;m seeing what appears to be a different crash in a debug build.
I&apos;m pretty sure it was in a release build of WinCairo.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>938956</commentid>
    <comment_count>10</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-10-11 13:26:26 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; (In reply to comment #8)
&gt; &gt; Alex, did you get the LLINT building on Windows already?
&gt; Yes.  I think it&apos;s been building in Win64 for a while.  I just disabled the JIT in Platform.h and it should remove any JIT-related bugs.

FYI, disabling JIT in Platform.h will also disable the ASM LLINT.  Instead, it will force the use of the C loop LLINT.  To disable the JIT but still use the ASM LLINT, add useJIT() = false; in Options::initialize().</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940984</commentid>
    <comment_count>11</comment_count>
    <who name="Alex Christensen">alex.christensen</who>
    <bug_when>2013-10-17 14:38:38 -0700</bug_when>
    <thetext>As of r157589, all tests run successfully on Win64 with ENABLE_JIT defined to be 0.  They all fail with the JIT, which means that the only problem now is in the JIT.  Should any of the assembly in JitStubsMSVC64.asm be changed?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940989</commentid>
    <comment_count>12</comment_count>
    <who name="Mark Lam">mark.lam</who>
    <bug_when>2013-10-17 14:43:16 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; As of r157589, all tests run successfully on Win64 with ENABLE_JIT defined to be 0.  They all fail with the JIT, which means that the only problem now is in the JIT.  Should any of the assembly in JitStubsMSVC64.asm be changed?

With ENABLE_JIT defined to 0, you&apos;re testing the C Loop LLINT.  The next step is to ENABLE_JIT 1 and disable the JIT at runtime so that you can run the ASM LLINT.  To disable the JIT at runtime, search in Source/JavaScriptCore/runtime/Options.cpp for &quot;useJIT() = false;&quot;.  That statement disables the JIT but is #ifdef&apos;ed out.  You can simply copy and paste it below the #endif.  The useJIT() flag can be set more than once.  The last value it is set to will be the one that takes effect.  To disable the JIT, you&apos;ll want to set it to false.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>940991</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2013-10-17 14:45:40 -0700</bug_when>
    <thetext>(In reply to comment #11)
&gt; As of r157589, all tests run successfully on Win64 with ENABLE_JIT defined to be 0.  They all fail with the JIT, which means that the only problem now is in the JIT.  Should any of the assembly in JitStubsMSVC64.asm be changed?

I broke things in r157581.  I&apos;m currently working on a fix (https://bugs.webkit.org/show_bug.cgi?id=122980)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>943730</commentid>
    <comment_count>14</comment_count>
    <who name="Alex Christensen">alex.christensen</who>
    <bug_when>2013-10-25 13:34:50 -0700</bug_when>
    <thetext>The Win64 JIT is still broken.  I assume nobody tested http://trac.webkit.org/changeset/157650 because it crashes immediately after the call rcx in ctiTrampoline.  I&apos;m not sure where rcx is coming from.  Is there something I could read about how the JIT works?  I&apos;m not even sure what a trampoline is.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>943756</commentid>
    <comment_count>15</comment_count>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-10-25 14:33:27 -0700</bug_when>
    <thetext>ctiTrampoline is the function that is called before entering JIT code. Its job is to set up the C stack frame that JIT code will use, when calling from C to JIT code, and then to tear it down when returning to C from JIT code.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944740</commentid>
    <comment_count>16</comment_count>
      <attachid>215465</attachid>
    <who name="Alex Christensen">alex.christensen</who>
    <bug_when>2013-10-29 20:18:33 -0700</bug_when>
    <thetext>Created attachment 215465
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944741</commentid>
    <comment_count>17</comment_count>
    <who name="Alex Christensen">alex.christensen</who>
    <bug_when>2013-10-29 20:23:40 -0700</bug_when>
    <thetext>This is way outside of my expertise to fix.  The argumentGPR registers need to be changed in GPRInfo.h and something is still wrong with the Visual Studio calling conventions.  Let&apos;s disable it until somebody who knows the JIT fixes it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944795</commentid>
    <comment_count>18</comment_count>
      <attachid>215465</attachid>
    <who name="Geoffrey Garen">ggaren</who>
    <bug_when>2013-10-29 23:45:11 -0700</bug_when>
    <thetext>Comment on attachment 215465
Patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944904</commentid>
    <comment_count>19</comment_count>
      <attachid>215465</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2013-10-30 08:32:02 -0700</bug_when>
    <thetext>Comment on attachment 215465
Patch

Rejecting attachment 215465 from commit-queue.

Failed to run &quot;[&apos;/Volumes/Data/EWS/WebKit/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=webkit-queues.appspot.com&apos;, &apos;--bot-id=webkit-cq-03&apos;, &apos;land-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, &apos;--parent-command=commit-queue&apos;, 215465, &apos;--port=mac&apos;]&quot; exit_code: 2 cwd: /Volumes/Data/EWS/WebKit

Last 500 characters of output:
t.org/repository/webkit/trunk ...
Authentication realm: &lt;http://svn.webkit.org:80&gt; Mac OS Forge
Password for &apos;commit-queue@webkit.org&apos;: 
Authentication realm: &lt;http://svn.webkit.org:80&gt; Mac OS Forge
Username: Use of uninitialized value $username in chomp at /usr/share/git-core/perl/Git/SVN/Prompt.pm line 114.
error: git-svn died of signal 11

Failed to run &quot;[&apos;git&apos;, &apos;svn&apos;, &apos;dcommit&apos;, &apos;--rmdir&apos;]&quot; exit_code: 139 cwd: /Volumes/Data/EWS/WebKit
Updating OpenSource
Current branch master is up to date.

Full output: http://webkit-queues.appspot.com/results/17098194</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>944922</commentid>
    <comment_count>20</comment_count>
    <who name="Alex Christensen">alex.christensen</who>
    <bug_when>2013-10-30 09:04:33 -0700</bug_when>
    <thetext>r158272</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>215465</attachid>
            <date>2013-10-29 20:18:33 -0700</date>
            <delta_ts>2013-10-30 08:32:02 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-122472-20131029211834.patch</filename>
            <type>text/plain</type>
            <size>5921</size>
            <attacher name="Alex Christensen">alex.christensen</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTU4MjQ2KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEzIEBA
CisyMDEzLTEwLTI5ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2VuQHdlYmtpdC5vcmc+
CisKKyAgICAgICAgRGlzYWJsZWQgSklUIG9uIFdpbjY0LgorICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIyNDcyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBKYXZhU2NyaXB0Q29yZS52Y3hwcm9qL0phdmFT
Y3JpcHRDb3JlLnZjeHByb2o6CisgICAgICAgIERpc2FibGVkIGJ1aWxkaW5nIEpJVFN0dWJzTVNW
QzY0LgorCiAyMDEzLTEwLTI5ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgog
CiAgICAgICAgIENoYW5nZSBsb2NhbCB2YXJpYWJsZSByZWdpc3RlciBhbGxvY2F0aW9uIHRvIHN0
YXJ0IGF0IG9mZnNldCAtMQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL0phdmFTY3JpcHRD
b3JlLnZjeHByb2ovSmF2YVNjcmlwdENvcmUudmN4cHJvago9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvSmF2YVNjcmlwdENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hw
cm9qCShyZXZpc2lvbiAxNTgyNDMpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvSmF2YVNjcmlw
dENvcmUudmN4cHJvai9KYXZhU2NyaXB0Q29yZS52Y3hwcm9qCSh3b3JraW5nIGNvcHkpCkBAIC0x
MDcyLDExICsxMDcyLDE3IEBACiAgIDxJdGVtR3JvdXA+DQogICAgIDxNQVNNIEluY2x1ZGU9Ii4u
XGppdFxKSVRTdHVic01TVkM2NC5hc20iPg0KICAgICAgIDxFeGNsdWRlZEZyb21CdWlsZCBDb25k
aXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVhc2VfV2luQ2Fpcm98
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4NCisgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNlX1dp
bkNhaXJvfHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KICAgICAgIDxFeGNsdWRlZEZy
b21CdWlsZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1JlbGVh
c2V8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4NCisgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdSZWxlYXNl
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KICAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J1Byb2R1Y3Rpb258
V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4NCisgICAgICA8RXhjbHVkZWRGcm9tQnVp
bGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdQcm9kdWN0aW9u
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KICAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnX1dpbkNh
aXJvfFdpbjMyJyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+DQorICAgICAgPEV4Y2x1ZGVkRnJv
bUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVidWdf
V2luQ2Fpcm98eDY0JyI+dHJ1ZTwvRXhjbHVkZWRGcm9tQnVpbGQ+DQogICAgICAgPEV4Y2x1ZGVk
RnJvbUJ1aWxkIENvbmRpdGlvbj0iJyQoQ29uZmlndXJhdGlvbil8JChQbGF0Zm9ybSknPT0nRGVi
dWd8V2luMzInIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4NCisgICAgICA8RXhjbHVkZWRGcm9t
QnVpbGQgQ29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z3x4
NjQnIj50cnVlPC9FeGNsdWRlZEZyb21CdWlsZD4NCiAgICAgICA8RXhjbHVkZWRGcm9tQnVpbGQg
Q29uZGl0aW9uPSInJChDb25maWd1cmF0aW9uKXwkKFBsYXRmb3JtKSc9PSdEZWJ1Z1N1ZmZpeHxX
aW4zMiciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KKyAgICAgIDxFeGNsdWRlZEZyb21CdWls
ZCBDb25kaXRpb249IickKENvbmZpZ3VyYXRpb24pfCQoUGxhdGZvcm0pJz09J0RlYnVnU3VmZml4
fHg2NCciPnRydWU8L0V4Y2x1ZGVkRnJvbUJ1aWxkPg0KICAgICA8L01BU00+DQogICA8L0l0ZW1H
cm91cD4NCiAgIDxJbXBvcnQgUHJvamVjdD0iJChWQ1RhcmdldHNQYXRoKVxNaWNyb3NvZnQuQ3Bw
LnRhcmdldHMiIC8+DQpJbmRleDogU291cmNlL1dURi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL1dURi9DaGFuZ2VMb2cJKHJldmlzaW9uIDE1ODI0NikKKysrIFNvdXJjZS9XVEYvQ2hh
bmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMTAtMjkgIEFsZXgg
Q2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9yZz4KKworICAgICAgICBEaXNhYmxl
ZCBKSVQgb24gV2luNjQuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0xMjI0NzIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIHd0Zi9QbGF0Zm9ybS5oOgorICAgICAgICBEaXNhYmxlZCBKSVQgb24gV2luNjQu
CisKIDIwMTMtMTAtMjkgIEFuZHJlYXMgS2xpbmcgIDxha2xpbmdAYXBwbGUuY29tPgogCiAgICAg
ICAgIFN0cmluZ0ltcGw6Omlzb2xhdGVkQ29weSgpIHNob3VsZCByZXR1cm4gUGFzc1JlZi4KSW5k
ZXg6IFNvdXJjZS9XVEYvd3RmL1BsYXRmb3JtLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dURi93
dGYvUGxhdGZvcm0uaAkocmV2aXNpb24gMTU4MjQzKQorKysgU291cmNlL1dURi93dGYvUGxhdGZv
cm0uaAkod29ya2luZyBjb3B5KQpAQCAtNjg3LDEyICs2ODcsMTMgQEAKICNkZWZpbmUgRU5BQkxF
X0pJVCAwCiAjZW5kaWYKIAotLyogVGhlIEpJVCBpcyBlbmFibGVkIGJ5IGRlZmF1bHQgb24gYWxs
IHg4NiwgeDg2LTY0LCBBUk0gJiBNSVBTIHBsYXRmb3Jtcy4gKi8KKy8qIFRoZSBKSVQgaXMgZW5h
YmxlZCBieSBkZWZhdWx0IG9uIGFsbCB4ODYsIHg4Ni02NCwgQVJNICYgTUlQUyBwbGF0Zm9ybXMg
ZXhjZXB0IFdpbjY0LiAqLwogI2lmICFkZWZpbmVkKEVOQUJMRV9KSVQpIFwKICAgICAmJiAoQ1BV
KFg4NikgfHwgQ1BVKFg4Nl82NCkgfHwgQ1BVKEFSTSkgfHwgQ1BVKEFSTTY0KSB8fCBDUFUoTUlQ
UykpIFwKICAgICAmJiAoT1MoREFSV0lOKSB8fCAhQ09NUElMRVIoR0NDKSB8fCBHQ0NfVkVSU0lP
Tl9BVF9MRUFTVCg0LCAxLCAwKSkgXAogICAgICYmICFPUyhXSU5DRSkgXAotICAgICYmICFPUyhR
TlgpCisgICAgJiYgIU9TKFFOWCkgXAorICAgICYmICEoT1MoV0lORE9XUykgJiYgQ1BVKFg4Nl82
NCkpCiAjZGVmaW5lIEVOQUJMRV9KSVQgMQogI2VuZGlmCiAKSW5kZXg6IFNvdXJjZS9XZWJLaXQv
Q2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJLaXQvQ2hhbmdlTG9nCShyZXZpc2lv
biAxNTgyNDYpCisrKyBTb3VyY2UvV2ViS2l0L0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAt
MSwzICsxLDEzIEBACisyMDEzLTEwLTI5ICBBbGV4IENocmlzdGVuc2VuICA8YWNocmlzdGVuc2Vu
QHdlYmtpdC5vcmc+CisKKyAgICAgICAgRGlzYWJsZWQgSklUIG9uIFdpbjY0LgorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTIyNDcyCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJLaXQudmN4cHJvai9X
ZWJLaXRFeHBvcnRHZW5lcmF0b3IvV2ViS2l0RXhwb3J0cy5kZWYuaW46CisgICAgICAgIEFkZGVk
IG1pc3NpbmcgNjQtYml0IGxpbmtlciBzeW1ib2wuCisKIDIwMTMtMTAtMjggIEpvc2VwaCBQZWNv
cmFybyAgPHBlY29yYXJvQGFwcGxlLmNvbT4KIAogICAgICAgICBVcHN0cmVhbSByZW1haW5pbmcg
UExBVEZPUk0oSU9TKSBhbmQgRU5BQkxFKFJFTU9URV9JTlNQRUNUT1IpIHBpZWNlcwpJbmRleDog
U291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJvai9XZWJLaXRFeHBvcnRHZW5lcmF0b3IvV2ViS2l0
RXhwb3J0cy5kZWYuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYktpdC9XZWJLaXQudmN4cHJv
ai9XZWJLaXRFeHBvcnRHZW5lcmF0b3IvV2ViS2l0RXhwb3J0cy5kZWYuaW4JKHJldmlzaW9uIDE1
ODI0MykKKysrIFNvdXJjZS9XZWJLaXQvV2ViS2l0LnZjeHByb2ovV2ViS2l0RXhwb3J0R2VuZXJh
dG9yL1dlYktpdEV4cG9ydHMuZGVmLmluCSh3b3JraW5nIGNvcHkpCkBAIC0yNzQsNyArMjc0LDcg
QEAgRVhQT1JUUwogICAgICAgICBzeW1ib2xXaXRoUG9pbnRlcig/c2V0RE9NRXhjZXB0aW9uQFdl
YkNvcmVAQFlBWFBBVkV4ZWNTdGF0ZUBKU0NAQEhAWiwgP3NldERPTUV4Y2VwdGlvbkBXZWJDb3Jl
QEBZQVhQRUFWRXhlY1N0YXRlQEpTQ0BASEBaKQogICAgICAgICBzeW1ib2xXaXRoUG9pbnRlcig/
c2V0RmFudGFzeUZvbnRGYW1pbHlAU2V0dGluZ3NAV2ViQ29yZUBAUUFFWEFCVkF0b21pY1N0cmlu
Z0BXVEZAQFc0VVNjcmlwdENvZGVAQEBaLCA/c2V0RmFudGFzeUZvbnRGYW1pbHlAU2V0dGluZ3NA
V2ViQ29yZUBAUUVBQVhBRUJWQXRvbWljU3RyaW5nQFdURkBAVzRVU2NyaXB0Q29kZUBAQFopCiAg
ICAgICAgIHN5bWJvbFdpdGhQb2ludGVyKD9zZXRGaXhlZEZvbnRGYW1pbHlAU2V0dGluZ3NAV2Vi
Q29yZUBAUUFFWEFCVkF0b21pY1N0cmluZ0BXVEZAQFc0VVNjcmlwdENvZGVAQEBaLCA/c2V0Rml4
ZWRGb250RmFtaWx5QFNldHRpbmdzQFdlYkNvcmVAQFFFQUFYQUVCVkF0b21pY1N0cmluZ0BXVEZA
QFc0VVNjcmlwdENvZGVAQEBaKQotICAgICAgICBzeW1ib2xXaXRoUG9pbnRlcig/c2V0Rm9udEZh
bGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhzQFNldHRpbmdzQFdlYkNvcmVAQFFBRVhfTkBaKQorICAg
ICAgICBzeW1ib2xXaXRoUG9pbnRlcig/c2V0Rm9udEZhbGxiYWNrUHJlZmVyc1BpY3RvZ3JhcGhz
QFNldHRpbmdzQFdlYkNvcmVAQFFBRVhfTkBaLCA/c2V0Rm9udEZhbGxiYWNrUHJlZmVyc1BpY3Rv
Z3JhcGhzQFNldHRpbmdzQFdlYkNvcmVAQFFFQUFYX05AWikKICAgICAgICAgc3ltYm9sV2l0aFBv
aW50ZXIoP3NldEZvb3RlckhlaWdodEBGcmFtZVZpZXdAV2ViQ29yZUBAUUFFWEhAWiwgP3NldEZv
b3RlckhlaWdodEBGcmFtZVZpZXdAV2ViQ29yZUBAUUVBQVhIQFopCiAgICAgICAgIHN5bWJvbFdp
dGhQb2ludGVyKD9zZXRIZWFkZXJIZWlnaHRARnJhbWVWaWV3QFdlYkNvcmVAQFFBRVhIQFosID9z
ZXRIZWFkZXJIZWlnaHRARnJhbWVWaWV3QFdlYkNvcmVAQFFFQUFYSEBaKQogICAgICAgICBzeW1i
b2xXaXRoUG9pbnRlcig/c2V0SW1hZ2VzRW5hYmxlZEBTZXR0aW5nc0BXZWJDb3JlQEBRQUVYX05A
WiwgP3NldEltYWdlc0VuYWJsZWRAU2V0dGluZ3NAV2ViQ29yZUBAUUVBQVhfTkBaKQo=
</data>
<flag name="review"
          id="238201"
          type_id="1"
          status="+"
          setter="ggaren"
    />
    <flag name="commit-queue"
          id="238243"
          type_id="3"
          status="-"
          setter="commit-queue"
    />
          </attachment>
      

    </bug>

</bugzilla>