<?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>71801</bug_id>
          
          <creation_ts>2011-11-08 05:10:06 -0800</creation_ts>
          <short_desc>Benchmark using higher-precision timers</short_desc>
          <delta_ts>2022-02-27 23:23:38 -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>UNCONFIRMED</bug_status>
          <resolution></resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>0</everconfirmed>
          <reporter name="Andy Wingo">wingo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>barraclough</cc>
    
    <cc>eric</cc>
    
    <cc>fpizlo</cc>
    
    <cc>ggaren</cc>
    
    <cc>jamesr</cc>
    
    <cc>mjs</cc>
    
    <cc>oliver</cc>
    
    <cc>rniwa</cc>
    
    <cc>tonyg</cc>
    
    <cc>yuqiang.xian</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>497965</commentid>
    <comment_count>0</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-08 05:10:06 -0800</bug_when>
    <thetext>jsc.cpp&apos;s `run&apos; and `parseSyntax&apos; implementations return their elapsed type as an integral number of milliseconds.  This throws away a lot of information, given that we actually measure the elapsed time using platform-specific high-precision timers.

The patch to be attached changes `run&apos; and `parseSyntax&apos; to return the number of milliseconds as a floating-point number.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497967</commentid>
    <comment_count>1</comment_count>
      <attachid>114045</attachid>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-08 05:14:08 -0800</bug_when>
    <thetext>Created attachment 114045
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497968</commentid>
    <comment_count>2</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-08 05:14:22 -0800</bug_when>
    <thetext>Compared to before, where these routines measured integral milliseconds, this looks to be a huge lose.  However it is more accurate.

TEST                   COMPARISON            FROM                 TO             DETAILS

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

** TOTAL **:           *1.087x as slow*  162.2ms +/- 1.0%   176.2ms +/- 1.0%     significant

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

  3d:                  *1.091x as slow*   25.3ms +/- 5.2%    27.6ms +/- 5.7%     significant
    cube:              ??                 10.1ms +/- 12.7%    11.8ms +/- 13.6%     not conclusive: might be *1.164x as slow*
    morph:             *1.075x as slow*    7.2ms +/- 4.2%     7.7ms +/- 3.4%     significant
    raytrace:          *1.013x as slow*    8.0ms +/- 0.0%     8.1ms +/- 0.8%     significant

  access:              *1.076x as slow*   21.2ms +/- 2.1%    22.8ms +/- 1.2%     significant
    binary-trees:      *1.112x as slow*    2.0ms +/- 0.0%     2.2ms +/- 1.0%     significant
    fannkuch:          ??                 10.9ms +/- 2.1%    11.2ms +/- 2.5%     not conclusive: might be *1.026x as slow*
    nbody:             *1.115x as slow*    5.3ms +/- 6.5%     5.9ms +/- 1.1%     significant
    nsieve:            *1.162x as slow*    3.0ms +/- 0.0%     3.5ms +/- 2.6%     significant

  bitops:              *1.143x as slow*   14.3ms +/- 2.4%    16.3ms +/- 1.7%     significant
    3bit-bits-in-byte: *1.123x as slow*    2.0ms +/- 0.0%     2.2ms +/- 0.9%     significant
    bits-in-byte:      *1.101x as slow*    5.2ms +/- 5.8%     5.7ms +/- 3.6%     significant
    bitwise-and:       *1.102x as slow*    3.0ms +/- 0.0%     3.3ms +/- 2.4%     significant
    nsieve-bits:       *1.24x as slow*     4.1ms +/- 5.5%     5.1ms +/- 2.8%     significant

  controlflow:         *1.93x as slow*     1.0ms +/- 0.0%     1.9ms +/- 5.2%     significant
    recursive:         *1.93x as slow*     1.0ms +/- 0.0%     1.9ms +/- 5.2%     significant

  crypto:              *1.156x as slow*   10.1ms +/- 2.2%    11.7ms +/- 2.2%     significant
    aes:               *1.088x as slow*    6.0ms +/- 0.0%     6.5ms +/- 0.5%     significant
    md5:               *1.38x as slow*     2.1ms +/- 10.8%     2.9ms +/- 6.9%     significant
    sha1:              *1.131x as slow*    2.0ms +/- 0.0%     2.3ms +/- 1.6%     significant

  date:                *1.060x as slow*   18.1ms +/- 1.2%    19.2ms +/- 0.9%     significant
    format-tofte:      *1.039x as slow*   10.1ms +/- 2.2%    10.5ms +/- 1.2%     significant
    format-xparb:      *1.088x as slow*    8.0ms +/- 0.0%     8.7ms +/- 1.7%     significant

  math:                *1.095x as slow*   16.1ms +/- 1.4%    17.6ms +/- 1.0%     significant
    cordic:            *1.165x as slow*    5.1ms +/- 4.4%     5.9ms +/- 1.1%     significant
    partial-sums:      *1.041x as slow*    8.0ms +/- 0.0%     8.3ms +/- 1.7%     significant
    spectral-norm:     *1.120x as slow*    3.0ms +/- 0.0%     3.4ms +/- 3.1%     significant

  regexp:              *1.066x as slow*   12.3ms +/- 2.8%    13.1ms +/- 1.5%     significant
    dna:               *1.066x as slow*   12.3ms +/- 2.8%    13.1ms +/- 1.5%     significant

  string:              *1.049x as slow*   43.8ms +/- 1.0%    45.9ms +/- 0.7%     significant
    base64:            *1.080x as slow*    4.0ms +/- 0.0%     4.3ms +/- 4.2%     significant
    fasta:             *1.106x as slow*    6.2ms +/- 4.9%     6.9ms +/- 1.4%     significant
    tagcloud:          ??                 11.0ms +/- 0.0%    11.3ms +/- 3.2%     not conclusive: might be *1.028x as slow*
    unpack-code:       *1.024x as slow*   17.6ms +/- 2.1%    18.0ms +/- 0.6%     significant
    validate-input:    *1.086x as slow*    5.0ms +/- 0.0%     5.4ms +/- 2.0%     significant</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>497969</commentid>
    <comment_count>3</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-08 05:17:11 -0800</bug_when>
    <thetext>As you would expect, the effect on v8-v4 is much less:


