<?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>71373</bug_id>
          
          <creation_ts>2011-11-02 09:45:11 -0700</creation_ts>
          <short_desc>Enable the DFG JIT on x86-64 Linux platforms</short_desc>
          <delta_ts>2011-11-09 23:40:05 -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>JavaScriptCore</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>71882</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Andy Wingo">wingo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>fpizlo</cc>
    
    <cc>hausmann</cc>
    
    <cc>ossy</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>yuqiang.xian</cc>
    
    <cc>zherczeg</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>494675</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-02 09:45:11 -0700</bug_when>
    <thetext>The DFG JIT work is looking very interesting.  Are you (Gavin, Filip, &amp;c) interested in broader testing?  I was going to suggest a Platform.h patch but I didn&apos;t know if you wanted to restrict your work to one platform for some reason.

Otherwise it could look something like:

/* Some stubs only implemented for x86 and x86-64. */
#if !defined(ENABLE_DFG_JIT) &amp;&amp; ENABLE(JIT) \
    &amp;&amp; (CPU(X86) || CPU(X86_64))
#define ENABLE_DFG_JIT 1
#endif

This does enable the DFG on 32-bit PLATFORM(MAC) systems as well; perhaps you are not interested in that?

If you want to open it up to just one other platform, I am happy to help in any issues that come up related to the GTK+ port, at least.

Andy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494733</commentid>
    <comment_count>1</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-11-02 10:56:31 -0700</bug_when>
    <thetext>Yes! - we want to turn this on as soon as there are no known regressions, and I think we&apos;re pretty close to being there.

Last time I tested it looked like there were two sets of layout tests still being broken by the DFG JIT on x86 - the jquery &amp; inspector tests.  I&apos;m pretty sure that Yuqiang&apos;s patch to change how we set boolean results should have fixed the jquery regressions, the inspector ones might also have been fixed since I last tried them, too.

There is no reason I know of for it not to be enabled on x86-64 non-mac platforms, I just haven&apos;t tested &amp; didn&apos;t want to turn on without someone having done so.

Btw, nice write up on JSC. :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494771</commentid>
    <comment_count>2</comment_count>
      <attachid>113342</attachid>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-02 11:44:23 -0700</bug_when>
    <thetext>Created attachment 113342
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>494773</commentid>
    <comment_count>3</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-02 11:47:50 -0700</bug_when>
    <thetext>Cool, I&apos;m looking forward to playing around with this in more detail :)  And thanks for the kind words, it has been fun to look into JSC, and I hope to hack on it more in the future.

To move things along, the attached patch enables the DFG JIT on all x86-64 platforms.  Perhaps Yuqiang can add x86-32 to the set when it is ready, too.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>496048</commentid>
    <comment_count>4</comment_count>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2011-11-03 22:23:46 -0700</bug_when>
    <thetext>For now, from my testing of GTK+ port on Linux x86 with DFG JIT turned on, I didn&apos;t observe any regressions comparing to ToT (including layout test, JavaScriptCore test, and JS benchmarks).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498021</commentid>
    <comment_count>5</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-08 06:59:09 -0800</bug_when>
    <thetext>Nice work, Yuqiang!  And congrats on becoming a committer.

The patch to be attached enables the DFG JIT on x86-64 platforms as well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498022</commentid>
    <comment_count>6</comment_count>
      <attachid>114057</attachid>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-08 06:59:59 -0800</bug_when>
    <thetext>Created attachment 114057
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498034</commentid>
    <comment_count>7</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-08 07:25:28 -0800</bug_when>
    <thetext>Sunspider:

EST                   COMPARISON            FROM                 TO             DETAILS

=============================================================================

** TOTAL **:           1.074x as fast    162.0ms +/- 1.0%   150.9ms +/- 1.5%     significant

=============================================================================

  3d:                  -                  25.4ms +/- 7.2%    25.1ms +/- 7.9% 
    cube:              ??                 10.4ms +/- 17.5%    10.5ms +/- 21.1%     not conclusive: might be *1.010x as slow*
    morph:             *1.057x as slow*    7.0ms +/- 0.0%     7.4ms +/- 5.0%     significant
    raytrace:          1.111x as fast      8.0ms +/- 0.0%     7.2ms +/- 4.2%     significant

  access:              1.72x as fast      20.6ms +/- 2.4%    12.0ms +/- 0.0%     significant
    binary-trees:      2.00x as fast       2.0ms +/- 0.0%     1.0ms +/- 0.0%     significant
    fannkuch:          1.70x as fast      10.2ms +/- 3.0%     6.0ms +/- 0.0%     significant
    nbody:             1.80x as fast       5.4ms +/- 6.8%     3.0ms +/- 0.0%     significant
    nsieve:            1.50x as fast       3.0ms +/- 0.0%     2.0ms +/- 0.0%     significant

  bitops:              1.59x as fast      14.5ms +/- 2.6%     9.1ms +/- 2.5%     significant
    3bit-bits-in-byte: 2.00x as fast       2.0ms +/- 0.0%     1.0ms +/- 0.0%     significant
    bits-in-byte:      2.65x as fast       5.3ms +/- 6.5%     2.0ms +/- 0.0%     significant
    bitwise-and:       1.43x as fast       3.0ms +/- 0.0%     2.1ms +/- 10.8%     significant
    nsieve-bits:       -                   4.2ms +/- 7.2%     4.0ms +/- 0.0% 

  controlflow:         ??                  1.0ms +/- 0.0%     1.2ms +/- 25.1%     not conclusive: might be *1.20x as slow*
    recursive:         ??                  1.0ms +/- 0.0%     1.2ms +/- 25.1%     not conclusive: might be *1.20x as slow*

  crypto:              *1.108x as slow*   10.2ms +/- 3.0%    11.3ms +/- 3.1%     significant
    aes:               *1.197x as slow*    6.1ms +/- 3.7%     7.3ms +/- 4.7%     significant
    md5:               -                   2.1ms +/- 10.8%     2.0ms +/- 0.0% 
    sha1:              -                   2.0ms +/- 0.0%     2.0ms +/- 0.0% 

  date:                -                  18.0ms +/- 0.0%    17.9ms +/- 2.9% 
    format-tofte:      1.042x as fast     10.0ms +/- 0.0%     9.6ms +/- 3.8%     significant
    format-xparb:      ??                  8.0ms +/- 0.0%     8.3ms +/- 5.8%     not conclusive: might be *1.038x as slow*

  math:                -                  16.1ms +/- 1.4%    16.0ms +/- 0.0% 
    cordic:            *1.176x as slow*    5.1ms +/- 4.4%     6.0ms +/- 0.0%     significant
    partial-sums:      -                   8.0ms +/- 0.0%     8.0ms +/- 0.0% 
    spectral-norm:     1.50x as fast       3.0ms +/- 0.0%     2.0ms +/- 0.0%     significant

  regexp:              ??                 12.8ms +/- 2.4%    13.0ms +/- 0.0%     not conclusive: might be *1.016x as slow*
    dna:               ??                 12.8ms +/- 2.4%    13.0ms +/- 0.0%     not conclusive: might be *1.016x as slow*

  string:              *1.044x as slow*   43.4ms +/- 0.9%    45.3ms +/- 0.8%     significant
    base64:            1.25x as fast       4.0ms +/- 0.0%     3.2ms +/- 9.4%     significant
    fasta:             -                   6.0ms +/- 0.0%     6.0ms +/- 0.0% 
    tagcloud:          ??                 10.9ms +/- 2.1%    11.0ms +/- 0.0%     not conclusive: might be *1.009x as slow*
    unpack-code:       *1.149x as slow*   17.5ms +/- 2.2%    20.1ms +/- 1.1%     significant
    validate-input:    -                   5.0ms +/- 0.0%     5.0ms +/- 0.0% 


