[webkit-reviews] review requested: [Bug 64582] JSC JIT does not inline GC allocation fast paths : [Attachment 100924] the patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jul 14 20:47:41 PDT 2011


Filip Pizlo <fpizlo at apple.com> has asked  for review:
Bug 64582: JSC JIT does not inline GC allocation fast paths
https://bugs.webkit.org/show_bug.cgi?id=64582

Attachment 100924: the patch
https://bugs.webkit.org/attachment.cgi?id=100924&action=review

------- Additional Comments from Filip Pizlo <fpizlo at apple.com>
This patch works gives a 1.3% speed-up on V8, and is neutral on SunSpider.

I've lived on it for a day or so, and it seems to work.  It passes all tests. 
But I'm not sure if I'm handling global objects (for initializing the structure
in op_new_object) correctly, so I'd appreciate some feedback on that! 
Separately I tested the speed-up of op_new_object in isolation, and it wasn't
much (statistically significant but fraction of a percent); it definitely
appears that op_create_this is doing most of the work.


[pizlo at minime PerformanceTests] ../Tools/Scripts/sunspider-compare-results --v8
v8-v4-results/sunspider-results-2011-07-14-20.03.02.js
/Volumes/Data/pizlo/quinary/OpenSource/PerformanceTests/SunSpider/v8-v4-results
/sunspider-results-2011-07-14-20.00.09.js


TEST		  COMPARISON		FROM		     TO 	   
DETAILS

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

** TOTAL **:	  1.013x as fast    1166.2ms +/- 0.3%	1150.7ms +/- 0.3%    
significant

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

  v8:		  1.013x as fast    1166.2ms +/- 0.3%	1150.7ms +/- 0.3%    
significant
    crypto:	  1.016x as fast     194.6ms +/- 0.6%	 191.6ms +/- 0.4%    
significant
    deltablue:	  1.014x as fast     240.7ms +/- 0.8%	 237.4ms +/- 0.5%    
significant
    earley-boyer: 1.028x as fast     129.7ms +/- 0.3%	 126.2ms +/- 0.4%    
significant
    raytrace:	  1.050x as fast      73.8ms +/- 0.8%	  70.3ms +/- 1.4%    
significant
    regexp:	  ??		     105.9ms +/- 0.6%	 106.2ms +/- 0.4%    
not conclusive: might be *1.003x as slow*
    richards:	  -		     223.8ms +/- 0.6%	 223.8ms +/- 0.9% 
    splay:	  1.013x as fast     197.7ms +/- 0.5%	 195.2ms +/- 0.9%    
significant



[pizlo at minime PerformanceTests] ../Tools/Scripts/sunspider-compare-results
sunspider-1.0-results/sunspider-results-2011-07-14-20.04.12.js
/Volumes/Data/pizlo/quinary/OpenSource/PerformanceTests/SunSpider/sunspider-1.0
-results/sunspider-results-2011-07-14-20.04.56.js


TEST		       COMPARISON	     FROM		  TO	       
 DETAILS

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

** TOTAL **:	       -		 174.4ms +/- 0.3%   173.9ms +/- 0.4% 

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

  3d:		       -		  25.2ms +/- 1.0%    25.1ms +/- 0.9% 
    cube:	       ??		   8.9ms +/- 1.0%     9.0ms +/- 0.8%   
 not conclusive: might be *1.009x as slow*
    morph:	       -		   7.3ms +/- 3.3%     7.1ms +/- 1.4% 
    raytrace:	       ??		   9.0ms +/- 0.0%     9.0ms +/- 0.9%   
 not conclusive: might be *1.004x as slow*

  access:	       -		  22.1ms +/- 0.4%    22.1ms +/- 0.5% 
    binary-trees:      ??		   2.0ms +/- 2.0%     2.0ms +/- 2.8%   
 not conclusive: might be *1.010x as slow*
    fannkuch:	       -		  11.1ms +/- 0.8%    11.1ms +/- 0.6% 
    nbody:	       -		   6.0ms +/- 0.0%     6.0ms +/- 0.0% 
    nsieve:	       ??		   3.0ms +/- 0.0%     3.0ms +/- 1.3%   
 not conclusive: might be *1.007x as slow*

  bitops:	       ??		  15.4ms +/- 1.2%    15.5ms +/- 1.0%   
 not conclusive: might be *1.006x as slow*
    3bit-bits-in-byte: -		   2.0ms +/- 0.0%     2.0ms +/- 0.0% 
    bits-in-byte:      ??		   5.4ms +/- 2.6%     5.5ms +/- 2.6%   
 not conclusive: might be *1.019x as slow*
    bitwise-and:       -		   3.1ms +/- 2.5%     3.0ms +/- 1.9% 
    nsieve-bits:       ??		   5.0ms +/- 1.1%     5.0ms +/- 0.0%   
 not conclusive: might be *1.008x as slow*

  controlflow:	       ??		   1.1ms +/- 6.4%     1.1ms +/- 7.8%   
 not conclusive: might be *1.038x as slow*
    recursive:	       ??		   1.1ms +/- 6.4%     1.1ms +/- 7.8%   
 not conclusive: might be *1.038x as slow*

  crypto:	       -		  11.0ms +/- 0.5%    10.9ms +/- 1.1% 
    aes:	       1.017x as fast	   7.0ms +/- 0.6%     6.9ms +/- 1.5%   
 significant
    md5:	       ??		   2.0ms +/- 2.0%     2.0ms +/- 2.8%   
 not conclusive: might be *1.010x as slow*
    sha1:	       -		   2.0ms +/- 0.0%     2.0ms +/- 0.0% 

  date: 	       1.020x as fast	  21.9ms +/- 0.6%    21.5ms +/- 0.9%   
 significant
    format-tofte:      1.036x as fast	  13.8ms +/- 0.9%    13.4ms +/- 1.0%   
 significant
    format-xparb:      ??		   8.0ms +/- 0.7%     8.1ms +/- 1.1%   
 not conclusive: might be *1.007x as slow*

  math: 	       -		  16.0ms +/- 0.0%    16.0ms +/- 0.0% 
    cordic:	       -		   6.0ms +/- 0.0%     6.0ms +/- 0.0% 
    partial-sums:      -		   7.0ms +/- 0.0%     7.0ms +/- 0.0% 
    spectral-norm:     -		   3.0ms +/- 0.0%     3.0ms +/- 0.0% 

  regexp:	       ??		  10.0ms +/- 0.0%    10.0ms +/- 0.4%   
 not conclusive: might be *1.002x as slow*
    dna:	       ??		  10.0ms +/- 0.0%    10.0ms +/- 0.4%   
 not conclusive: might be *1.002x as slow*

  string:	       -		  51.7ms +/- 0.4%    51.6ms +/- 0.9% 
    base64:	       1.062x as fast	   5.5ms +/- 2.6%     5.2ms +/- 2.0%   
 significant
    fasta:	       1.036x as fast	   7.0ms +/- 0.6%     6.7ms +/- 1.9%   
 significant
    tagcloud:	       ??		  13.0ms +/- 0.3%    13.0ms +/- 0.4%   
 not conclusive: might be *1.002x as slow*
    unpack-code:       *1.021x as slow*   20.2ms +/- 0.5%    20.6ms +/- 1.2%   
 significant
    validate-input:    ??		   6.1ms +/- 1.4%     6.1ms +/- 1.5%   
 not conclusive: might be *1.003x as slow*
[pizlo at minime PerformanceTests]


More information about the webkit-reviews mailing list