TEST              COMPARISON            FROM                 TO             DETAILS

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

** TOTAL **:      *1.011x as slow*  1074.8ms +/- 0.6%   1087.0ms +/- 0.4%     significant

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

  v8:             *1.011x as slow*  1074.8ms +/- 0.6%   1087.0ms +/- 0.4%     significant
    crypto:       ??                 186.0ms +/- 1.3%    186.3ms +/- 0.7%     not conclusive: might be *1.002x as slow*
    deltablue:    *1.012x as slow*   255.7ms +/- 0.7%    258.7ms +/- 0.2%     significant
    earley-boyer: *1.011x as slow*   100.9ms +/- 0.7%    102.0ms +/- 0.6%     significant
    raytrace:     *1.019x as slow*    64.9ms +/- 1.0%     66.2ms +/- 0.3%     significant
    regexp:       ??                 111.4ms +/- 0.8%    113.6ms +/- 2.4%     not conclusive: might be *1.020x as slow*
    richards:     *1.013x as slow*   219.0ms +/- 0.6%    221.9ms +/- 0.6%     significant
    splay:        *1.010x as slow*   136.9ms +/- 0.4%    138.3ms +/- 0.3%     significant</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>498739</commentid>
    <comment_count>4</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-09 02:01:00 -0800</bug_when>
    <thetext>Adding JSC and SunSpider folk to the cc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499257</commentid>
    <comment_count>5</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-11-09 12:32:41 -0800</bug_when>
    <thetext>You could also use Tools/Scripts/bencher, which does the same thing.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>499267</commentid>
    <comment_count>6</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-11-09 12:40:12 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; Compared to before, where these routines measured integral milliseconds, this looks to be a huge lose.  However it is more accurate.
&gt; 
&gt; TEST                   COMPARISON            FROM                 TO             DETAILS
&gt; 
&gt; =============================================================================
&gt; 
&gt; ** TOTAL **:           *1.087x as slow*  162.2ms +/- 1.0%   176.2ms +/- 1.0%     significant

I&apos;d be fine with this patch except for this giant slow-down.  If you want this functionality, you should probably investigate what happened here.