V8:


TEST              COMPARISON            FROM                 TO             DETAILS

=============================================================================

** TOTAL **:      1.42x as fast     1070.4ms +/- 0.4%   751.8ms +/- 0.3%     significant

=============================================================================

  v8:             1.42x as fast     1070.4ms +/- 0.4%   751.8ms +/- 0.3%     significant
    crypto:       2.49x as fast      184.6ms +/- 1.0%    74.2ms +/- 2.2%     significant
    deltablue:    1.49x as fast      256.7ms +/- 0.4%   172.7ms +/- 0.7%     significant
    earley-boyer: 1.163x as fast     100.5ms +/- 0.4%    86.4ms +/- 0.6%     significant
    raytrace:     1.093x as fast      65.6ms +/- 0.8%    60.0ms +/- 0.8%     significant
    regexp:       *1.011x as slow*   111.4ms +/- 0.3%   112.6ms +/- 0.6%     significant
    richards:     1.82x as fast      217.9ms +/- 0.6%   119.7ms +/- 0.6%     significant
    splay:        1.059x as fast     133.7ms +/- 0.7%   126.2ms +/- 0.9%     significant


Kraken:


TEST                         COMPARISON            FROM                 TO             DETAILS

=============================================================================

** TOTAL **:                 2.18x as fast     6721.2ms +/- 0.2%   3078.2ms +/- 0.3%     significant

=============================================================================

  ai:                        2.49x as fast     1126.0ms +/- 0.8%    451.5ms +/- 0.7%     significant
    astar:                   2.49x as fast     1126.0ms +/- 0.8%    451.5ms +/- 0.7%     significant

  audio:                     1.89x as fast     1694.9ms +/- 0.3%    897.2ms +/- 0.3%     significant
    beat-detection:          2.54x as fast      482.1ms +/- 0.2%    190.0ms +/- 0.3%     significant
    dft:                     1.58x as fast      526.6ms +/- 0.2%    332.4ms +/- 0.5%     significant
    fft:                     2.86x as fast      359.6ms +/- 0.5%    125.6ms +/- 0.7%     significant
    oscillator:              1.31x as fast      326.6ms +/- 0.9%    249.2ms +/- 0.5%     significant

  imaging:                   2.72x as fast     3009.1ms +/- 0.2%   1106.7ms +/- 0.5%     significant
    gaussian-blur:           3.59x as fast     1914.2ms +/- 0.5%    533.2ms +/- 0.6%     significant
    darkroom:                1.59x as fast      558.0ms +/- 0.9%    351.9ms +/- 0.6%     significant
    desaturate:              2.42x as fast      536.9ms +/- 0.4%    221.6ms +/- 0.7%     significant

  json:                      *1.058x as slow*   129.2ms +/- 2.2%    136.7ms +/- 1.0%     significant
    parse-financial:         -                   56.2ms +/- 2.7%     55.1ms +/- 1.1% 
    stringify-tinderbox:     *1.118x as slow*    73.0ms +/- 2.1%     81.6ms +/- 1.3%     significant

  stanford:                  1.57x as fast      762.0ms +/- 0.4%    486.1ms +/- 0.5%     significant
    crypto-aes:              1.39x as fast      143.7ms +/- 1.4%    103.1ms +/- 0.5%     significant
    crypto-ccm:              *1.018x as slow*   113.9ms +/- 1.2%    115.9ms +/- 1.2%     significant
    crypto-pbkdf2:           1.92x as fast      380.4ms +/- 0.4%    197.8ms +/- 0.9%     significant
    crypto-sha256-iterative: 1.79x as fast      124.0ms +/- 0.5%     69.3ms +/- 0.7%     significant</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498039</commentid>
    <comment_count>8</comment_count>
      <attachid>114057</attachid>
    <who name="Gyuyoung Kim">gyuyoung.kim</who>
    <bug_when>2011-11-08 07:32:30 -0800</bug_when>
    <thetext>Comment on attachment 114057
Patch

Attachment 114057 did not pass efl-ews (efl):
Output: http://queues.webkit.org/results/10379041</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498056</commentid>
    <comment_count>9</comment_count>
      <attachid>114067</attachid>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-08 07:54:01 -0800</bug_when>
    <thetext>Created attachment 114067
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498057</commentid>
    <comment_count>10</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-08 07:54:32 -0800</bug_when>
    <thetext>The newly attached patch attempts to fix EFL.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498743</commentid>
    <comment_count>11</comment_count>
      <attachid>114067</attachid>
    <who name="Philippe Normand">pnormand</who>
    <bug_when>2011-11-09 02:12:42 -0800</bug_when>
    <thetext>Comment on attachment 114067
Patch

Flipping cq+ as Andy is not committer yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498761</commentid>
    <comment_count>12</comment_count>
      <attachid>114067</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-09 03:03:56 -0800</bug_when>
    <thetext>Comment on attachment 114067
Patch

Clearing flags on attachment: 114067

Committed r99678: &lt;http://trac.webkit.org/changeset/99678&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498763</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-09 03:04:00 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498773</commentid>
    <comment_count>14</comment_count>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-11-09 03:28:50 -0800</bug_when>
    <thetext>Re-opening as the patch was rolled out due to build-errors of the following kind:

