[webkit-reviews] review requested: [Bug 74908] Temporary GPR should not be lazily allocated in DFG JIT on X86 : [Attachment 119991] the patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Mon Dec 19 23:13:19 PST 2011


Yuqiang Xian <yuqiang.xian at intel.com> has asked  for review:
Bug 74908: Temporary GPR should not be lazily allocated in DFG JIT on X86
https://bugs.webkit.org/show_bug.cgi?id=74908

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

------- Additional Comments from Yuqiang Xian <yuqiang.xian at intel.com>
Found the performance root cause and updated the patch.

The new performance result is:

Benchmark report for SunSpider, V8, and Kraken on \c.

VMs tested:
"ToT" at
/home/yxian/WebKit_orig/WebKitBuild/Release/Source/JavaScriptCore/shell/jsc_efl

"74908" at
/mnt/supplement/WebKit/WebKitBuild/Release_efl/Source/JavaScriptCore/shell/jsc_
efl

Collected 12 samples per benchmark/VM, with 4 VM invocations per benchmark.
Emitted a call to gc() between sample
measurements. Used 1 benchmark iteration per VM invocation for warm-up. Used
the jsc-specific preciseTime()
function to get microsecond-level timing. Reporting benchmark execution times
with 95% confidence intervals in
milliseconds.

					       ToT		      74908
SunSpider:
   3d-cube				  7.4440+-0.0813    ?	 
7.4742+-0.0635	     ?
   3d-morph				 10.3584+-0.0856    ?	
10.3893+-0.0923       ?
   3d-raytrace				  9.6399+-0.1474    ?	 
9.7055+-0.1280	     ?
   access-binary-trees			  1.8435+-0.0381    ?	 
1.8930+-0.0779	     ? might be 1.0269x slower
   access-fannkuch			 10.5576+-0.0693    ?	
10.5681+-0.0450       ?
   access-nbody 			  5.4380+-0.0805	 
5.3877+-0.0474
   access-nsieve			  3.7275+-0.0526	 
3.7014+-0.0445
   bitops-3bit-bits-in-byte		  1.1854+-0.0383	 
1.1732+-0.0324	       might be 1.0104x faster
   bitops-bits-in-byte			  4.6396+-0.0472	 
4.6245+-0.0620
   bitops-bitwise-and			  4.2584+-0.0474	 
4.2339+-0.0436
   bitops-nsieve-bits			  6.7512+-0.0879	 
6.7050+-0.0850
   controlflow-recursive		  3.2853+-0.5479	 
2.8959+-0.0633	       might be 1.1344x faster
   crypto-aes				 10.5296+-0.0667	
10.5109+-0.0734
   crypto-md5				  3.6452+-0.0310    ?	 
3.6682+-0.0425	     ?
   crypto-sha1				  3.0064+-0.0570	 
2.9904+-0.0770
   date-format-tofte			 11.7823+-0.1143	
11.7537+-0.0900
   date-format-xparb			 11.0766+-0.1094    ?	
11.4662+-0.4110       ? might be 1.0352x slower
   math-cordic				  9.2163+-0.0833    ?	 
9.2179+-0.0949	     ?
   math-partial-sums			 13.9619+-0.0751    ?	
13.9655+-0.0788       ?
   math-spectral-norm			  2.6618+-0.0692	 
2.6456+-0.0585
   regexp-dna				  9.2515+-0.1169	 
9.1970+-0.1043
   string-base64			  5.3948+-0.0629    ?	 
5.3971+-0.0619	     ?
   string-fasta 			  9.6174+-0.0744    ?	 
9.6770+-0.0797	     ?
   string-tagcloud			 15.7726+-0.0843	
15.6713+-0.0877
   string-unpack-code			 24.6931+-0.0797	
24.6056+-0.0981
   string-validate-input		  7.2508+-0.0784	 
7.2343+-0.0573

   <arithmetic> *			  7.9611+-0.0386	 
7.9520+-0.0259	       might be 1.0011x faster
   <geometric>				  6.4309+-0.0476	 
6.4081+-0.0254	       might be 1.0036x faster
   <harmonic>				  4.9437+-0.0469	 
4.9163+-0.0264	       might be 1.0056x faster

					       ToT		      74908
V8:
   crypto				 97.3909+-0.3260    ?	
97.5333+-0.3836       ?
   deltablue				167.5801+-0.6006    ?  
167.9793+-0.8711       ?
   earley-boyer 			108.7405+-0.2172       
108.4502+-0.1726
   raytrace				 53.0596+-0.4061	
52.8163+-0.4649
   regexp				128.6210+-0.4573       
128.3101+-0.3374
   richards				175.4681+-1.0956    ^  
173.8435+-0.3191       ^ definitely 1.0093x faster
   splay				127.1825+-1.1579       
125.7619+-0.3356	 might be 1.0113x faster

   <arithmetic> 			122.5775+-0.2861       
122.0992+-0.2293	 might be 1.0039x faster
   <geometric> *			115.2596+-0.2390       
114.8277+-0.2664	 might be 1.0038x faster
   <harmonic>				106.6765+-0.2646       
106.2852+-0.3581	 might be 1.0037x faster

					       ToT		      74908
Kraken:
   ai-astar				786.9061+-1.1917    ?  
787.0541+-0.6627       ?
   audio-beat-detection 		358.1306+-6.2473       
355.5454+-2.8121
   audio-dft				348.0289+-2.0739    ?  
349.0720+-2.3584       ?
   audio-fft				216.8900+-0.9561    ?  
217.2359+-0.6450       ?
   audio-oscillator			340.9966+-2.6576       
339.1060+-3.3476
   imaging-darkroom			388.1350+-9.4523       
385.7510+-10.3425
   imaging-desaturate			317.7499+-0.7087       
317.3586+-1.5265
   imaging-gaussian-blur		631.5004+-0.9397    ^  
592.7648+-1.7196       ^ definitely 1.0653x faster
   json-parse-financial 		 69.2648+-0.7859	
68.9126+-0.5316
   json-stringify-tinderbox		101.1172+-0.6247    ?  
101.6840+-0.7057       ?
   stanford-crypto-aes			133.1517+-0.3595    ^  
131.7723+-0.2330       ^ definitely 1.0105x faster
   stanford-crypto-ccm			128.3865+-0.6013       
128.1132+-0.4693
   stanford-crypto-pbkdf2		283.4278+-0.7111    ^  
279.5538+-1.4392       ^ definitely 1.0139x faster
   stanford-crypto-sha256-iterative	108.9552+-0.7702       
108.2972+-0.3137

   <arithmetic> *			300.9029+-0.9610    ^  
297.3015+-1.1468       ^ definitely 1.0121x faster
   <geometric>				239.8573+-0.7456    ^  
237.9736+-0.8437       ^ definitely 1.0079x faster
   <harmonic>				188.8577+-0.6692       
187.9468+-0.6201	 might be 1.0048x faster

					       ToT		      74908
All benchmarks:
   <arithmetic> 			112.2909+-0.3145    ^  
111.1419+-0.3781       ^ definitely 1.0103x faster
   <geometric>				 29.0472+-0.1370	
28.9062+-0.0918 	might be 1.0049x faster
   <harmonic>				  8.7053+-0.0806	 
8.6573+-0.0456	       might be 1.0055x faster

					       ToT		      74908
Geomean of preferred means:
   <scaled-result>			 65.1164+-0.1789    ^	
64.7499+-0.1814       ^ definitely 1.0057x faster


More information about the webkit-reviews mailing list