Tools/Scripts/bencher uses our internal preciseTime() function, which returns an untruncated time.  So if you want more precise results, you could just use that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>506790</commentid>
    <comment_count>7</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-21 01:23:37 -0800</bug_when>
    <thetext>The &quot;slowdown&quot; is not a slowdown in actual fact; it simply reflects increased precision when measuring times.  Because the original sunspider harness measures integral milliseconds only, produced by truncating (not rounding) the double-precision time values, it is natural to expect that the higher-precision times indicate longer test runs.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>506796</commentid>
    <comment_count>8</comment_count>
      <attachid>116051</attachid>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-21 01:28:23 -0800</bug_when>
    <thetext>Created attachment 116051
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>506798</commentid>
    <comment_count>9</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-21 01:30:41 -0800</bug_when>
    <thetext>Updated the driver to use preciseTime() instead of jsc&apos;s run().  Note that this does change the default environment of the test code; `run&apos; uses a fresh global, whereas `load&apos; exposes the current global to the loaded code.  We do want `load&apos; behavior in the data case though, and having them unified makes a little more sense.

I promise I&apos;ll switch to bencher soon, just wanted to follow up with this ;-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>506806</commentid>
    <comment_count>10</comment_count>
      <attachid>116053</attachid>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-21 01:44:52 -0800</bug_when>
    <thetext>Created attachment 116053
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>506807</commentid>
    <comment_count>11</comment_count>
      <attachid>116053</attachid>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-21 01:45:26 -0800</bug_when>
    <thetext>Comment on attachment 116053
Patch

Fix log message, set cq?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508514</commentid>
    <comment_count>12</comment_count>
    <who name="Yuqiang Xian">yuqiang.xian</who>
    <bug_when>2011-11-23 17:17:37 -0800</bug_when>
    <thetext>Does it mean that the other JS engines (e.g., V8, Mozilla) also need to provide preciseTime() interface, if we want to run them using the scripts?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508524</commentid>
    <comment_count>13</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2011-11-23 17:32:38 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; Does it mean that the other JS engines (e.g., V8, Mozilla) also need to provide preciseTime() interface, if we want to run them using the scripts?

The approach taken by bencher is that it only uses preciseTime() if all VMs being tested provide it. 

I tend to think that the run() function and the Date API should be consistent across VMs, and especially with the Date API, it&apos;s unclear if we could make that more precise without breaking compliance.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>508713</commentid>
    <comment_count>14</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2011-11-24 04:34:05 -0800</bug_when>
    <thetext>(In reply to comment #12)
&gt; Does it mean that the other JS engines (e.g., V8, Mozilla) also need to provide preciseTime() interface, if we want to run them using the scripts?

This is a moot point, as our sunspider harness currently uses `run&apos;, which is not available on V8 at least.  Dunno about SpiderMonkey.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>524081</commentid>
    <comment_count>15</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2011-12-19 11:52:02 -0800</bug_when>
    <thetext>CCing other JSC experts who might be willing to review this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>533036</commentid>
    <comment_count>16</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2012-01-10 07:03:03 -0800</bug_when>
    <thetext>Filip, Geoff, Gavin: would someone care to review this please?  I think I adequately addressed the concerns (notably, that it&apos;s not an actual slowdown, and we&apos;re already using jsc-specific API).

Thanks,

Andy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>537747</commentid>
    <comment_count>17</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2012-01-18 03:07:51 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; Filip, Geoff, Gavin: would someone care to review this please?  I think I adequately addressed the concerns (notably, that it&apos;s not an actual slowdown, and we&apos;re already using jsc-specific API).

Kind ping :-)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553184</commentid>
    <comment_count>18</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2012-02-09 08:16:33 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; (In reply to comment #16)
&gt; &gt; Filip, Geoff, Gavin: would someone care to review this please?  I think I adequately addressed the concerns (notably, that it&apos;s not an actual slowdown, and we&apos;re already using jsc-specific API).
&gt; 
&gt; Kind ping :-)

Another kind ping :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553254</commentid>
    <comment_count>19</comment_count>
      <attachid>116053</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-09 10:08:31 -0800</bug_when>
    <thetext>Comment on attachment 116053
Patch

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

&gt; PerformanceTests/SunSpider/resources/sunspider-standalone-driver.js:-54
&gt; -            times[j] = run(testName);