The build errors were:

Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:734:30: error: variable &apos;tooBig&apos; set but not used [-Werror=unused-but-set-variable]
Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:708:12: error: variable &apos;valueGPR&apos; set but not used [-Werror=unused-but-set-variable]
Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:1552:27: error: variable &apos;functionCall&apos; set but not used [-Werror=unused-but-set-variable]
Source/JavaScriptCore/dfg/DFGSpeculativeJIT64.cpp:2471:27: error: variable &apos;functionCall&apos; set but not used [-Werror=unused-but-set-variable]

We weren&apos;t 100% sure what the correct fixes were here :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498778</commentid>
    <comment_count>15</comment_count>
      <attachid>114235</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-11-09 03:39:56 -0800</bug_when>
    <thetext>Created attachment 114235
32 and 64 bit buildfix for stricter compilers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498784</commentid>
    <comment_count>16</comment_count>
      <attachid>114235</attachid>
    <who name="Simon Hausmann">hausmann</who>
    <bug_when>2011-11-09 03:43:26 -0800</bug_when>
    <thetext>Comment on attachment 114235
32 and 64 bit buildfix for stricter compilers

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

&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:734
&gt; -        MacroAssembler::Jump tooBig = m_jit.branch32(MacroAssembler::GreaterThan, scratchReg, TrustedImm32(0xff));
&gt; +        m_jit.branch32(MacroAssembler::GreaterThan, scratchReg, TrustedImm32(0xff));

This is the part I&apos;m rather unsure about. It seems &quot;odd&quot; to leave an instruction in there that is unlinked.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498785</commentid>
    <comment_count>17</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-09 03:46:45 -0800</bug_when>
    <thetext>I added the patch at bug 71885 at the same time that Ossy wrote his patch.  It removes the unlinked branch, FWIW.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498789</commentid>
    <comment_count>18</comment_count>
      <attachid>114235</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-11-09 03:51:23 -0800</bug_when>
    <thetext>Comment on attachment 114235
32 and 64 bit buildfix for stricter compilers

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

&gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:-734
&gt; -        MacroAssembler::Jump tooBig = m_jit.branch32(MacroAssembler::GreaterThan, scratchReg, TrustedImm32(0xff));

I think this call is unnecessary.
1) The previous check &lt;=, so the it is always &gt;
2) The following code would be dead code.
I think that it is working on x86 is a pure luck, since &quot;jmp 0&quot; jumps to the next instruction after the &quot;jmp&quot;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498794</commentid>
    <comment_count>19</comment_count>
      <attachid>114235</attachid>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-11-09 03:53:30 -0800</bug_when>
    <thetext>Comment on attachment 114235
32 and 64 bit buildfix for stricter compilers

r=me

Necessary changes.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498801</commentid>
    <comment_count>20</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-11-09 03:59:49 -0800</bug_when>
    <thetext>*** Bug 71885 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498825</commentid>
    <comment_count>21</comment_count>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2011-11-09 04:38:53 -0800</bug_when>
    <thetext>Just a note... The original patch probably needs to merge the latest change in DFG, in particular some new files are added with bug #71787 but the 64bit version may be missing in the Efl cmake list.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498857</commentid>
    <comment_count>22</comment_count>
      <attachid>114235</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-11-09 05:32:54 -0800</bug_when>
    <thetext>Comment on attachment 114235
32 and 64 bit buildfix for stricter compilers

Clearing flags on attachment: 114235

Committed r99693: &lt;http://trac.webkit.org/changeset/99693&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498859</commentid>
    <comment_count>23</comment_count>
      <attachid>114257</attachid>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-09 05:46:33 -0800</bug_when>
    <thetext>Created attachment 114257
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498860</commentid>
    <comment_count>24</comment_count>
      <attachid>114257</attachid>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-09 05:47:22 -0800</bug_when>
    <thetext>Comment on attachment 114257
Patch

Updated, adding 64-bit OSR exit compiler to EFL build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498863</commentid>
    <comment_count>25</comment_count>
      <attachid>114257</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-11-09 05:51:04 -0800</bug_when>
    <thetext>Comment on attachment 114257
Patch

r=me, I&apos;ll land it immediately.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498867</commentid>
    <comment_count>26</comment_count>
      <attachid>114257</attachid>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-11-09 05:55:54 -0800</bug_when>
    <thetext>Comment on attachment 114257
Patch

Clearing flags on attachment: 114257

Committed r99696: &lt;http://trac.webkit.org/changeset/99696&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498868</commentid>
    <comment_count>27</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2011-11-09 05:56:04 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499253</commentid>
    <comment_count>28</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-11-09 12:31:33 -0800</bug_when>
    <thetext>(In reply to comment #18)
&gt; (From update of attachment 114235 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=114235&amp;action=review
&gt; 
&gt; &gt; Source/JavaScriptCore/dfg/DFGSpeculativeJIT.cpp:-734
&gt; &gt; -        MacroAssembler::Jump tooBig = m_jit.branch32(MacroAssembler::GreaterThan, scratchReg, TrustedImm32(0xff));
&gt; 
&gt; I think this call is unnecessary.
&gt; 1) The previous check &lt;=, so the it is always &gt;
&gt; 2) The following code would be dead code.
&gt; I think that it is working on x86 is a pure luck, since &quot;jmp 0&quot; jumps to the next instruction after the &quot;jmp&quot;.

No.  The first check is BelowOrEqual, which is an unsigned comparison.  The second check is GreaterThan, which is a signed comparison.

The tooBig branch should be linked to this line:

        m_jit.move(TrustedImm32(255), scratchReg);</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499679</commentid>
    <comment_count>29</comment_count>
    <who name="Zoltan Herczeg">zherczeg</who>
    <bug_when>2011-11-09 23:36:42 -0800</bug_when>
    <thetext>&gt; No.  The first check is BelowOrEqual, which is an unsigned comparison.  The second check is GreaterThan, which is a signed comparison.
&gt; 
&gt; The tooBig branch should be linked to this line:
&gt; 
&gt;         m_jit.move(TrustedImm32(255), scratchReg);

Oh, Intel naming convection: Below/Above unsigned, Greater/Less signed. Perhaps we should change these names to something less confusing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499683</commentid>
    <comment_count>30</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-11-09 23:40:05 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; &gt; No.  The first check is BelowOrEqual, which is an unsigned comparison.  The second check is GreaterThan, which is a signed comparison.
&gt; &gt; 
&gt; &gt; The tooBig branch should be linked to this line:
&gt; &gt; 
&gt; &gt;         m_jit.move(TrustedImm32(255), scratchReg);
&gt; 
&gt; Oh, Intel naming convection: Below/Above unsigned, Greater/Less signed. Perhaps we should change these names to something less confusing.

