[webkit-reviews] review requested: [Bug 67072] JSC::Executable is inconsistent about using weak handle finalizers and destructors for releasing memory : [Attachment 105424] the patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Aug 26 17:40:57 PDT 2011


Filip Pizlo <fpizlo at apple.com> has asked  for review:
Bug 67072: JSC::Executable is inconsistent about using weak handle finalizers
and destructors for releasing memory
https://bugs.webkit.org/show_bug.cgi?id=67072

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

------- Additional Comments from Filip Pizlo <fpizlo at apple.com>
Tests seem to pass, it seems that with this patch I can still browse the web,
and performance appears neutral.  Full performance report below.


Benchmark report for SunSpider, V8, and Kraken.

VMs tested:
"TipOfTree" at /Volumes/Data/pizlo/quinary/OpenSource/WebKitBuild/Release/jsc
"ExecFinalize" at
/Volumes/Data/pizlo/quartary/OpenSource/WebKitBuild/Release/jsc

Collected 12 samples per benchmark/VM, with 4 VM invocations per benchmark.
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.

					    TipOfTree		   ExecFinalize
				 
SunSpider:
   3d-cube				  7.6708+-0.1176	 
7.5841+-0.1639	       might be 1.0114x faster
   3d-morph				  7.5792+-0.1602	 
7.3793+-0.1658	       might be 1.0271x faster
   3d-raytrace				  7.6858+-0.1833	 
7.6331+-0.1749	     
   access-binary-trees			  2.3464+-0.1027	 
2.2665+-0.0545	       might be 1.0353x faster
   access-fannkuch			 11.6685+-0.2678    ?	
11.7823+-0.2536       ?
   access-nbody 			  4.2522+-0.0905	 
4.1475+-0.0589	       might be 1.0252x faster
   access-nsieve			  2.5671+-0.0849	 
2.4992+-0.0802	       might be 1.0272x faster
   bitops-3bit-bits-in-byte		  1.7282+-0.0525    ?	 
1.7325+-0.0437	     ?
   bitops-bits-in-byte			  4.4494+-0.2025	 
4.4308+-0.1947	     
   bitops-bitwise-and			  3.6244+-0.0621    ?	 
3.6801+-0.0639	     ? might be 1.0154x slower
   bitops-nsieve-bits			  5.4832+-0.1309	 
5.3283+-0.1084	       might be 1.0291x faster
   controlflow-recursive		  2.0154+-0.0503    ?	 
2.1204+-0.0739	     ? might be 1.0521x slower
   crypto-aes				  6.4391+-0.2795    ?	 
6.6213+-0.1974	     ? might be 1.0283x slower
   crypto-md5				  2.8146+-0.0728	 
2.7349+-0.0893	       might be 1.0291x faster
   crypto-sha1				  2.2402+-0.0931	 
2.2180+-0.0429	       might be 1.0100x faster
   date-format-tofte			 10.1556+-0.1648	
10.0386+-0.1697 	might be 1.0117x faster
   date-format-xparb			  8.6652+-0.2455	 
8.3647+-0.2152	       might be 1.0359x faster
   math-cordic				  6.2553+-0.1021    ?	 
6.4305+-0.1790	     ? might be 1.0280x slower
   math-partial-sums			  7.6624+-0.1552	 
7.5720+-0.1294	       might be 1.0119x faster
   math-spectral-norm			  2.4831+-0.0550	 
2.4610+-0.0428	     
   regexp-dna				 10.2313+-0.1627    ?	
10.3778+-0.2369       ? might be 1.0143x slower
   string-base64			  6.0103+-0.1399    ?	 
6.0212+-0.1152	     ?
   string-fasta 			  7.3684+-0.1139	 
7.3548+-0.1170	     
   string-tagcloud			 13.3408+-0.2701    ?	
13.3510+-0.2191       ?
   string-unpack-code			 18.5239+-0.3307	
18.4312+-0.2688       
   string-validate-input		  7.3392+-0.3738	 
7.2632+-0.1464	       might be 1.0105x faster

   <arithmetic> 			  6.5615+-0.0347	 
6.5317+-0.0292	     
   <geometric>				  5.4509+-0.0349	 
5.4234+-0.0285	     
   <harmonic>				  4.4624+-0.0390	 
4.4418+-0.0268	     

					    TipOfTree		   ExecFinalize
				 
V8:
   crypto				 89.9669+-0.9327	
89.8237+-0.5736       
   deltablue				265.7069+-2.3741       
263.3825+-1.1593       
   earley-boyer 			101.6921+-0.7357       
101.3654+-0.7025       
   raytrace				 79.4849+-2.3809	
77.1534+-0.4093 	might be 1.0302x faster
   regexp				109.1505+-0.7869    ?  
110.0358+-1.0691       ?
   richards				240.8500+-1.5259    ?  
242.0161+-1.1816       ?
   splay				108.6089+-0.7801    ?  
108.7020+-1.0020       ?

   <arithmetic> 			142.2086+-0.6081       
141.7827+-0.3095       
   <geometric>				127.6110+-0.7872       
127.0863+-0.3010       
   <harmonic>				116.9864+-0.9733       
116.3146+-0.3005       

					    TipOfTree		   ExecFinalize
				 
Kraken:
   ai-astar			       1089.1605+-11.5608   ? 
1093.1558+-10.3830	?
   audio-beat-detection 		469.1552+-2.4998    ?  
472.8775+-4.3576       ?
   audio-dft				423.7785+-12.0481   ?  
427.6782+-12.8277      ?
   audio-fft				366.1977+-0.7915    !  
369.2613+-0.7147       ! definitely 1.0084x slower
   audio-oscillator			399.8224+-4.1327       
397.2567+-2.8732       
   imaging-darkroom			526.6979+-3.3260    ?  
530.2128+-3.4240       ?
   imaging-desaturate			586.1033+-6.2498    ?  
588.2981+-7.4616       ?
   imaging-gaussian-blur	       1704.6206+-4.4376    ? 
1705.4177+-5.6552	?
   json-parse-financial 		 48.0213+-0.2319    !	
48.6721+-0.3170       ! definitely 1.0136x slower
   json-stringify-tinderbox		 62.1680+-0.8153    ?	
62.6272+-0.6596       ?
   stanford-crypto-aes			143.6970+-1.8040    ?  
144.7303+-1.9498       ?
   stanford-crypto-ccm			111.4988+-1.1214       
111.4743+-0.7385       
   stanford-crypto-pbkdf2		335.6885+-2.1689    ?  
336.1219+-1.8932       ?
   stanford-crypto-sha256-iterative	129.5380+-0.3716    ?  
132.1052+-3.1976       ? might be 1.0198x slower

   <arithmetic> 			456.8677+-1.9499    ?  
458.5635+-1.2238       ?
   <geometric>				293.1670+-1.1406    ?  
294.8764+-0.9579       ?
   <harmonic>				178.6056+-0.5588    !  
180.1183+-0.7114       ! definitely 1.0085x slower

					    TipOfTree		   ExecFinalize
				 
All benchmarks:
   <arithmetic> 			160.8980+-0.6071    ?  
161.3232+-0.3711       ?
   <geometric>				 28.5710+-0.1106	
28.5233+-0.0851       
   <harmonic>				  7.8796+-0.0674	 
7.8446+-0.0462


More information about the webkit-reviews mailing list