Where did this line go?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553258</commentid>
    <comment_count>20</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-09 10:09:33 -0800</bug_when>
    <thetext>MJS has been the historical keeper of sunspider.  i woudl be happy to approve this if I was convinced there was no behavior change other than using a more precise timer.  Also, doesn&apos;t v8-builds use this file as well?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553919</commentid>
    <comment_count>21</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2012-02-10 00:56:49 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; (From update of attachment 116053 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=116053&amp;action=review
&gt; 
&gt; &gt; PerformanceTests/SunSpider/resources/sunspider-standalone-driver.js:-54
&gt; &gt; -            times[j] = run(testName);
&gt; 
&gt; Where did this line go?

It went away.  Instead we use preciseTime() before and after.

(In reply to comment #20)
&gt; MJS has been the historical keeper of sunspider.  i woudl be happy to approve this if I was convinced there was no behavior change other than using a more precise timer.  Also, doesn&apos;t v8-builds use this file as well?

V8 version 3.8.6 (candidate) [console: readline]
d8&gt; run
(d8):1: ReferenceError: run is not defined
run
^

So we are already using JSC-specific API here; I don&apos;t see how v8 builds could be running this file.

Regards,

Andy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>553957</commentid>
    <comment_count>22</comment_count>
    <who name="Tony Gentilcore">tonyg</who>
    <bug_when>2012-02-10 02:04:42 -0800</bug_when>
    <thetext>&gt; MJS has been the historical keeper of sunspider.
I&apos;d be really interested to hear his thoughts on this as well.

Please forgive the naive question, but I&apos;m wondering, does this affect what runs here: http://www.webkit.org/perf/sunspider-0.9.1/sunspider-0.9.1/driver.html ?

If so, don&apos;t we need to keep it cross browser compatible?

If not, are we concerned that the results used within the project are not comparable to the public ones? Should we maintain support for timing the same way as the public one? Should the results on rniwa&apos;s perf dashboard match internal or public?

Also worth noting there is talk in the public-web-perf group about adding a high-res monotonically increasing timer to the web platform -- likely as window.performance.now() -- see bug 66684.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>554006</commentid>
    <comment_count>23</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2012-02-10 03:58:37 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt;  does this affect what runs here: http://www.webkit.org/perf/sunspider-0.9.1/sunspider-0.9.1/driver.html ?

I don&apos;t think so, no -- those runs are &quot;hosted&quot;, whereas this change is to the &quot;standalone&quot; driver.

&gt; If not, are we concerned that the results used within the project are not comparable to the public ones?

Good question.  My thought is that while hosted and standalone timings should be similar, they have never been the same, for many good reasons.  I wouldn&apos;t worry about it -- especially if, as you note, a window.performance.now() lands.  But, Maciej&apos;s (and anyone else&apos;s) opinions are welcome here.

Cheers,

Andy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565535</commentid>
    <comment_count>24</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2012-02-27 03:07:05 -0800</bug_when>
    <thetext>Is anyone willing to review this patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>565652</commentid>
    <comment_count>25</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-02-27 08:04:13 -0800</bug_when>
    <thetext>(In reply to comment #24)
&gt; Is anyone willing to review this patch?

As Eric mentioned, Maciej is probably the only person who can review this patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567818</commentid>
    <comment_count>26</comment_count>
      <attachid>116053</attachid>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2012-02-29 12:20:59 -0800</bug_when>
    <thetext>Comment on attachment 116053
Patch

We sometimes use command-line SunSpider to compare to other JS engines. So making a JSC-specific change that materially alters the timings would be unfortunate. It&apos;s great that it is better precision, but it shows a ~9% hit that does not affect the other engines. Also, as written, it has no fallback path.

Therefore, I suggest making the new, more precise timing an optional mode explicitly invoked by a command-line argument to the script. This would allow the option of more precise measurements without losing the cross-engine comparison features of the old mode.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567838</commentid>
    <comment_count>27</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2012-02-29 12:47:10 -0800</bug_when>
    <thetext>Maciej!  Thank you for commenting.

(In reply to comment #26)
&gt; (From update of attachment 116053 [details])
&gt; We sometimes use command-line SunSpider to compare to other JS engines.

Evidently not very often :)

$ ./sunspider --shell ~/src/v8/d8
Found 26 tests
Running SunSpider once for warmup, then 10 times
Discarded first run.
[resources/sunspider-standalone-driver.js:54: ReferenceError: run is not defined
            times[j] = run(testName);
                       ^
ReferenceError: run is not defined

I mentioned this in comment 14.

Does this change your opinion on the matter?  Should we re-add a portable path?  The code has been non-portable since November 2010, with r72842.

Andy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567898</commentid>
    <comment_count>28</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-02-29 13:58:37 -0800</bug_when>
    <thetext>(In reply to comment #27)
&gt; Maciej!  Thank you for commenting.
&gt; 
&gt; (In reply to comment #26)
&gt; &gt; (From update of attachment 116053 [details] [details])
&gt; &gt; We sometimes use command-line SunSpider to compare to other JS engines.
&gt; 
&gt; Evidently not very often :)
&gt; 
&gt; $ ./sunspider --shell ~/src/v8/d8
&gt; Found 26 tests
&gt; Running SunSpider once for warmup, then 10 times
&gt; Discarded first run.
&gt; [resources/sunspider-standalone-driver.js:54: ReferenceError: run is not defined
&gt;             times[j] = run(testName);
&gt;                        ^
&gt; ReferenceError: run is not defined
&gt; 
&gt; I mentioned this in comment 14.
&gt; 
&gt; Does this change your opinion on the matter?  Should we re-add a portable path?  The code has been non-portable since November 2010, with r72842.

Another way to look at Maciej&apos;s comments is that with this change, it would be very difficult to compare old versions of jsc to new ones.

I do this all the time, so this change would be a showstopper for me.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567908</commentid>
    <comment_count>29</comment_count>
    <who name="Andy Wingo">wingo</who>
    <bug_when>2012-02-29 14:07:11 -0800</bug_when>
    <thetext>Hi Filip :)

(In reply to comment #28)
&gt; Another way to look at Maciej&apos;s comments is that with this change, it would be very difficult to compare old versions of jsc to new ones.

I certainly do not mean to disrespect the voice of experience :)  However, I wonder if I am communicating clearly: this patch does /not/ change the behavior of `run&apos; in jsc.cpp; it instead changes the sunspider harness to use preciseTime, which is present in very old jsc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567922</commentid>
    <comment_count>30</comment_count>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2012-02-29 14:13:04 -0800</bug_when>
    <thetext>It looks like Filip added preciseTime:
http://trac.webkit.org/changeset/91817</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567963</commentid>
    <comment_count>31</comment_count>
    <who name="Ryosuke Niwa">rniwa</who>
    <bug_when>2012-02-29 14:40:59 -0800</bug_when>
    <thetext>I support Maicej&apos;s point that we shouldn&apos;t make this change unless it&apos;s optional. And yes, we should be fixing those exceptions so that it runs on all major browsers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>567975</commentid>
    <comment_count>32</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2012-02-29 14:51:31 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; Hi Filip :)
&gt; 
&gt; (In reply to comment #28)
&gt; &gt; Another way to look at Maciej&apos;s comments is that with this change, it would be very difficult to compare old versions of jsc to new ones.
&gt; 
&gt; I certainly do not mean to disrespect the voice of experience :)  However, I wonder if I am communicating clearly: this patch does /not/ change the behavior of `run&apos; in jsc.cpp; it instead changes the sunspider harness to use preciseTime, which is present in very old jsc.

And I like to compare to very old jsc.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>114045</attachid>
            <date>2011-11-08 05:14:08 -0800</date>
            <delta_ts>2011-11-21 01:28:14 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71801-20111108141407.patch</filename>
            <type>text/plain</type>
            <size>1680</size>
            <attacher name="Andy Wingo">wingo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogOTk1NDAKZGlmZiAtLWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0
Q29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCmluZGV4IGU2
YWVjNTM4NmM2YTdjNGFjY2U0YWNjMDdmY2ZkYTExMmVkMmFmYjUuLjg3MWI0ZTNiNzA4ZmZjMjRj
Yjk3ZmNmNzQ0MTQ5ODQ5ZGI5ODkxYzggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwpAQCAtMSwz
ICsxLDE1IEBACisyMDExLTExLTA4ICBBbmR5IFdpbmdvICA8d2luZ29AaWdhbGlhLmNvbT4KKwor
ICAgICAgICBCZW5jaG1hcmsgdXNpbmcgaGlnaGVyLXByZWNpc2lvbiB0aW1lcnMKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTcxODAxCisKKyAgICAgICAg
VGhpcyBzaG93cyB1cCBvbiBTdW5TcGlkZXIgYXMgYSBodWdlIGxvc2UsIGJlY2F1c2Ugd2UgYXJl
IGNvdW50aW5nCisgICAgICAgIGZyYWN0aW9ucyBvZiBtaWxsaXNlY29uZHMgdGhhdCB3ZXJlIG5v
dCBiZWluZyBjb3VudGVkIGJlZm9yZS4KKyAgICAgICAgSG93ZXZlciBpdCBpcyB0aGUgcmlnaHQg
dGhpbmcgdG8gZG8uCisKKyAgICAgICAgKiBqc2MuY3BwIChTdG9wV2F0Y2g6OmdldEVsYXBzZWRN
Uyk6IERvbid0IHRydW5jYXRlIHRoZSBudW1iZXIgb2YKKyAgICAgICAgbWlsbGlzZWNvbmRzIHRv
IGFuIGludGVncmFsIHZhbHVlLgorCiAyMDExLTExLTA4ICBZdXFpYW5nIFhpYW4gIDx5dXFpYW5n
LnhpYW5AaW50ZWwuY29tPgogCiAgICAgICAgIERGRyAzMl82NCAtIHVwZGF0ZSBtYWtlIGxpc3Rz
IGZvciBlZmwsIGd0aywgYW5kIFF0IHBvcnRzIHdpdGggREZHIGNoYW5nZSByOTk1MTkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwIGIvU291cmNlL0phdmFTY3JpcHRD
b3JlL2pzYy5jcHAKaW5kZXggZmMwYzU2MDkwMmIzNmU4ZjhiOWZmNTkwOTA0MGYzYmMxOTc3MzJj
MS4uNzY3YzdiYjZiOGIyZjc5YmQzZWUwNDgxZDY0YzgzOGYzZTU0NTlkNCAxMDA2NDQKLS0tIGEv
U291cmNlL0phdmFTY3JpcHRDb3JlL2pzYy5jcHAKKysrIGIvU291cmNlL0phdmFTY3JpcHRDb3Jl
L2pzYy5jcHAKQEAgLTEyMSw3ICsxMjEsNyBAQCBjbGFzcyBTdG9wV2F0Y2ggewogcHVibGljOgog
ICAgIHZvaWQgc3RhcnQoKTsKICAgICB2b2lkIHN0b3AoKTsKLSAgICBsb25nIGdldEVsYXBzZWRN
UygpOyAvLyBjYWxsIHN0b3AoKSBmaXJzdAorICAgIGRvdWJsZSBnZXRFbGFwc2VkTVMoKTsgLy8g
Y2FsbCBzdG9wKCkgZmlyc3QKIAogcHJpdmF0ZToKICAgICBkb3VibGUgbV9zdGFydFRpbWU7CkBA
IC0xMzgsOSArMTM4LDkgQEAgdm9pZCBTdG9wV2F0Y2g6OnN0b3AoKQogICAgIG1fc3RvcFRpbWUg
PSBjdXJyZW50VGltZSgpOwogfQogCi1sb25nIFN0b3BXYXRjaDo6Z2V0RWxhcHNlZE1TKCkKK2Rv
dWJsZSBTdG9wV2F0Y2g6OmdldEVsYXBzZWRNUygpCiB7Ci0gICAgcmV0dXJuIHN0YXRpY19jYXN0
PGxvbmc+KChtX3N0b3BUaW1lIC0gbV9zdGFydFRpbWUpICogMTAwMCk7CisgICAgcmV0dXJuICht
X3N0b3BUaW1lIC0gbV9zdGFydFRpbWUpICogMTAwMDsKIH0KIAogY2xhc3MgR2xvYmFsT2JqZWN0
IDogcHVibGljIEpTR2xvYmFsT2JqZWN0IHsK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116051</attachid>
            <date>2011-11-21 01:28:23 -0800</date>
            <delta_ts>2011-11-21 01:44:43 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71801-20111121102821.patch</filename>
            <type>text/plain</type>
            <size>2252</size>
            <attacher name="Andy Wingo">wingo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwODg4CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L1N1blNwaWRlci9DaGFuZ2VMb2cgYi9QZXJmb3JtYW5jZVRlc3RzL1N1blNwaWRlci9DaGFuZ2VM
b2cKaW5kZXggZDg1MzQ4ZWZlN2FhMWI4MmU3YjI5YWQwYTllZWU2Yzk0NTY5NzhkNC4uZDVjMDBl
YzFlMTNmM2MzZDk0NjRmMjRhN2ZlOWNkN2E3MTExMjcyZCAxMDA2NDQKLS0tIGEvUGVyZm9ybWFu
Y2VUZXN0cy9TdW5TcGlkZXIvQ2hhbmdlTG9nCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU3VuU3Bp
ZGVyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTExLTIxICBBbmR5IFdpbmdvICA8
d2luZ29AaWdhbGlhLmNvbT4KKworICAgICAgICBCZW5jaG1hcmsgdXNpbmcgaGlnaGVyLXByZWNp
c2lvbiB0aW1lcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcxODAxCisKKyAgICAgICAgVGhpcyBzaG93cyB1cCBvbiBTdW5TcGlkZXIgYXMgYSBodWdl
IGxvc2UsIGJlY2F1c2Ugd2UgYXJlIGNvdW50aW5nCisgICAgICAgIGZyYWN0aW9ucyBvZiBtaWxs
aXNlY29uZHMgdGhhdCB3ZXJlIHRydW5jYXRlZCBvZmYgY291bnRlZCBiZWZvcmUuCisgICAgICAg
IEl0IGlzIG5vdCBhbiBhY3R1YWwgc2xvd2Rvd24sIHRob3VnaC4KKworICAgICAgICAqIHJlc291
cmNlcy9zdW5zcGlkZXItc3RhbmRhbG9uZS1kcml2ZXIuanM6IFVzZSBwcmVjaXNlVGltZSgpIGFu
ZAorICAgICAgICBsb2FkKCkgaW5zdGVhZCBvZiBydW4oKS4KKwogMjAxMS0xMS0xNSAgQW5keSBX
aW5nbyAgPHdpbmdvQGlnYWxpYS5jb20+CiAKICAgICAgICAgRXh0ZW5kIHN1bnNwaWRlciBkcml2
ZXIgdG8gYmUgYWJsZSB0byBydW4ga3Jha2VuCmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L1N1blNwaWRlci9yZXNvdXJjZXMvc3Vuc3BpZGVyLXN0YW5kYWxvbmUtZHJpdmVyLmpzIGIvUGVy
Zm9ybWFuY2VUZXN0cy9TdW5TcGlkZXIvcmVzb3VyY2VzL3N1bnNwaWRlci1zdGFuZGFsb25lLWRy
aXZlci5qcwppbmRleCBlNjY4NmYxZjYzODU2YjFjNDVlNTQxYzNkOWZjYTM5MmU0YzRlNzdkLi4y
ZDg0ZDZiZGJkYjgzNmExYjllN2MxZDg2MWI2MzUwMjcxMTVhZTcwIDEwMDY0NAotLS0gYS9QZXJm
b3JtYW5jZVRlc3RzL1N1blNwaWRlci9yZXNvdXJjZXMvc3Vuc3BpZGVyLXN0YW5kYWxvbmUtZHJp
dmVyLmpzCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU3VuU3BpZGVyL3Jlc291cmNlcy9zdW5zcGlk
ZXItc3RhbmRhbG9uZS1kcml2ZXIuanMKQEAgLTQxLDE4ICs0MSwxMyBAQCBmb3IgKHZhciBqID0g
MDsgaiA8IHRlc3RzLmxlbmd0aDsgaisrKSB7CiAgICAgfSBlbHNlIHsKICAgICAgICAgLy8gVGVz
dHMgbWF5IG9yIG1heSBub3QgaGF2ZSBhc3NvY2lhdGVkIC1kYXRhIGZpbGVzIHdob3NlIGxvYWRp
bmcKICAgICAgICAgLy8gc2hvdWxkIG5vdCBiZSB0aW1lZC4KLSAgICAgICAgdHJ5IHsKLSAgICAg
ICAgICAgIGxvYWQodGVzdERhdGEpOwotICAgICAgICAgICAgLy8gSWYgYSBmaWxlIGRvZXMgaGF2
ZSB0ZXN0IGRhdGEsIHRoZW4gd2UgY2FuJ3QgdXNlIHRoZQotICAgICAgICAgICAgLy8gaGlnaGVy
LXByZWNpc2lvbiBgcnVuJyB0aW1lciwgYmVjYXVzZSBgcnVuJyB1c2VzIGEgZnJlc2gKLSAgICAg
ICAgICAgIC8vIGdsb2JhbCBlbnZpcm9ubWVudCwgc28gd2UgZmFsbCBiYWNrIHRvIGBsb2FkJy4K
LSAgICAgICAgICAgIHZhciBzdGFydFRpbWUgPSBuZXcgRGF0ZTsKLSAgICAgICAgICAgIGxvYWQo
dGVzdE5hbWUpOwotICAgICAgICAgICAgdGltZXNbal0gPSBuZXcgRGF0ZSgpIC0gc3RhcnRUaW1l
OwotICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICAvLyBObyB0ZXN0IGRhdGEsIGp1
c3QgdXNlIGBydW4nLgotICAgICAgICAgICAgdGltZXNbal0gPSBydW4odGVzdE5hbWUpOwotICAg
ICAgICB9CisgICAgICAgIHRyeSB7IGxvYWQodGVzdERhdGEpOyB9IGNhdGNoIChlKSB7IH0KKwor
ICAgICAgICAvLyBVc2UgSlNDLXNwZWNpZmljIHByZWNpc2VUaW1lKCksIHdoaWNoIHJldHVybnMg
YSB0aW1lIGluIHNlY29uZHMKKyAgICAgICAgLy8gYXMgYSBmbG9hdGluZy1wb2ludCBudW1iZXIu
CisgICAgICAgIHZhciBzdGFydFRpbWUgPSBwcmVjaXNlVGltZSgpOworICAgICAgICBsb2FkKHRl
c3ROYW1lKTsKKyAgICAgICAgdGltZXNbal0gPSAocHJlY2lzZVRpbWUoKSAtIHN0YXJ0VGltZSkg
KiAxMDAwOwogICAgIH0KICAgICBnYygpOwogfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>116053</attachid>
            <date>2011-11-21 01:44:52 -0800</date>
            <delta_ts>2022-02-27 23:23:38 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-71801-20111121104450.patch</filename>
            <type>text/plain</type>
            <size>2244</size>
            <attacher name="Andy Wingo">wingo</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAwODg4CmRpZmYgLS1naXQgYS9QZXJmb3JtYW5jZVRlc3Rz
L1N1blNwaWRlci9DaGFuZ2VMb2cgYi9QZXJmb3JtYW5jZVRlc3RzL1N1blNwaWRlci9DaGFuZ2VM
b2cKaW5kZXggZDg1MzQ4ZWZlN2FhMWI4MmU3YjI5YWQwYTllZWU2Yzk0NTY5NzhkNC4uYTU4MmJi
N2YwYTFmY2ViMWU1NGYyNGFlOGRhZGZkYzZiZDMyYjVlYiAxMDA2NDQKLS0tIGEvUGVyZm9ybWFu
Y2VUZXN0cy9TdW5TcGlkZXIvQ2hhbmdlTG9nCisrKyBiL1BlcmZvcm1hbmNlVGVzdHMvU3VuU3Bp
ZGVyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDExLTExLTIxICBBbmR5IFdpbmdvICA8
d2luZ29AaWdhbGlhLmNvbT4KKworICAgICAgICBCZW5jaG1hcmsgdXNpbmcgaGlnaGVyLXByZWNp
c2lvbiB0aW1lcnMKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTcxODAxCisKKyAgICAgICAgVGhpcyBzaG93cyB1cCBvbiBTdW5TcGlkZXIgYXMgYSBodWdl
IGxvc2UsIGJlY2F1c2Ugd2UgYXJlIGNvdW50aW5nCisgICAgICAgIGZyYWN0aW9ucyBvZiBtaWxs
aXNlY29uZHMgdGhhdCB3ZXJlIHRydW5jYXRlZCBvZmYgYmVmb3JlLgorICAgICAgICBJdCBpcyBu
b3QgYW4gYWN0dWFsIHNsb3dkb3duLCB0aG91Z2guCisKKyAgICAgICAgKiByZXNvdXJjZXMvc3Vu
c3BpZGVyLXN0YW5kYWxvbmUtZHJpdmVyLmpzOiBVc2UgcHJlY2lzZVRpbWUoKSBhbmQKKyAgICAg
ICAgbG9hZCgpIGluc3RlYWQgb2YgcnVuKCkuCisKIDIwMTEtMTEtMTUgIEFuZHkgV2luZ28gIDx3
aW5nb0BpZ2FsaWEuY29tPgogCiAgICAgICAgIEV4dGVuZCBzdW5zcGlkZXIgZHJpdmVyIHRvIGJl
IGFibGUgdG8gcnVuIGtyYWtlbgpkaWZmIC0tZ2l0IGEvUGVyZm9ybWFuY2VUZXN0cy9TdW5TcGlk
ZXIvcmVzb3VyY2VzL3N1bnNwaWRlci1zdGFuZGFsb25lLWRyaXZlci5qcyBiL1BlcmZvcm1hbmNl
VGVzdHMvU3VuU3BpZGVyL3Jlc291cmNlcy9zdW5zcGlkZXItc3RhbmRhbG9uZS1kcml2ZXIuanMK
aW5kZXggZTY2ODZmMWY2Mzg1NmIxYzQ1ZTU0MWMzZDlmY2EzOTJlNGM0ZTc3ZC4uMmQ4NGQ2YmRi
ZGI4MzZhMWI5ZTdjMWQ4NjFiNjM1MDI3MTE1YWU3MCAxMDA2NDQKLS0tIGEvUGVyZm9ybWFuY2VU
ZXN0cy9TdW5TcGlkZXIvcmVzb3VyY2VzL3N1bnNwaWRlci1zdGFuZGFsb25lLWRyaXZlci5qcwor
KysgYi9QZXJmb3JtYW5jZVRlc3RzL1N1blNwaWRlci9yZXNvdXJjZXMvc3Vuc3BpZGVyLXN0YW5k
YWxvbmUtZHJpdmVyLmpzCkBAIC00MSwxOCArNDEsMTMgQEAgZm9yICh2YXIgaiA9IDA7IGogPCB0
ZXN0cy5sZW5ndGg7IGorKykgewogICAgIH0gZWxzZSB7CiAgICAgICAgIC8vIFRlc3RzIG1heSBv
ciBtYXkgbm90IGhhdmUgYXNzb2NpYXRlZCAtZGF0YSBmaWxlcyB3aG9zZSBsb2FkaW5nCiAgICAg
ICAgIC8vIHNob3VsZCBub3QgYmUgdGltZWQuCi0gICAgICAgIHRyeSB7Ci0gICAgICAgICAgICBs
b2FkKHRlc3REYXRhKTsKLSAgICAgICAgICAgIC8vIElmIGEgZmlsZSBkb2VzIGhhdmUgdGVzdCBk
YXRhLCB0aGVuIHdlIGNhbid0IHVzZSB0aGUKLSAgICAgICAgICAgIC8vIGhpZ2hlci1wcmVjaXNp
b24gYHJ1bicgdGltZXIsIGJlY2F1c2UgYHJ1bicgdXNlcyBhIGZyZXNoCi0gICAgICAgICAgICAv
LyBnbG9iYWwgZW52aXJvbm1lbnQsIHNvIHdlIGZhbGwgYmFjayB0byBgbG9hZCcuCi0gICAgICAg
ICAgICB2YXIgc3RhcnRUaW1lID0gbmV3IERhdGU7Ci0gICAgICAgICAgICBsb2FkKHRlc3ROYW1l
KTsKLSAgICAgICAgICAgIHRpbWVzW2pdID0gbmV3IERhdGUoKSAtIHN0YXJ0VGltZTsKLSAgICAg
ICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgLy8gTm8gdGVzdCBkYXRhLCBqdXN0IHVzZSBg
cnVuJy4KLSAgICAgICAgICAgIHRpbWVzW2pdID0gcnVuKHRlc3ROYW1lKTsKLSAgICAgICAgfQor
ICAgICAgICB0cnkgeyBsb2FkKHRlc3REYXRhKTsgfSBjYXRjaCAoZSkgeyB9CisKKyAgICAgICAg
Ly8gVXNlIEpTQy1zcGVjaWZpYyBwcmVjaXNlVGltZSgpLCB3aGljaCByZXR1cm5zIGEgdGltZSBp
biBzZWNvbmRzCisgICAgICAgIC8vIGFzIGEgZmxvYXRpbmctcG9pbnQgbnVtYmVyLgorICAgICAg
ICB2YXIgc3RhcnRUaW1lID0gcHJlY2lzZVRpbWUoKTsKKyAgICAgICAgbG9hZCh0ZXN0TmFtZSk7
CisgICAgICAgIHRpbWVzW2pdID0gKHByZWNpc2VUaW1lKCkgLSBzdGFydFRpbWUpICogMTAwMDsK
ICAgICB9CiAgICAgZ2MoKTsKIH0K
</data>
<flag name="review"
          id="115111"
          type_id="1"
          status="-"
          setter="mjs"
    />
          </attachment>
      

    </bug>

</bugzilla>