Suggestions?</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>113342</attachid>
            <date>2011-11-02 11:44:23 -0700</date>
            <delta_ts>2011-11-08 06:59:51 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71373-20111102194421.patch</filename>
            <type>text/plain</type>
            <size>1428</size>
            <attacher name="Andy Wingo">wingo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTkwNTIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGQ3
ODI0OTExNDRkZDJhYjUzYzcyM2U2NGVhMDhkOTRiMTJiZTRjMDQuLjdlODQwOTk1NGEzYTVlZjNm
ZmRiYWM2ZmMwMzVlNTU1MGYwYTJjZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDExLTExLTAyICBBbmR5IFdpbmdvICA8d2luZ29AaWdhbGlhLmNvbT4KKwor
ICAgICAgICBFbmFibGUgdGhlIERGRyBKSVQgb24gbW9yZSBwbGF0Zm9ybXMKKyAgICAgICAgaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxMzczCisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3dGYvUGxhdGZvcm0uaCAoRU5B
QkxFX0RGR19KSVQpOiBFbmFibGUgREZHIEpJVCBvbiBhbGwgeDg2LTY0CisgICAgICAgIHBsYXRm
b3Jtcy4gIHg4Ni0zMiBzaG91bGQgZm9sbG93IHNvb24uCisKIDIwMTEtMTEtMDEgIERhcmluIEFk
bGVyICA8ZGFyaW5AYXBwbGUuY29tPgogCiAgICAgICAgIEN1dCBkb3duIG9uIG1hbGxvYy9mcmVl
IGEgYml0IGluIHRoZSBwYXJzZXIgYXJlbmEKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS93dGYvUGxhdGZvcm0uaCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0u
aAppbmRleCAxMmMyMTY2MWMwMDA2Y2VjMmUxZjcwOTMxNGQxOThkMWQ3MTA3YTExLi42ZGY5ZDdl
N2VlOTZjOWM1MmMyNDk5NDdmYmUwZGNiZTY4ZGFjOTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvd3RmL1BsYXRmb3JtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0
Zi9QbGF0Zm9ybS5oCkBAIC04ODEsOCArODgxLDkgQEAKICNkZWZpbmUgRU5BQkxFX0pJVCAxCiAj
ZW5kaWYKIAotLyogQ3VycmVudGx5IG9ubHkgaW1wbGVtZW50ZWQgZm9yIEpTVkFMVUU2NCwgb25s
eSB0ZXN0ZWQgb24gUExBVEZPUk0oTUFDKSAqLwotI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfSklU
KSAmJiBFTkFCTEUoSklUKSAmJiBVU0UoSlNWQUxVRTY0KSAmJiBQTEFURk9STShNQUMpCisvKiBT
b21lIHN0dWJzIG9ubHkgaW1wbGVtZW50ZWQgZm9yIHg4NiBhbmQgeDg2LTY0LiAgU29tZSByZWdy
ZXNzaW9ucyBzdGlsbCBvbgorICAgeDg2LCBzbyBsZWF2ZSBpdCBvdXQgb2YgdGhlIHBhcnR5IGZv
ciB0aGUgdGltZSBiZWluZy4gKi8KKyNpZiAhZGVmaW5lZChFTkFCTEVfREZHX0pJVCkgJiYgRU5B
QkxFKEpJVCkgJiYgQ1BVKFg4Nl82NCkKICNkZWZpbmUgRU5BQkxFX0RGR19KSVQgMQogI2VuZGlm
CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114057</attachid>
            <date>2011-11-08 06:59:59 -0800</date>
            <delta_ts>2011-11-08 07:53:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71373-20111108155957.patch</filename>
            <type>text/plain</type>
            <size>1621</size>
            <attacher name="Andy Wingo">wingo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk1NjIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDQw
ZmFkZjhhOGM4ZjFmZGY0NmFmYmU4YTQ5ZjJhM2U5MjhlNmVhNTguLmUzYmM3YmY5M2Q3NzE2MDMx
NzkxYTdjMmIwZTMxNmI2YTJmODJiMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDEzIEBACisyMDExLTExLTA4ICBBbmR5IFdpbmdvICA8d2luZ29AaWdhbGlhLmNvbT4KKwor
ICAgICAgICBFbmFibGUgdGhlIERGRyBKSVQgb24gWDg2LTY0IExpbnV4IHBsYXRmb3JtcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEzNzMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9y
bS5oIChFTkFCTEVfREZHX0pJVCk6IEVuYWJsZSB0aGUgREZHIEpJVCBvbiB0aGUKKyAgICAgICAg
eDg2LTY0IEdOVS9MaW51eCBwbGF0Zm9ybS4KKwogMjAxMS0xMS0wOCAgWXVxaWFuZyBYaWFuICA8
eXVxaWFuZy54aWFuQGludGVsLmNvbT4KIAogICAgICAgICBFbmFibGUgREZHIEpJVCBieSBkZWZh
dWx0IG9uIFg4NiBMaW51eCBhbmQgTWFjIHBsYXRmb3JtcwpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Q
bGF0Zm9ybS5oCmluZGV4IGExOTRhZTgzZTFlM2MwMmY1ZmUwNDRhMTE4MWM0ZjA1YzA2N2U5Zjcu
LjU1M2RjNWU4YzM1NjljYjgwNmNiNTk1NGQ3YmMzZDVhMjhlNWU0ZTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL1BsYXRmb3JtLmgKQEAgLTg4MiwxMyArODgyLDEwIEBACiAjZGVmaW5lIEVOQUJM
RV9KSVQgMQogI2VuZGlmCiAKLS8qIEN1cnJlbnRseSBmb3IgSlNWQUxVRTY0LCBvbmx5IHRlc3Rl
ZCBvbiBQTEFURk9STShNQUMpICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RGR19KSVQpICYmIEVO
QUJMRShKSVQpICYmIFVTRShKU1ZBTFVFNjQpICYmIFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgRU5B
QkxFX0RGR19KSVQgMQotI2VuZGlmCi0KLS8qIEN1cnJlbnRseSBERkcgZm9yIFg4NiBhcmUgb25s
eSB0ZXN0ZWQgb24gTGludXggT1MgYW5kIE1hYyBQbGF0Zm9ybSAqLwotI2lmICFkZWZpbmVkKEVO
QUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklUKSAmJiBDUFUoWDg2KSAmJiAoUExBVEZPUk0oTUFD
KSB8fCBPUyhMSU5VWCkpCisvKiBFbmFibGUgdGhlIERGRyBKSVQgb24gWDg2IGFuZCBYODZfNjQu
ICBPbmx5IHRlc3RlZCBvbiBNYWMgYW5kIEdOVS9MaW51eC4gICovCisjaWYgIWRlZmluZWQoRU5B
QkxFX0RGR19KSVQpICYmIEVOQUJMRShKSVQpIFwKKyAgICAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4
Nl82NCkpIFwKKyAgICAmJiAoUExBVEZPUk0oTUFDKSB8fCBPUyhMSU5VWCkpCiAjZGVmaW5lIEVO
QUJMRV9ERkdfSklUIDEKICNlbmRpZgogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114067</attachid>
            <date>2011-11-08 07:54:01 -0800</date>
            <delta_ts>2011-11-09 05:46:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71373-20111108165359.patch</filename>
            <type>text/plain</type>
            <size>2450</size>
            <attacher name="Andy Wingo">wingo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk1NjIKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IDQw
ZmFkZjhhOGM4ZjFmZGY0NmFmYmU4YTQ5ZjJhM2U5MjhlNmVhNTguLjdkY2Q5NmIyMjEyMmUzZDMx
NjEwNWMwYzBiOGExNGRmMjgyNGQyOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDExLTExLTA4ICBBbmR5IFdpbmdvICA8d2luZ29AaWdhbGlhLmNvbT4KKwor
ICAgICAgICBFbmFibGUgdGhlIERGRyBKSVQgb24gWDg2LTY0IExpbnV4IHBsYXRmb3JtcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEzNzMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9y
bS5oIChFTkFCTEVfREZHX0pJVCk6IEVuYWJsZSB0aGUgREZHIEpJVCBvbiB0aGUKKyAgICAgICAg
eDg2LTY0IEdOVS9MaW51eCBwbGF0Zm9ybS4KKyAgICAgICAgKiBDTWFrZUxpc3RzRWZsLnR4dDog
QWRkIEpTVmFsdWU2NCBpbXBsZW1lbnRhdGlvbnMgdG8gRUZMIGJ1aWxkLgorCiAyMDExLTExLTA4
ICBZdXFpYW5nIFhpYW4gIDx5dXFpYW5nLnhpYW5AaW50ZWwuY29tPgogCiAgICAgICAgIEVuYWJs
ZSBERkcgSklUIGJ5IGRlZmF1bHQgb24gWDg2IExpbnV4IGFuZCBNYWMgcGxhdGZvcm1zCmRpZmYg
LS1naXQgYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0c0VmbC50eHQgYi9Tb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0c0VmbC50eHQKaW5kZXggMDVmN2MwNjlmMTAwYTFkYWIz
MWJiODgwOTU4MjA4MmVmZmM1OTM2Mi4uMjE2OTRkYTAzY2NmZTNmZjMwOThiOWQ5OTczZDRkZDcw
ZjU3NWNjYyAxMDA2NDQKLS0tIGEvU291cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHNFZmwu
dHh0CisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzRWZsLnR4dApAQCAtMjks
NiArMjksNyBAQCBMSVNUKEFQUEVORCBKYXZhU2NyaXB0Q29yZV9TT1VSQ0VTCiAgICAgZGZnL0RG
R0RyaXZlci5jcHAKICAgICBkZmcvREZHR3JhcGguY3BwCiAgICAgZGZnL0RGR0pJVENvZGVHZW5l
cmF0b3IuY3BwCisgICAgZGZnL0RGR0pJVENvZGVHZW5lcmF0b3I2NC5jcHAKICAgICBkZmcvREZH
SklUQ29kZUdlbmVyYXRvcjMyXzY0LmNwcAogICAgIGRmZy9ERkdKSVRDb21waWxlci5jcHAKICAg
ICBkZmcvREZHSklUQ29tcGlsZXIzMl82NC5jcHAKQEAgLTM3LDUgKzM4LDYgQEAgTElTVChBUFBF
TkQgSmF2YVNjcmlwdENvcmVfU09VUkNFUwogICAgIGRmZy9ERkdQcm9wYWdhdG9yLmNwcAogICAg
IGRmZy9ERkdSZXBhdGNoLmNwcAogICAgIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKKyAgICBk
ZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKICAgICBkZmcvREZHU3BlY3VsYXRpdmVKSVQzMl82
NC5jcHAKICkKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0u
aCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAppbmRleCBhMTk0YWU4M2Ux
ZTNjMDJmNWZlMDQ0YTExODFjNGYwNWMwNjdlOWY3Li41NTNkYzVlOGMzNTY5Y2I4MDZjYjU5NTRk
N2JjM2Q1YTI4ZTVlNGU5IDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvd3RmL1Bs
YXRmb3JtLmgKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oCkBAIC04
ODIsMTMgKzg4MiwxMCBAQAogI2RlZmluZSBFTkFCTEVfSklUIDEKICNlbmRpZgogCi0vKiBDdXJy
ZW50bHkgZm9yIEpTVkFMVUU2NCwgb25seSB0ZXN0ZWQgb24gUExBVEZPUk0oTUFDKSAqLwotI2lm
ICFkZWZpbmVkKEVOQUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklUKSAmJiBVU0UoSlNWQUxVRTY0
KSAmJiBQTEFURk9STShNQUMpCi0jZGVmaW5lIEVOQUJMRV9ERkdfSklUIDEKLSNlbmRpZgotCi0v
KiBDdXJyZW50bHkgREZHIGZvciBYODYgYXJlIG9ubHkgdGVzdGVkIG9uIExpbnV4IE9TIGFuZCBN
YWMgUGxhdGZvcm0gKi8KLSNpZiAhZGVmaW5lZChFTkFCTEVfREZHX0pJVCkgJiYgRU5BQkxFKEpJ
VCkgJiYgQ1BVKFg4NikgJiYgKFBMQVRGT1JNKE1BQykgfHwgT1MoTElOVVgpKQorLyogRW5hYmxl
IHRoZSBERkcgSklUIG9uIFg4NiBhbmQgWDg2XzY0LiAgT25seSB0ZXN0ZWQgb24gTWFjIGFuZCBH
TlUvTGludXguICAqLworI2lmICFkZWZpbmVkKEVOQUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklU
KSBcCisgICAgJiYgKENQVShYODYpIHx8IENQVShYODZfNjQpKSBcCisgICAgJiYgKFBMQVRGT1JN
KE1BQykgfHwgT1MoTElOVVgpKQogI2RlZmluZSBFTkFCTEVfREZHX0pJVCAxCiAjZW5kaWYKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114235</attachid>
            <date>2011-11-09 03:39:56 -0800</date>
            <delta_ts>2011-11-09 05:32:54 -0800</delta_ts>
            <desc>32 and 64 bit buildfix for stricter compilers</desc>
            <filename>1.patch</filename>
            <type>text/plain</type>
            <size>5067</size>
            <attacher name="Csaba Osztrogonác">ossy</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2
YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGMxMDcwN2YuLmNlMTA0YTcgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDIyIEBACisyMDExLTExLTA5ICBDc2FiYSBPc3p0cm9n
b27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CisKKyAgICAgICAgRW5hYmxlIHRoZSBERkcgSklUIG9u
IHg4Ni02NCBMaW51eCBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTcxMzczCisKKyAgICAgICAgRW5hYmxlIERGRyBKSVQgYnkgZGVmYXVs
dCBvbiBYODYgTGludXggYW5kIE1hYyBwbGF0Zm9ybXMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxNjg2CisKKyAgICAgICAgQnVpbGRmaXggZm9yIHN0
cmljdGVyIGNvbXBpbGVyczogLVdlcnJvcj11bnVzZWQtYnV0LXNldC12YXJpYWJsZQorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgICogZGZnL0RGR1NwZWN1
bGF0aXZlSklULmNwcDoKKyAgICAgICAgKEpTQzo6REZHOjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGls
ZVB1dEJ5VmFsRm9yQnl0ZUFycmF5KToKKyAgICAgICAgKiBkZmcvREZHU3BlY3VsYXRpdmVKSVQz
Ml82NC5jcHA6CisgICAgICAgIChKU0M6OkRGRzo6U3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUpOgor
ICAgICAgICAqIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcDoKKyAgICAgICAgKEpTQzo6REZH
OjpTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZSk6CisKIDIwMTEtMTEtMDkgIFNoZXJpZmYgQm90ICA8
d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxp
bmcgb3V0IHI5OTY3OC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZH
U3BlY3VsYXRpdmVKSVQuY3BwIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxh
dGl2ZUpJVC5jcHAKaW5kZXggNzhiMDU3OS4uYmU5MjcyNyAxMDA2NDQKLS0tIGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKKysrIGIvU291cmNlL0phdmFT
Y3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVC5jcHAKQEAgLTczMSw3ICs3MzEsNyBAQCB2
b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlUHV0QnlWYWxGb3JCeXRlQXJyYXkoR1BSUmVnIGJh
c2UsIEdQUlJlZyBwcm9wZXJ0eSwgTgogICAgICAgICBHUFJSZWcgc2NyYXRjaFJlZyA9IHNjcmF0
Y2guZ3ByKCk7CiAgICAgICAgIG1faml0Lm1vdmUodmFsdWVPcC5ncHIoKSwgc2NyYXRjaFJlZyk7
CiAgICAgICAgIE1hY3JvQXNzZW1ibGVyOjpKdW1wIGluQm91bmRzID0gbV9qaXQuYnJhbmNoMzIo
TWFjcm9Bc3NlbWJsZXI6OkJlbG93T3JFcXVhbCwgc2NyYXRjaFJlZywgVHJ1c3RlZEltbTMyKDB4
ZmYpKTsKLSAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAgdG9vQmlnID0gbV9qaXQuYnJhbmNo
MzIoTWFjcm9Bc3NlbWJsZXI6OkdyZWF0ZXJUaGFuLCBzY3JhdGNoUmVnLCBUcnVzdGVkSW1tMzIo
MHhmZikpOworICAgICAgICBtX2ppdC5icmFuY2gzMihNYWNyb0Fzc2VtYmxlcjo6R3JlYXRlclRo
YW4sIHNjcmF0Y2hSZWcsIFRydXN0ZWRJbW0zMigweGZmKSk7CiAgICAgICAgIG1faml0LnhvclB0
cihzY3JhdGNoUmVnLCBzY3JhdGNoUmVnKTsKICAgICAgICAgTWFjcm9Bc3NlbWJsZXI6Okp1bXAg
Y2xhbXBlZCA9IG1faml0Lmp1bXAoKTsKICAgICAgICAgbV9qaXQubW92ZShUcnVzdGVkSW1tMzIo
MjU1KSwgc2NyYXRjaFJlZyk7CkBAIC03NDksNyArNzQ5LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJ
VDo6Y29tcGlsZVB1dEJ5VmFsRm9yQnl0ZUFycmF5KEdQUlJlZyBiYXNlLCBHUFJSZWcgcHJvcGVy
dHksIE4KICAgICAgICAgdmFsdWUuYWRvcHQocmVzdWx0KTsKICAgICAgICAgdmFsdWVHUFIgPSBn
cHI7CiAgICAgfQotICAgIEFTU0VSVCh2YWx1ZUdQUiAhPSBwcm9wZXJ0eSk7CisgICAgQVNTRVJU
X1VOVVNFRCh2YWx1ZUdQUiwgdmFsdWVHUFIgIT0gcHJvcGVydHkpOwogICAgIEFTU0VSVCh2YWx1
ZUdQUiAhPSBiYXNlKTsKICAgICBHUFJUZW1wb3Jhcnkgc3RvcmFnZSh0aGlzKTsKICAgICBHUFJS
ZWcgc3RvcmFnZVJlZyA9IHN0b3JhZ2UuZ3ByKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvSmF2YVNj
cmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwIGIvU291cmNlL0phdmFTY3Jp
cHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAppbmRleCAwODY1MjE2Li4wNzQw
ODlmIDEwMDY0NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZl
SklUMzJfNjQuY3BwCisrKyBiL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRp
dmVKSVQzMl82NC5jcHAKQEAgLTE1MDUsNyArMTUwNSw3IEBAIHZvaWQgU3BlY3VsYXRpdmVKSVQ6
OmNvbXBpbGUoTm9kZSYgbm9kZSkKIAogICAgICAgICAvLyBDb2RlIHRvIGhhbmRsZSBwdXQgYmV5
b25kIGFycmF5IGJvdW5kcy4KICAgICAgICAgc2lsZW50U3BpbGxBbGxSZWdpc3RlcnMoc2NyYXRj
aFJlZyk7Ci0gICAgICAgIEpJVENvbXBpbGVyOjpDYWxsIGZ1bmN0aW9uQ2FsbCA9IGNhbGxPcGVy
YXRpb24ob3BlcmF0aW9uUHV0QnlWYWxCZXlvbmRBcnJheUJvdW5kcywgYmFzZVJlZywgcHJvcGVy
dHlSZWcsIHZhbHVlVGFnUmVnLCB2YWx1ZVBheWxvYWRSZWcpOworICAgICAgICBjYWxsT3BlcmF0
aW9uKG9wZXJhdGlvblB1dEJ5VmFsQmV5b25kQXJyYXlCb3VuZHMsIGJhc2VSZWcsIHByb3BlcnR5
UmVnLCB2YWx1ZVRhZ1JlZywgdmFsdWVQYXlsb2FkUmVnKTsKICAgICAgICAgc2lsZW50RmlsbEFs
bFJlZ2lzdGVycyhzY3JhdGNoUmVnKTsKICAgICAgICAgSklUQ29tcGlsZXI6Okp1bXAgd2FzQmV5
b25kQXJyYXlCb3VuZHMgPSBtX2ppdC5qdW1wKCk7CiAKQEAgLTI0OTMsNyArMjQ5Myw3IEBAIHZv
aWQgU3BlY3VsYXRpdmVKSVQ6OmNvbXBpbGUoTm9kZSYgbm9kZSkKIAogICAgICAgICBzdHJ1Y3R1
cmVzTm90TWF0Y2gubGluaygmbV9qaXQpOwogICAgICAgICBzaWxlbnRTcGlsbEFsbFJlZ2lzdGVy
cyhyZXN1bHRUYWdHUFIsIHJlc3VsdFBheWxvYWRHUFIpOwotICAgICAgICBKSVRDb21waWxlcjo6
Q2FsbCBmdW5jdGlvbkNhbGwgPSBjYWxsT3BlcmF0aW9uKG9wZXJhdGlvblJlc29sdmVHbG9iYWws
IHJlc3VsdFRhZ0dQUiwgcmVzdWx0UGF5bG9hZEdQUiwgcmVzb2x2ZUluZm9HUFIsICZtX2ppdC5j
b2RlQmxvY2soKS0+aWRlbnRpZmllcihkYXRhLmlkZW50aWZpZXJOdW1iZXIpKTsKKyAgICAgICAg
Y2FsbE9wZXJhdGlvbihvcGVyYXRpb25SZXNvbHZlR2xvYmFsLCByZXN1bHRUYWdHUFIsIHJlc3Vs
dFBheWxvYWRHUFIsIHJlc29sdmVJbmZvR1BSLCAmbV9qaXQuY29kZUJsb2NrKCktPmlkZW50aWZp
ZXIoZGF0YS5pZGVudGlmaWVyTnVtYmVyKSk7CiAgICAgICAgIHNpbGVudEZpbGxBbGxSZWdpc3Rl
cnMocmVzdWx0VGFnR1BSLCByZXN1bHRQYXlsb2FkR1BSKTsKIAogICAgICAgICB3YXNGYXN0Lmxp
bmsoJm1faml0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHU3Bl
Y3VsYXRpdmVKSVQ2NC5jcHAgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0
aXZlSklUNjQuY3BwCmluZGV4IDA0Yzk0OWEuLmY2OTgyNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHU3BlY3VsYXRpdmVKSVQ2NC5jcHAKKysrIGIvU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcApAQCAtMTU0OSw3ICsxNTQ5
LDcgQEAgdm9pZCBTcGVjdWxhdGl2ZUpJVDo6Y29tcGlsZShOb2RlJiBub2RlKQogCiAgICAgICAg
IC8vIENvZGUgdG8gaGFuZGxlIHB1dCBiZXlvbmQgYXJyYXkgYm91bmRzLgogICAgICAgICBzaWxl
bnRTcGlsbEFsbFJlZ2lzdGVycyhzY3JhdGNoUmVnKTsKLSAgICAgICAgSklUQ29tcGlsZXI6OkNh
bGwgZnVuY3Rpb25DYWxsID0gY2FsbE9wZXJhdGlvbihvcGVyYXRpb25QdXRCeVZhbEJleW9uZEFy
cmF5Qm91bmRzLCBiYXNlUmVnLCBwcm9wZXJ0eVJlZywgdmFsdWVSZWcpOworICAgICAgICBjYWxs
T3BlcmF0aW9uKG9wZXJhdGlvblB1dEJ5VmFsQmV5b25kQXJyYXlCb3VuZHMsIGJhc2VSZWcsIHBy
b3BlcnR5UmVnLCB2YWx1ZVJlZyk7CiAgICAgICAgIHNpbGVudEZpbGxBbGxSZWdpc3RlcnMoc2Ny
YXRjaFJlZyk7CiAgICAgICAgIEpJVENvbXBpbGVyOjpKdW1wIHdhc0JleW9uZEFycmF5Qm91bmRz
ID0gbV9qaXQuanVtcCgpOwogCkBAIC0yNDY4LDcgKzI0NjgsNyBAQCB2b2lkIFNwZWN1bGF0aXZl
SklUOjpjb21waWxlKE5vZGUmIG5vZGUpCiAgICAgICAgIEpJVENvbXBpbGVyOjpKdW1wIHN0cnVj
dHVyZXNNYXRjaCA9IG1faml0LmJyYW5jaFB0cihKSVRDb21waWxlcjo6RXF1YWwsIHJlc3VsdEdQ
UiwgSklUQ29tcGlsZXI6OkFkZHJlc3MoZ2xvYmFsT2JqZWN0R1BSLCBKU0NlbGw6OnN0cnVjdHVy
ZU9mZnNldCgpKSk7CiAKICAgICAgICAgc2lsZW50U3BpbGxBbGxSZWdpc3RlcnMocmVzdWx0R1BS
KTsKLSAgICAgICAgSklUQ29tcGlsZXI6OkNhbGwgZnVuY3Rpb25DYWxsID0gY2FsbE9wZXJhdGlv
bihvcGVyYXRpb25SZXNvbHZlR2xvYmFsLCByZXN1bHRHUFIsIHJlc29sdmVJbmZvR1BSLCAmbV9q
aXQuY29kZUJsb2NrKCktPmlkZW50aWZpZXIoZGF0YS5pZGVudGlmaWVyTnVtYmVyKSk7CisgICAg
ICAgIGNhbGxPcGVyYXRpb24ob3BlcmF0aW9uUmVzb2x2ZUdsb2JhbCwgcmVzdWx0R1BSLCByZXNv
bHZlSW5mb0dQUiwgJm1faml0LmNvZGVCbG9jaygpLT5pZGVudGlmaWVyKGRhdGEuaWRlbnRpZmll
ck51bWJlcikpOwogICAgICAgICBzaWxlbnRGaWxsQWxsUmVnaXN0ZXJzKHJlc3VsdEdQUik7CiAK
ICAgICAgICAgSklUQ29tcGlsZXI6Okp1bXAgd2FzU2xvdyA9IG1faml0Lmp1bXAoKTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114257</attachid>
            <date>2011-11-09 05:46:33 -0800</date>
            <delta_ts>2011-11-09 05:55:54 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71373-20111109144631.patch</filename>
            <type>text/plain</type>
            <size>2476</size>
            <attacher name="Andy Wingo">wingo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk2OTQKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGJl
ZDVkZjg3OTYwMjI3YzJjOGM0NzBmZDM0MmU4ZDI5ZWMyOTQ4OTcuLmM3ZDg3MTA4M2M1OGVhNTRm
ODc5MjdlOWUxNTViMjE4MTQ2YThjMTYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE0IEBACisyMDExLTExLTA5ICBBbmR5IFdpbmdvICA8d2luZ29AaWdhbGlhLmNvbT4KKwor
ICAgICAgICBFbmFibGUgdGhlIERGRyBKSVQgb24gWDg2LTY0IExpbnV4IHBsYXRmb3JtcworICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzEzNzMKKworICAg
ICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIHd0Zi9QbGF0Zm9y
bS5oIChFTkFCTEVfREZHX0pJVCk6IEVuYWJsZSB0aGUgREZHIEpJVCBvbiB0aGUKKyAgICAgICAg
eDg2LTY0IEdOVS9MaW51eCBwbGF0Zm9ybS4KKyAgICAgICAgKiBDTWFrZUxpc3RzRWZsLnR4dDog
QWRkIEpTVmFsdWU2NCBpbXBsZW1lbnRhdGlvbnMgdG8gRUZMIGJ1aWxkLgorCiAyMDExLTExLTA5
ICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5vcmc+CiAKICAgICAgICAgRW5hYmxl
IHRoZSBERkcgSklUIG9uIHg4Ni02NCBMaW51eCBwbGF0Zm9ybXMKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9DTWFrZUxpc3RzRWZsLnR4dCBiL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DTWFrZUxpc3RzRWZsLnR4dAppbmRleCBiNTdmOWM1ZWVhMGJmNmUyODMyODNmMTFlNjNmN2Vi
ZWFiY2I4MzI1Li4xMWRkM2FjODE2MGE1MGNjNDI4ZjY5MDE4NTY2ZjhhYjA2ZGJjMTdmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ01ha2VMaXN0c0VmbC50eHQKKysrIGIvU291
cmNlL0phdmFTY3JpcHRDb3JlL0NNYWtlTGlzdHNFZmwudHh0CkBAIC0yOSwxMyArMjksMTYgQEAg
TElTVChBUFBFTkQgSmF2YVNjcmlwdENvcmVfU09VUkNFUwogICAgIGRmZy9ERkdEcml2ZXIuY3Bw
CiAgICAgZGZnL0RGR0dyYXBoLmNwcAogICAgIGRmZy9ERkdKSVRDb2RlR2VuZXJhdG9yLmNwcAor
ICAgIGRmZy9ERkdKSVRDb2RlR2VuZXJhdG9yNjQuY3BwCiAgICAgZGZnL0RGR0pJVENvZGVHZW5l
cmF0b3IzMl82NC5jcHAKICAgICBkZmcvREZHSklUQ29tcGlsZXIuY3BwCiAgICAgZGZnL0RGR09w
ZXJhdGlvbnMuY3BwCiAgICAgZGZnL0RGR09TUkVudHJ5LmNwcAorICAgIGRmZy9ERkdPU1JFeGl0
Q29tcGlsZXI2NC5jcHAKICAgICBkZmcvREZHT1NSRXhpdENvbXBpbGVyMzJfNjQuY3BwCiAgICAg
ZGZnL0RGR1Byb3BhZ2F0b3IuY3BwCiAgICAgZGZnL0RGR1JlcGF0Y2guY3BwCiAgICAgZGZnL0RG
R1NwZWN1bGF0aXZlSklULmNwcAorICAgIGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAogICAg
IGRmZy9ERkdTcGVjdWxhdGl2ZUpJVDMyXzY0LmNwcAogKQpkaWZmIC0tZ2l0IGEvU291cmNlL0ph
dmFTY3JpcHRDb3JlL3d0Zi9QbGF0Zm9ybS5oIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL3d0Zi9Q
bGF0Zm9ybS5oCmluZGV4IGExOTRhZTgzZTFlM2MwMmY1ZmUwNDRhMTE4MWM0ZjA1YzA2N2U5Zjcu
LjU1M2RjNWU4YzM1NjljYjgwNmNiNTk1NGQ3YmMzZDVhMjhlNWU0ZTkgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9KYXZhU2NyaXB0Q29yZS93dGYvUGxhdGZvcm0uaAorKysgYi9Tb3VyY2UvSmF2YVNjcmlw
dENvcmUvd3RmL1BsYXRmb3JtLmgKQEAgLTg4MiwxMyArODgyLDEwIEBACiAjZGVmaW5lIEVOQUJM
RV9KSVQgMQogI2VuZGlmCiAKLS8qIEN1cnJlbnRseSBmb3IgSlNWQUxVRTY0LCBvbmx5IHRlc3Rl
ZCBvbiBQTEFURk9STShNQUMpICovCi0jaWYgIWRlZmluZWQoRU5BQkxFX0RGR19KSVQpICYmIEVO
QUJMRShKSVQpICYmIFVTRShKU1ZBTFVFNjQpICYmIFBMQVRGT1JNKE1BQykKLSNkZWZpbmUgRU5B
QkxFX0RGR19KSVQgMQotI2VuZGlmCi0KLS8qIEN1cnJlbnRseSBERkcgZm9yIFg4NiBhcmUgb25s
eSB0ZXN0ZWQgb24gTGludXggT1MgYW5kIE1hYyBQbGF0Zm9ybSAqLwotI2lmICFkZWZpbmVkKEVO
QUJMRV9ERkdfSklUKSAmJiBFTkFCTEUoSklUKSAmJiBDUFUoWDg2KSAmJiAoUExBVEZPUk0oTUFD
KSB8fCBPUyhMSU5VWCkpCisvKiBFbmFibGUgdGhlIERGRyBKSVQgb24gWDg2IGFuZCBYODZfNjQu
ICBPbmx5IHRlc3RlZCBvbiBNYWMgYW5kIEdOVS9MaW51eC4gICovCisjaWYgIWRlZmluZWQoRU5B
QkxFX0RGR19KSVQpICYmIEVOQUJMRShKSVQpIFwKKyAgICAmJiAoQ1BVKFg4NikgfHwgQ1BVKFg4
Nl82NCkpIFwKKyAgICAmJiAoUExBVEZPUk0oTUFDKSB8fCBPUyhMSU5VWCkpCiAjZGVmaW5lIEVO
QUJMRV9ERkdfSklUIDEKICNlbmRpZgogCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>