<?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>139398</bug_id>
          
          <creation_ts>2014-12-08 07:29:15 -0800</creation_ts>
          <short_desc>Crash in JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq</short_desc>
          <delta_ts>2015-04-27 11:02:23 -0700</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>Mac (Intel)</rep_platform>
          <op_sys>OS X 10.10</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=136803</see_also>
          <bug_file_loc>http://bertfreudenberg.github.io/SqueakJS/etoys/</bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Major</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Vanessa Freudenberg">vanessa</reporter>
          <assigned_to name="Michael Saboff">msaboff</assigned_to>
          <cc>cody.taylor</cc>
    
    <cc>fpizlo</cc>
    
    <cc>msaboff</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1053378</commentid>
    <comment_count>0</comment_count>
    <who name="Vanessa Freudenberg">vanessa</who>
    <bug_when>2014-12-08 07:29:15 -0800</bug_when>
    <thetext>Safari (and WebKit nightly) crashes reproducibly after a couple of seconds running this (which works fine in Chrome and Firefox):

http://bertfreudenberg.github.io/SqueakJS/etoys/

It&apos;s not trivial to isolate the problem. This is a full Smalltalk Virtual Machine with its own JIT and memory management, but if I can be of any help: I am the main developer.

Thread 22 Crashed:: FTL Worklist Worker Thread
0   com.apple.JavaScriptCore      	0x000000011237e30e WTFCrashWithSecurityImplication + 62
1   com.apple.JavaScriptCore      	0x0000000111f72212 JSC::DFG::crash(JSC::DFG::Graph&amp;, WTF::CString const&amp;, char const*, int, char const*, char const*) + 418
2   com.apple.JavaScriptCore      	0x0000000111f722bf JSC::DFG::Graph::handleAssertionFailure(JSC::DFG::Node*, char const*, int, char const*, char const*) + 159
3   com.apple.JavaScriptCore      	0x0000000112078c93 JSC::FTL::LowerDFGToLLVM::compileCompareStrictEq() + 3411
4   com.apple.JavaScriptCore      	0x0000000112061247 JSC::FTL::LowerDFGToLLVM::compileNode(unsigned int) + 3351
5   com.apple.JavaScriptCore      	0x0000000112060418 JSC::FTL::LowerDFGToLLVM::compileBlock(JSC::DFG::BasicBlock*) + 824
6   com.apple.JavaScriptCore      	0x000000011205f8fb JSC::FTL::LowerDFGToLLVM::lower() + 3899
7   com.apple.JavaScriptCore      	0x000000011205e999 JSC::FTL::lowerDFGToLLVM(JSC::FTL::State&amp;) + 41</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053676</commentid>
    <comment_count>1</comment_count>
    <who name="Alexey Proskuryakov">ap</who>
    <bug_when>2014-12-09 00:06:02 -0800</bug_when>
    <thetext>I could reproduce with Safari 8 (didn&apos;t try nightlies or trunk).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1053677</commentid>
    <comment_count>2</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2014-12-09 00:06:17 -0800</bug_when>
    <thetext>&lt;rdar://problem/19187718&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067444</commentid>
    <comment_count>3</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-02-06 15:54:36 -0800</bug_when>
    <thetext>Have a fix need to write a test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067485</commentid>
    <comment_count>4</comment_count>
      <attachid>246196</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-02-06 18:31:04 -0800</bug_when>
    <thetext>Created attachment 246196
Work in progress patch without test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067844</commentid>
    <comment_count>5</comment_count>
      <attachid>246196</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-02-09 10:07:53 -0800</bug_when>
    <thetext>Comment on attachment 246196
Work in progress patch without test

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

&gt; Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:3552
&gt; +            || m_node-&gt;isBinaryUseKind(UntypedUse)

This is wrong.  The code below will not generate correct results for UntypedUse.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067856</commentid>
    <comment_count>6</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-02-09 10:41:20 -0800</bug_when>
    <thetext>Here is the source for the function that is being compiled:
function tallyIntoMapwith(sourceWord, destinationWord) {
	var pixMask;
	var mapIndex;
	var destShifted;
	var i;
	var maskShifted;
	var pixVal;

	if ((cmFlags &amp; (ColorMapPresent | ColorMapIndexedPart)) !== (ColorMapPresent | ColorMapIndexedPart)) {
		return destinationWord;
	}
	pixMask = maskTable[destDepth];
	destShifted = destinationWord;
	maskShifted = destMask;
	for (i = 1; i &lt;= destPPW; i++) {
		if ((maskShifted &amp; pixMask) !== 0) {

			/* Only tally pixels within the destination rectangle */

			pixVal = destShifted &amp; pixMask;
			if (destDepth &lt; 16) {
				mapIndex = pixVal;
			} else {
                                // Crashes checking the IR generated for the next statement				if (destDepth === 16) {
					mapIndex = rgbMapfromto(pixVal, 5, cmBitsPerColor);
				} else {
					mapIndex = rgbMapfromto(pixVal, 8, cmBitsPerColor);
				}
			}
			tallyMapAtput(mapIndex, tallyMapAt(mapIndex) + 1);
		}
		maskShifted = SHR(maskShifted, destDepth);
		destShifted = SHR(destShifted, destDepth);
	}
	return destinationWord;
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1067975</commentid>
    <comment_count>7</comment_count>
      <attachid>246308</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-02-09 18:28:21 -0800</bug_when>
    <thetext>Created attachment 246308
Updated work in Progress</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068055</commentid>
    <comment_count>8</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-02-10 07:39:54 -0800</bug_when>
    <thetext>Tested performance with of adding the a FTL::canCompile() check to validate that the DFG graph is suitable for lowering to LLVM and got a huge slowdown.

Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on msaboff-pro (MacPro5,1).

VMs tested:
&quot;Baseline&quot; at /Volumes/Data/src/webkit.baseline/WebKitBuild/Release/JavaScriptCore.framework/Versions/A/Resources/jsc
&quot;CheckFTLCapabilitesAgain&quot; at /Volumes/Data/src/webkit/WebKitBuild/Release/JavaScriptCore.framework/Versions/A/Resources/jsc

Collected 4 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.

                                                         Baseline         CheckFTLCapabilitesAgain                              
SunSpider:
   3d-cube                                            8.4254+-0.2303            8.2947+-0.4883          might be 1.0158x faster
   3d-morph                                          12.5574+-0.2270     ?     12.6633+-0.5515        ?
   3d-raytrace                                       11.0907+-0.3086           10.8575+-0.3941          might be 1.0215x faster
   access-binary-trees                                3.3362+-0.1887            3.3247+-0.2178        
   access-fannkuch                                   10.2742+-0.2233     ?     10.4454+-0.3724        ? might be 1.0167x slower
   access-nbody                                       5.3285+-0.1665     ?      5.3630+-0.2529        ?
   access-nsieve                                      5.8448+-0.0553            5.7865+-0.1660          might be 1.0101x faster
   bitops-3bit-bits-in-byte                           2.3517+-0.1475     ?      2.4132+-0.1010        ? might be 1.0262x slower
   bitops-bits-in-byte                                6.3422+-0.0406     ?      6.3508+-0.1032        ?
   bitops-bitwise-and                                 3.1060+-0.1512     ?      3.1929+-0.1980        ? might be 1.0280x slower
   bitops-nsieve-bits                                 6.7874+-0.2680            6.7325+-0.2410        
   controlflow-recursive                              3.6476+-0.2466            3.4430+-0.1825          might be 1.0594x faster
   crypto-aes                                         7.0080+-0.2997     ?      7.1836+-0.2734        ? might be 1.0251x slower
   crypto-md5                                         4.2530+-0.2816            4.2493+-0.3246        
   crypto-sha1                                        4.2775+-0.3129     ?      4.2863+-0.3765        ?
   date-format-tofte                                 17.0318+-0.7223           16.5503+-0.5088          might be 1.0291x faster
   date-format-xparb                                  8.8958+-0.4373     ?      8.9974+-0.4338        ? might be 1.0114x slower
   math-cordic                                        5.5435+-0.2909     ?      5.5732+-0.2498        ?
   math-partial-sums                                 10.9012+-0.1222     ?     11.0506+-0.1198        ? might be 1.0137x slower
   math-spectral-norm                                 3.5137+-0.1778            3.4557+-0.2000          might be 1.0168x faster
   regexp-dna                                        11.4762+-0.2570     ?     11.6005+-0.1091        ? might be 1.0108x slower
   string-base64                                      7.1635+-0.3972     ?      7.2466+-0.2875        ? might be 1.0116x slower
   string-fasta                                      12.1312+-0.3163           12.0148+-0.2926        
   string-tagcloud                                   17.8674+-0.3081           17.2139+-0.5594          might be 1.0380x faster
   string-unpack-code                                37.7999+-1.1774     ?     38.5540+-1.0918        ? might be 1.0199x slower
   string-validate-input                              8.3782+-0.3113            8.1863+-0.4700          might be 1.0234x faster

   &lt;arithmetic&gt; *                                     9.0513+-0.0522            9.0396+-0.1029          might be 1.0013x faster
   &lt;geometric&gt;                                        7.3470+-0.0350            7.3334+-0.0974          might be 1.0018x faster
   &lt;harmonic&gt;                                         6.1554+-0.0667            6.1513+-0.1069          might be 1.0007x faster

                                                         Baseline         CheckFTLCapabilitesAgain                              
LongSpider:
   3d-cube                                         1684.4370+-366.0668   !   2379.1963+-9.0939        ! definitely 1.4125x slower
   3d-morph                                        1978.3196+-3.0337     !   2189.1918+-3.8531        ! definitely 1.1066x slower
   3d-raytrace                                     1542.9747+-3.8720     ^   1525.5170+-7.5645        ^ definitely 1.0114x faster
   access-binary-trees                             1859.5215+-5.2750     ^   1797.2401+-1.6667        ^ definitely 1.0347x faster
   access-fannkuch                                  591.7411+-28.0623    !    733.6613+-8.7177        ! definitely 1.2398x slower
   access-nbody                                    1479.0960+-1.7625     !   1837.4803+-1.8035        ! definitely 1.2423x slower
   access-nsieve                                   1804.3760+-9.1209         1800.7350+-20.1102       
   bitops-3bit-bits-in-byte                          70.3105+-0.2038     !    135.6770+-0.8051        ! definitely 1.9297x slower
   bitops-bits-in-byte                              364.0190+-5.1025     !    549.7675+-0.1606        ! definitely 1.5103x slower
   bitops-nsieve-bits                              1454.5776+-4.7530     ^   1328.5969+-2.7677        ^ definitely 1.0948x faster
   controlflow-recursive                           1089.2863+-6.4276     ^    925.0367+-2.4511        ^ definitely 1.1776x faster
   crypto-aes                                      1290.7263+-3.5353     !   1949.4685+-12.6533       ! definitely 1.5104x slower
   crypto-md5                                      1070.2658+-5.3137     !   1281.9777+-13.4215       ! definitely 1.1978x slower
   crypto-sha1                                     1449.4285+-9.4458     !   1906.0695+-7.5645        ! definitely 1.3150x slower
   date-format-tofte                               1507.5335+-68.9748    !   1601.1042+-9.8061        ! definitely 1.0621x slower
   date-format-xparb                               1403.2462+-68.1595        1378.9893+-26.0171         might be 1.0176x faster
   math-cordic                                     1049.3808+-8.0381     !   2001.6452+-5.9398        ! definitely 1.9075x slower
   math-partial-sums                               1278.9943+-2.5430     !   1312.8829+-2.2899        ! definitely 1.0265x slower
   math-spectral-norm                              1217.8057+-1.6660     !   2113.2379+-3.1426        ! definitely 1.7353x slower
   string-base64                                    631.4800+-1.8253     ^    623.7205+-3.5519        ^ definitely 1.0124x faster
   string-fasta                                     860.3738+-11.4774    !    995.1693+-3.4808        ! definitely 1.1567x slower
   string-tagcloud                                  420.2945+-5.2666     ?    424.2668+-6.7480        ?

   &lt;arithmetic&gt;                                    1186.2813+-20.6741    !   1399.5742+-0.9272        ! definitely 1.1798x slower
   &lt;geometric&gt; *                                    998.2024+-11.7829    !   1193.3721+-1.5206        ! definitely 1.1955x slower
   &lt;harmonic&gt;                                       624.1823+-3.3413     !    864.7079+-2.7638        ! definitely 1.3853x slower

                                                         Baseline         CheckFTLCapabilitesAgain                              
V8Spider:
   crypto                                           100.4189+-1.2812     ?    100.8250+-1.0864        ?
   deltablue                                        124.8494+-11.2373    ?    126.9690+-1.8237        ? might be 1.0170x slower
   earley-boyer                                      81.0970+-2.7328     ?     81.7010+-0.6636        ?
   raytrace                                          49.1834+-2.8370     ?     50.7105+-2.8897        ? might be 1.0310x slower
   regexp                                           128.6553+-1.9744          127.4943+-1.8847        
   richards                                         132.0338+-3.9614     !    141.1838+-3.6683        ! definitely 1.0693x slower
   splay                                             58.8062+-2.4803     ?     59.0485+-3.7745        ?

   &lt;arithmetic&gt;                                      96.4349+-1.5936     ?     98.2760+-0.8584        ? might be 1.0191x slower
   &lt;geometric&gt; *                                     90.5335+-1.5304     ?     92.1233+-1.0666        ? might be 1.0176x slower
   &lt;harmonic&gt;                                        84.3103+-1.8796     ?     85.7321+-1.5327        ? might be 1.0169x slower

                                                         Baseline         CheckFTLCapabilitesAgain                              
Octane:
   encrypt                                           0.45952+-0.01251    !     0.58129+-0.00736       ! definitely 1.2650x slower
   decrypt                                           8.25512+-0.12867    !    10.52647+-0.03494       ! definitely 1.2751x slower
   deltablue                                x2       0.38899+-0.00336    !     0.66973+-0.01270       ! definitely 1.7217x slower
   earley                                            1.32078+-0.01135    ?     1.32944+-0.01362       ?
   boyer                                            11.85747+-0.09610    !    14.12994+-0.13250       ! definitely 1.1916x slower
   navier-stokes                            x2       7.39018+-0.02564    !    11.46404+-0.05493       ! definitely 1.5513x slower
   raytrace                                 x2       2.51232+-0.21192    !     5.01789+-0.38755       ! definitely 1.9973x slower
   richards                                 x2       0.24088+-0.00288    !     0.37012+-0.00096       ! definitely 1.5365x slower
   splay                                    x2       0.66895+-0.00390    !     0.82139+-0.10543       ! definitely 1.2279x slower
   regexp                                   x2      62.96479+-1.59686         62.76995+-0.86524       
   pdfjs                                    x2      96.49107+-0.59789    ?    96.60619+-0.85911       ?
   mandreel                                 x2     107.02375+-0.73439    !   170.95224+-0.96348       ! definitely 1.5973x slower
   gbemu                                    x2      96.66876+-4.03324    !   102.54764+-1.25550       ! definitely 1.0608x slower
   closure                                           0.96826+-0.00344    ?     0.97132+-0.00897       ?
   jquery                                           12.31582+-0.03684         12.29063+-0.11049       
   box2d                                    x2      28.08956+-0.28453    !    29.98011+-0.09508       ! definitely 1.0673x slower
   zlib                                     x2     888.53666+-2.12592    !  1098.63363+-3.57671       ! definitely 1.2365x slower
   typescript                               x2    1453.91418+-47.57047      1399.21326+-27.99842        might be 1.0391x faster

   &lt;arithmetic&gt;                                    184.16524+-3.08111    !   199.93071+-1.81436       ! definitely 1.0856x slower
   &lt;geometric&gt; *                                    13.28100+-0.10741    !    16.66220+-0.12331       ! definitely 1.2546x slower
   &lt;harmonic&gt;                                        1.36844+-0.00310    !     1.95929+-0.04402       ! definitely 1.4318x slower

                                                         Baseline         CheckFTLCapabilitesAgain                              
Kraken:
   ai-astar                                          819.725+-28.565           794.124+-29.497          might be 1.0322x faster
   audio-beat-detection                              220.882+-0.994      !     224.379+-0.295         ! definitely 1.0158x slower
   audio-dft                                         301.660+-36.392           291.005+-1.251           might be 1.0366x faster
   audio-fft                                         155.742+-1.005            154.937+-1.268         
   audio-oscillator                                  427.917+-2.562      ^     274.321+-1.218         ^ definitely 1.5599x faster
   imaging-darkroom                                  335.383+-1.813      ^     331.140+-0.757         ^ definitely 1.0128x faster
   imaging-desaturate                                145.258+-0.255      !     212.677+-0.465         ! definitely 1.4641x slower
   imaging-gaussian-blur                             216.181+-1.743      !     387.265+-1.061         ! definitely 1.7914x slower
   json-parse-financial                               92.461+-0.793      ?      93.396+-2.274         ? might be 1.0101x slower
   json-stringify-tinderbox                          113.586+-5.365            112.786+-1.501         
   stanford-crypto-aes                               116.779+-2.412      ?     117.935+-1.778         ?
   stanford-crypto-ccm                               111.485+-3.146      ^      93.090+-2.939         ^ definitely 1.1976x faster
   stanford-crypto-pbkdf2                            313.339+-2.938      ^     264.435+-5.494         ^ definitely 1.1849x faster
   stanford-crypto-sha256-iterative                   95.082+-1.401      !      97.102+-0.552         ! definitely 1.0212x slower

   &lt;arithmetic&gt; *                                    247.534+-4.298            246.328+-1.970           might be 1.0049x faster
   &lt;geometric&gt;                                       199.280+-2.395      ?     201.219+-0.919         ? might be 1.0097x slower
   &lt;harmonic&gt;                                        168.280+-1.318      ?     169.825+-0.949         ? might be 1.0092x slower

                                                         Baseline         CheckFTLCapabilitesAgain                              
JSRegress:
   abs-boolean                                        4.6240+-0.1165     ?      4.6695+-0.1843        ?
   adapt-to-double-divide                            19.3786+-0.3969     !     20.3898+-0.3619        ! definitely 1.0522x slower
   aliased-arguments-getbyval                         1.4614+-0.1168            1.4613+-0.1833        
   allocate-big-object                                3.5966+-0.2758     ?      3.5994+-0.1604        ?
   arity-mismatch-inlining                            1.3419+-0.2591            1.3115+-0.0532          might be 1.0231x faster
   array-access-polymorphic-structure                12.5099+-0.1738           12.4674+-0.2858        
   array-nonarray-polymorhpic-access                 69.0966+-0.6658     ?     69.5461+-8.2680        ?
   array-prototype-every                            188.6152+-5.4459          186.7556+-8.4325        
   array-prototype-forEach                          186.2267+-15.3484    ?    189.5630+-10.3126       ? might be 1.0179x slower
   array-prototype-map                              223.6080+-5.1404          220.3545+-4.3256          might be 1.0148x faster
   array-prototype-some                             197.2348+-13.7463         192.0667+-8.1613          might be 1.0269x faster
   array-splice-contiguous                           89.5582+-4.6993     ?     90.2499+-4.8957        ?
   array-with-double-add                              7.4485+-0.1674            7.4044+-0.0914        
   array-with-double-increment                        5.5300+-0.1445     ?      5.5310+-0.1298        ?
   array-with-double-mul-add                         11.6240+-0.1131           11.5105+-0.1456        
   array-with-double-sum                              5.3740+-0.1061     ?      5.4253+-0.1557        ?
   array-with-int32-add-sub                          13.1236+-0.2279           12.8990+-0.2262          might be 1.0174x faster
   array-with-int32-or-double-sum                     5.2505+-0.1243     ?      5.3434+-0.0824        ? might be 1.0177x slower
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     65.4079+-2.6091           64.4221+-0.6485          might be 1.0153x faster
   ArrayBuffer-DataView-alloc-long-lived             27.1077+-1.3025           26.2334+-0.3690          might be 1.0333x faster
   ArrayBuffer-Int32Array-byteOffset                  5.3918+-0.2344            5.1122+-0.3690          might be 1.0547x faster
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     68.6993+-1.3282     ?     70.6108+-3.7409        ? might be 1.0278x slower
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     43.7990+-1.3709     ?     44.3135+-1.4476        ? might be 1.0117x slower
   ArrayBuffer-Int8Array-alloc-long-lived            25.3255+-0.8341     ?     27.1045+-2.7248        ? might be 1.0702x slower
   ArrayBuffer-Int8Array-alloc                       21.4498+-0.9400     ?     21.6425+-1.0428        ?
   asmjs_bool_bug                                    12.7160+-0.2284           12.6465+-0.2307        
   assign-custom-setter-polymorphic                   6.0016+-0.1905     ?      6.0761+-0.1493        ? might be 1.0124x slower
   assign-custom-setter                               8.2315+-0.1746     ?      8.3250+-0.0711        ? might be 1.0114x slower
   basic-set                                         18.0435+-1.5026           16.8120+-1.2060          might be 1.0733x faster
   big-int-mul                                        7.7390+-0.0810     ?      7.7891+-0.2318        ?
   boolean-test                                       4.8981+-0.2104            4.7920+-0.0972          might be 1.0221x faster
   branch-fold                                        5.2663+-0.1577     ?      5.3416+-0.1572        ? might be 1.0143x slower
   by-val-generic                                    15.3765+-0.3021           15.3273+-0.6053        
   call-spread-apply                                 26.7298+-0.2589     ^     26.0934+-0.2417        ^ definitely 1.0244x faster
   call-spread-call                                  11.5486+-0.2806           11.2810+-0.2555          might be 1.0237x faster
   captured-assignments                               0.8494+-0.2058            0.8127+-0.1360          might be 1.0451x faster
   cast-int-to-double                                 8.6546+-0.1895            8.5427+-0.0844          might be 1.0131x faster
   cell-argument                                     12.1551+-0.1365     !     15.7473+-0.1257        ! definitely 1.2955x slower
   cfg-simplify                                       3.9940+-0.1929     ?      4.0381+-0.1133        ? might be 1.0110x slower
   chain-getter-access                               16.7128+-0.4791     !     22.1323+-0.2905        ! definitely 1.3243x slower
   cmpeq-obj-to-obj-other                            16.3000+-0.4354     ?     16.9847+-0.7668        ? might be 1.0420x slower
   constant-test                                      8.0817+-0.1085            7.9722+-0.2230          might be 1.0137x faster
   DataView-custom-properties                        73.4356+-1.2568     ?     73.7570+-2.8189        ?
   delay-tear-off-arguments-strictmode               44.0186+-0.5679           43.8254+-2.2986        
   destructuring-arguments                            9.1373+-0.1351            9.0717+-0.2135        
   destructuring-swap                                 8.1918+-0.1754     ?      8.2317+-0.2375        ?
   direct-arguments-getbyval                          1.5794+-0.2850            1.5415+-0.1012          might be 1.0246x faster
   div-boolean-double                                 5.9225+-0.2271            5.7382+-0.2442          might be 1.0321x faster
   div-boolean                                       10.1893+-0.1093           10.1876+-0.1200        
   double-get-by-val-out-of-bounds                    7.9057+-0.3169            7.7896+-0.2344          might be 1.0149x faster
   double-pollution-getbyval                         10.2017+-0.2023           10.0055+-0.2051          might be 1.0196x faster
   double-pollution-putbyoffset                       7.9363+-0.1543            7.8453+-0.1986          might be 1.0116x faster
   double-to-int32-typed-array-no-inline              3.6616+-0.1544     ?      3.7155+-0.3031        ? might be 1.0147x slower
   double-to-int32-typed-array                        3.1696+-0.1668     ?      3.1974+-0.2120        ?
   double-to-uint32-typed-array-no-inline             3.7192+-0.1000     ?      3.7934+-0.1485        ? might be 1.0199x slower
   double-to-uint32-typed-array                       3.3278+-0.2488            3.2569+-0.0613          might be 1.0218x faster
   elidable-new-object-dag                           63.1037+-0.7777     !    396.1140+-6.2530        ! definitely 6.2772x slower
   elidable-new-object-roflcopter                   237.3107+-0.6990          237.0347+-0.9520        
   elidable-new-object-then-call                     59.1095+-0.8220     !    259.2364+-6.0201        ! definitely 4.3857x slower
   elidable-new-object-tree                          69.5731+-1.3086     !    393.7665+-4.8424        ! definitely 5.6598x slower
   empty-string-plus-int                             10.3997+-0.1950           10.1263+-0.2315          might be 1.0270x faster
   emscripten-cube2hash                              57.2567+-0.4616     ?     57.5522+-1.4530        ?
   external-arguments-getbyval                        2.4247+-0.2277     ?      2.4348+-0.2186        ?
   external-arguments-putbyval                        3.6743+-0.2111     ?      3.7758+-0.2266        ? might be 1.0276x slower
   fixed-typed-array-storage-var-index                1.8537+-0.0563     !      2.0468+-0.1165        ! definitely 1.1041x slower
   fixed-typed-array-storage                          1.4429+-0.0992     ?      1.5068+-0.1887        ? might be 1.0442x slower
   Float32Array-matrix-mult                           8.3763+-0.5623     ?      8.8171+-1.5045        ? might be 1.0526x slower
   Float32Array-to-Float64Array-set                 119.1960+-4.1940          116.5704+-1.0105          might be 1.0225x faster
   Float64Array-alloc-long-lived                    103.5098+-0.7632     ?    103.9840+-1.4414        ?
   Float64Array-to-Int16Array-set                   144.8483+-2.7642          144.8109+-4.4859        
   fold-double-to-int                                23.7125+-0.4981     !     34.6306+-1.0998        ! definitely 1.4604x slower
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     14.5103+-0.8095           14.3445+-0.3931          might be 1.0116x faster
   fold-get-by-id-to-multi-get-by-offset             12.3757+-0.4647     ?     12.5439+-0.4257        ? might be 1.0136x slower
   fold-multi-get-by-offset-to-get-by-offset   
                                                     10.7960+-1.7112     ?     10.8817+-2.1934        ?
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                     10.9042+-1.0602           10.5978+-0.3201          might be 1.0289x faster
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                      9.8348+-1.1391     ?     10.1268+-1.3330        ? might be 1.0297x slower
   fold-multi-put-by-offset-to-put-by-offset   
                                                      8.8740+-1.1242            8.0186+-1.3234          might be 1.1067x faster
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                     16.0674+-1.2591           15.4662+-2.5596          might be 1.0389x faster
   fold-put-by-id-to-multi-put-by-offset             11.4954+-0.7012     ?     11.6194+-1.4441        ? might be 1.0108x slower
   fold-put-structure                                 8.6396+-0.7585     ?      8.8072+-1.1558        ? might be 1.0194x slower
   for-of-iterate-array-entries                      10.9670+-0.3609           10.8669+-0.3066        
   for-of-iterate-array-keys                          5.0760+-0.1750            5.0153+-0.2392          might be 1.0121x faster
   for-of-iterate-array-values                        4.0119+-0.3122     ?      4.4427+-0.2013        ? might be 1.1074x slower
   fround                                            25.6963+-0.2118     !     26.9955+-0.1115        ! definitely 1.0506x slower
   ftl-library-inlining-dataview                    155.8597+-22.1040         152.9064+-2.0952          might be 1.0193x faster
   ftl-library-inlining                             135.4794+-7.6702     !    145.0245+-0.2659        ! definitely 1.0705x slower
   function-dot-apply                                 2.8680+-0.1800            2.8400+-0.2309        
   function-test                                      5.5325+-0.2112            5.4984+-0.2358        
   function-with-eval                               223.1771+-2.0292          219.8792+-24.2283         might be 1.0150x faster
   gcse-poly-get-less-obvious                        36.9563+-0.6808           36.2575+-1.0252          might be 1.0193x faster
   gcse-poly-get                                     36.8305+-0.2743           36.8132+-1.0005        
   gcse                                               9.1937+-0.1077            9.0728+-0.2076          might be 1.0133x faster
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      4.1334+-0.1258            4.0856+-0.1403          might be 1.0117x faster
   get-by-id-bimorphic-check-structure-elimination   
                                                     12.1049+-0.0943           11.9789+-0.1516          might be 1.0105x faster
   get-by-id-chain-from-try-block                    19.7538+-0.1189           19.6180+-0.1033        
   get-by-id-check-structure-elimination             10.7063+-0.4386           10.6670+-0.1560        
   get-by-id-proto-or-self                           30.8511+-0.6974     !     34.7138+-0.6516        ! definitely 1.1252x slower
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      5.2753+-0.1731            5.1339+-0.1196          might be 1.0275x faster
   get-by-id-self-or-proto                           31.8908+-6.4890     ?     34.8402+-2.3304        ? might be 1.0925x slower
   get-by-val-out-of-bounds                           7.5349+-0.2843            7.3873+-0.1681          might be 1.0200x faster
   get_callee_monomorphic                             6.0526+-0.3895     ?      6.2784+-0.5388        ? might be 1.0373x slower
   get_callee_polymorphic                             5.4689+-0.1834            5.2090+-0.2557          might be 1.0499x faster
   getter-no-activation                               6.3060+-0.1271     ?      6.3098+-0.1127        ?
   getter-richards                                  179.2745+-3.6649          169.4739+-8.3713          might be 1.0578x faster
   getter                                             9.0842+-0.5308            8.8842+-0.3596          might be 1.0225x faster
   global-var-const-infer-fire-from-opt               1.8119+-0.1247            1.7501+-0.1884          might be 1.0353x faster
   global-var-const-infer                             1.4200+-0.1673     ?      1.5260+-0.2394        ? might be 1.0746x slower
   HashMap-put-get-iterate-keys                      50.5900+-0.5999           49.9011+-0.8957          might be 1.0138x faster
   HashMap-put-get-iterate                           49.9439+-1.1221           48.5055+-0.3857          might be 1.0297x faster
   HashMap-string-put-get-iterate                    49.7173+-1.1275     ?     50.7897+-1.2250        ? might be 1.0216x slower
   hoist-make-rope                                   16.7797+-2.4051     !     96.5465+-0.6237        ! definitely 5.7538x slower
   hoist-poly-check-structure-effectful-loop   
                                                      9.5635+-0.1147     ^      9.3412+-0.1072        ^ definitely 1.0238x faster
   hoist-poly-check-structure                         6.3197+-0.1809            6.1780+-0.2422          might be 1.0229x faster
   imul-double-only                                  13.4333+-1.8984     !     21.2166+-0.1331        ! definitely 1.5794x slower
   imul-int-only                                     14.5253+-0.1249           14.4742+-0.1747        
   imul-mixed                                        12.6605+-1.6708     !     26.9069+-0.2395        ! definitely 2.1253x slower
   in-four-cases                                     36.2841+-0.7934           35.1251+-0.7375          might be 1.0330x faster
   in-one-case-false                                 18.7558+-0.4603           18.2859+-0.1467          might be 1.0257x faster
   in-one-case-true                                  18.5046+-0.1471           18.3490+-0.3288        
   in-two-cases                                      19.3170+-0.1691           19.0038+-0.1558          might be 1.0165x faster
   indexed-properties-in-objects                      4.6625+-0.1717            4.6201+-0.1983        
   infer-closure-const-then-mov-no-inline             6.0481+-0.0413            5.9131+-0.1266          might be 1.0228x faster
   infer-closure-const-then-mov                      26.2275+-0.3431           26.0132+-0.1356        
   infer-closure-const-then-put-to-scope-no-inline   
                                                     19.7618+-0.2721     !     22.2540+-0.2305        ! definitely 1.1261x slower
   infer-closure-const-then-put-to-scope             33.7224+-1.1604     ?     34.5884+-0.7527        ? might be 1.0257x slower
   infer-closure-const-then-reenter-no-inline   
                                                     92.8353+-0.1746     !    106.8552+-0.2427        ! definitely 1.1510x slower
   infer-closure-const-then-reenter                  31.6918+-0.2544     ?     36.6333+-15.7428       ? might be 1.1559x slower
   infer-constant-global-property                    38.8754+-0.0466     ^     38.6995+-0.1082        ^ definitely 1.0045x faster
   infer-constant-property                            3.7210+-0.0641            3.5969+-0.0974          might be 1.0345x faster
   infer-one-time-closure-ten-vars                   17.7138+-0.1977     !     27.1662+-0.0665        ! definitely 1.5336x slower
   infer-one-time-closure-two-vars                   16.9888+-0.8368     !     26.8641+-0.2370        ! definitely 1.5813x slower
   infer-one-time-closure                            16.7379+-0.5725     !     27.8843+-3.9084        ! definitely 1.6659x slower
   infer-one-time-deep-closure                       29.6984+-0.3056     !     53.3060+-0.1967        ! definitely 1.7949x slower
   inline-arguments-access                            2.8155+-0.1350            2.7695+-0.1123          might be 1.0166x faster
   inline-arguments-aliased-access                    3.1365+-0.0726            3.0220+-0.1744          might be 1.0379x faster
   inline-arguments-local-escape                     25.7418+-0.1349           25.7292+-0.7041        
   inline-get-scoped-var                              5.8198+-0.1463     ?      5.9213+-0.1525        ? might be 1.0174x slower
   inlined-put-by-id-transition                      16.8721+-1.7771     ?     18.0001+-1.6120        ? might be 1.0669x slower
   int-or-other-abs-then-get-by-val                   9.5490+-0.0351            9.4943+-0.1991        
   int-or-other-abs-zero-then-get-by-val             34.0172+-0.2931     ?     34.1624+-0.8267        ?
   int-or-other-add-then-get-by-val                   8.4006+-0.1908            8.3348+-0.1562        
   int-or-other-add                                   9.1472+-0.2646            8.9370+-0.1878          might be 1.0235x faster
   int-or-other-div-then-get-by-val                   6.5130+-0.1475     ?      6.5466+-0.1541        ?
   int-or-other-max-then-get-by-val                   7.9655+-0.1190            7.8763+-0.2495          might be 1.0113x faster
   int-or-other-min-then-get-by-val                   7.2291+-0.0852            7.1592+-0.1205        
   int-or-other-mod-then-get-by-val                   6.0799+-0.1594     ?      6.1268+-0.1704        ?
   int-or-other-mul-then-get-by-val                   6.4827+-0.3017            6.4816+-0.2086        
   int-or-other-neg-then-get-by-val                   8.0347+-0.1788     ?      8.0956+-0.1627        ?
   int-or-other-neg-zero-then-get-by-val             34.2698+-0.6073           34.1738+-0.4280        
   int-or-other-sub-then-get-by-val                   8.7798+-0.3754            8.6645+-0.1254          might be 1.0133x faster
   int-or-other-sub                                   6.8898+-0.0309            6.8373+-0.2975        
   int-overflow-local                                 8.0093+-0.2453            7.8735+-0.2589          might be 1.0172x faster
   Int16Array-alloc-long-lived                       76.9608+-1.0634           76.7668+-0.6921        
   Int16Array-bubble-sort-with-byteLength            51.9716+-1.1528           50.7997+-0.2815          might be 1.0231x faster
   Int16Array-bubble-sort                            49.0795+-2.3672     ?     49.4153+-0.2929        ?
   Int16Array-load-int-mul                            2.2545+-0.0352     ?      2.3665+-0.1657        ? might be 1.0497x slower
   Int16Array-to-Int32Array-set                     115.0621+-2.7538          113.6673+-1.8571          might be 1.0123x faster
   Int32Array-alloc-large                            38.2499+-2.0791     ?     38.7213+-1.3738        ? might be 1.0123x slower
   Int32Array-alloc-long-lived                       83.4545+-0.1762     ?     84.2670+-0.9991        ?
   Int32Array-alloc                                   4.8250+-0.0842     ?      4.8977+-0.1246        ? might be 1.0151x slower
   Int32Array-Int8Array-view-alloc                   12.5760+-0.5129     ?     12.5898+-0.4951        ?
   int52-spill                                       12.3936+-0.3048     ?     12.5532+-0.3837        ? might be 1.0129x slower
   Int8Array-alloc-long-lived                        71.3570+-1.8304           71.0410+-1.1916        
   Int8Array-load-with-byteLength                     5.1310+-0.1025     ?      5.2275+-0.1936        ? might be 1.0188x slower
   Int8Array-load                                     5.3022+-0.1295            5.1945+-0.1809          might be 1.0207x faster
   integer-divide                                    19.2576+-0.1415     ?     19.2896+-0.1823        ?
   integer-modulo                                     3.6686+-0.2285     ?      3.6914+-0.1971        ?
   large-int-captured                                12.6235+-0.5776           12.4000+-0.1304          might be 1.0180x faster
   large-int-neg                                     30.3953+-0.4732     !     36.6799+-0.1073        ! definitely 1.2068x slower
   large-int                                         27.6955+-0.6522     !     33.9491+-0.1690        ! definitely 1.2258x slower
   logical-not                                        8.3284+-0.4757            7.9944+-0.1381          might be 1.0418x faster
   lots-of-fields                                    19.4020+-0.9630     ?     19.4133+-0.9242        ?
   make-indexed-storage                               5.3406+-0.3512            5.1228+-0.6225          might be 1.0425x faster
   make-rope-cse                                      6.4365+-0.4104     ?      6.6588+-0.5304        ? might be 1.0345x slower
   marsaglia-larger-ints                             68.9099+-0.9061     !    121.5530+-0.3809        ! definitely 1.7639x slower
   marsaglia-osr-entry                               34.9568+-1.0049     !     59.0480+-0.7334        ! definitely 1.6892x slower
   max-boolean                                        4.0038+-0.0170     ^      3.8951+-0.0801        ^ definitely 1.0279x faster
   method-on-number                                  34.2491+-1.1027           33.6317+-0.7463          might be 1.0184x faster
   min-boolean                                        3.8400+-0.1737     ?      3.8627+-0.1242        ?
   minus-boolean-double                               4.4599+-0.1204            4.4465+-0.1406        
   minus-boolean                                      3.6945+-0.1564            3.6124+-0.0474          might be 1.0227x faster
   misc-strict-eq                                    71.1572+-2.3636     !    104.2823+-1.1226        ! definitely 1.4655x slower
   mod-boolean-double                                14.3255+-0.1245           14.2023+-0.1021        
   mod-boolean                                        9.1544+-0.2036     ?      9.1627+-0.2649        ?
   mul-boolean-double                                 4.9484+-0.0711     ?      5.0229+-0.1017        ? might be 1.0151x slower
   mul-boolean                                        4.0357+-0.0906            3.9935+-0.0778          might be 1.0106x faster
   neg-boolean                                        4.5553+-0.0352     ?      4.5628+-0.0856        ?
   negative-zero-divide                               0.5441+-0.0411     ?      0.6057+-0.0983        ? might be 1.1132x slower
   negative-zero-modulo                               0.5522+-0.0144     ?      0.5700+-0.0280        ? might be 1.0322x slower
   negative-zero-negate                               0.5751+-0.0882     ?      0.6095+-0.1020        ? might be 1.0597x slower
   nested-function-parsing                           41.3818+-1.5392           41.0739+-0.2268        
   new-array-buffer-dead                              3.9998+-0.1372     ?      4.0690+-0.1849        ? might be 1.0173x slower
   new-array-buffer-push                             10.6415+-0.2570           10.4905+-0.6459          might be 1.0144x faster
   new-array-dead                                    17.0543+-0.7157     !     25.2828+-0.1657        ! definitely 1.4825x slower
   new-array-push                                     8.0736+-0.2456            7.5189+-0.3417          might be 1.0738x faster
   number-test                                        4.7886+-0.1771     ?      4.8571+-0.1646        ? might be 1.0143x slower
   object-closure-call                               10.5224+-0.0792           10.4433+-0.2217        
   object-test                                        5.3250+-0.2935            5.3174+-0.1343        
   obvious-sink-pathology-taken                     214.2635+-0.5744     !    252.3495+-1.4259        ! definitely 1.1778x slower
   obvious-sink-pathology                           199.7045+-3.3389     !    224.1775+-1.8527        ! definitely 1.1225x slower
   obviously-elidable-new-object                     53.3845+-4.6002     !    200.5685+-1.9052        ! definitely 3.7571x slower
   plus-boolean-arith                                 4.0507+-0.1373     ?      4.0516+-0.1596        ?
   plus-boolean-double                                4.6918+-0.7086            4.4555+-0.0604          might be 1.0530x faster
   plus-boolean                                       3.7067+-0.2186            3.6240+-0.0470          might be 1.0228x faster
   poly-chain-access-different-prototypes-simple   
                                                      5.0992+-0.0941            5.0823+-0.0442        
   poly-chain-access-different-prototypes             3.6006+-0.1246     ?      3.6530+-0.1820        ? might be 1.0146x slower
   poly-chain-access-simpler                          5.1478+-0.0630     ?      5.1702+-0.1423        ?
   poly-chain-access                                  3.5235+-0.1836            3.4802+-0.1359          might be 1.0124x faster
   poly-stricteq                                    100.5943+-1.4958     ?    101.7350+-2.4594        ? might be 1.0113x slower
   polymorphic-array-call                             2.8863+-0.2757     ?      2.9764+-0.4590        ? might be 1.0312x slower
   polymorphic-get-by-id                              5.4058+-0.6572            5.2473+-0.1539          might be 1.0302x faster
   polymorphic-put-by-id                             45.8995+-2.7530     !     59.6768+-2.3528        ! definitely 1.3002x slower
   polymorphic-structure                             32.9184+-0.5850           32.7490+-0.7483        
   polyvariant-monomorphic-get-by-id                 16.8973+-0.1670     ^     16.3267+-0.2350        ^ definitely 1.0349x faster
   proto-getter-access                               16.7477+-0.4001     !     22.1210+-0.2567        ! definitely 1.3208x slower
   put-by-id-replace-and-transition                  13.5422+-0.1951           13.4939+-0.5020        
   put-by-id-slightly-polymorphic                     4.1270+-0.0970            4.1242+-0.0515        
   put-by-id                                         19.9316+-0.6846           19.7304+-0.2602          might be 1.0102x faster
   put-by-val-direct                                  1.0460+-0.1421            0.9971+-0.1184          might be 1.0490x faster
   put-by-val-large-index-blank-indexing-type   
                                                     10.6899+-0.9303     ?     11.5063+-0.2884        ? might be 1.0764x slower
   put-by-val-machine-int                             4.2477+-0.3137            4.1003+-0.2610          might be 1.0359x faster
   rare-osr-exit-on-local                            25.4911+-0.2411           24.4973+-0.8674          might be 1.0406x faster
   register-pressure-from-osr                        38.5587+-0.1077     ^     38.0007+-0.2934        ^ definitely 1.0147x faster
   setter                                             7.2455+-0.1543            7.0966+-0.1738          might be 1.0210x faster
   simple-activation-demo                            44.9509+-0.7473           44.9391+-0.9497        
   simple-getter-access                              21.6575+-0.0892     !     39.9102+-0.2885        ! definitely 1.8428x slower
   simple-poly-call-nested                           13.4908+-0.4527           13.4630+-0.1723        
   simple-poly-call                                   2.1773+-0.0952            2.1533+-0.2194          might be 1.0111x faster
   sin-boolean                                       29.4828+-1.5170     !     37.4934+-0.0964        ! definitely 1.2717x slower
   sinkable-new-object-dag                          116.6228+-0.8593     !    453.6685+-2.4984        ! definitely 3.8900x slower
   sinkable-new-object-taken                         91.1771+-4.4688     !    242.0369+-0.6390        ! definitely 2.6546x slower
   sinkable-new-object                               60.9850+-0.9860     !    225.5914+-2.3441        ! definitely 3.6991x slower
   slow-array-profile-convergence                     5.0558+-0.2884            5.0335+-0.2434        
   slow-convergence                                   5.6465+-0.3511     ?      5.6841+-0.3164        ?
   sparse-conditional                                 1.8359+-0.1020            1.8192+-0.0972        
   splice-to-remove                                  36.6088+-7.1041           34.9860+-5.2682          might be 1.0464x faster
   string-char-code-at                               30.3575+-0.5042     ?     30.5596+-0.1255        ?
   string-concat-object                               3.2576+-0.3479            3.0875+-0.0603          might be 1.0551x faster
   string-concat-pair-object                          3.2261+-0.4070            3.1658+-0.2467          might be 1.0190x faster
   string-concat-pair-simple                         18.6556+-0.2096           18.5200+-0.2180        
   string-concat-simple                              19.8800+-1.4408           19.3168+-0.2418          might be 1.0292x faster
   string-cons-repeat                                12.0523+-0.2335           11.9501+-0.2123        
   string-cons-tower                                 11.4610+-0.2810     ?     11.5821+-0.3386        ? might be 1.0106x slower
   string-equality                                   33.8660+-1.2201           33.4109+-0.1460          might be 1.0136x faster
   string-get-by-val-big-char                        13.1780+-0.2773     ?     13.2233+-0.3382        ?
   string-get-by-val-out-of-bounds-insane             8.4455+-0.1898            8.3916+-0.2080        
   string-get-by-val-out-of-bounds                    9.5274+-0.0718     ?      9.5297+-0.1453        ?
   string-get-by-val                                  6.7510+-0.1086            6.6613+-0.1287          might be 1.0135x faster
   string-hash                                        3.5029+-0.0523     ?      3.5790+-0.1316        ? might be 1.0217x slower
   string-long-ident-equality                        26.6472+-0.2015     ?     26.7075+-0.2235        ?
   string-repeat-arith                               62.1497+-0.6698     ?     62.3445+-0.3617        ?
   string-sub                                       128.3932+-13.1800         124.9559+-10.3201         might be 1.0275x faster
   string-test                                        4.7396+-0.2010            4.7198+-0.1920        
   string-var-equality                               62.2034+-0.3990     ?     62.4970+-1.1900        ?
   structure-hoist-over-transitions                   4.0231+-0.2828            3.9997+-0.2371        
   substring-concat-weird                            73.2336+-0.6126           73.0629+-0.6829        
   substring-concat                                  77.4042+-1.1964     ?     77.5797+-0.8602        ?
   substring                                         88.8140+-0.2364     ?     88.9866+-0.1945        ?
   switch-char-constant                               3.8516+-0.1636     ?      3.8702+-0.1977        ?
   switch-char                                       11.4363+-0.8443           11.0693+-0.1606          might be 1.0331x faster
   switch-constant                                   16.0402+-1.4455     ^     11.8289+-0.0993        ^ definitely 1.3560x faster
   switch-string-basic-big-var                       28.9197+-3.5943           27.5436+-1.5166          might be 1.0500x faster
   switch-string-basic-big                           24.7867+-1.3142     ?     26.5432+-3.1280        ? might be 1.0709x slower
   switch-string-basic-var                           32.5650+-1.1665           32.4203+-0.6607        
   switch-string-basic                               25.6594+-2.2299           24.6808+-1.9929          might be 1.0396x faster
   switch-string-big-length-tower-var                30.3538+-0.1972     ?     30.3622+-0.1693        ?
   switch-string-length-tower-var                    25.9030+-0.1544     ?     25.9549+-0.3374        ?
   switch-string-length-tower                        20.7535+-0.1659     ?     20.8020+-0.0925        ?
   switch-string-short                               20.5867+-0.2700     ?     20.7989+-0.5326        ? might be 1.0103x slower
   switch                                            19.2795+-1.5976           17.6420+-1.2611          might be 1.0928x faster
   tear-off-arguments-simple                          2.9830+-0.2528            2.9618+-0.2471        
   tear-off-arguments                                 4.6494+-0.1883            4.5898+-0.1310          might be 1.0130x faster
   temporal-structure                                20.3470+-0.1224           20.3274+-0.1620        
   to-int32-boolean                                  25.0353+-0.1112           24.9971+-0.1751        
   undefined-property-access                        583.9514+-2.0631     !   1248.4633+-4.2484        ! definitely 2.1380x slower
   undefined-test                                     4.9692+-0.1013     ?      5.0055+-0.1810        ?
   unprofiled-licm                                   34.7032+-0.5001     !     92.2252+-0.1580        ! definitely 2.6575x slower
   weird-inlining-const-prop                          3.4278+-0.1809            3.2885+-0.1343          might be 1.0424x faster

   &lt;arithmetic&gt;                                      30.5198+-0.0685     !     40.5466+-0.0709        ! definitely 1.3285x slower
   &lt;geometric&gt; *                                     13.5534+-0.0390     !     14.6148+-0.0240        ! definitely 1.0783x slower
   &lt;harmonic&gt;                                         6.7218+-0.0736     ?      6.8254+-0.0598        ? might be 1.0154x slower

                                                         Baseline         CheckFTLCapabilitesAgain                              
AsmBench:
   bigfib.cpp                                       878.0169+-4.1164     !   1629.5879+-8.3457        ! definitely 1.8560x slower
   cray.c                                           932.9725+-6.5789     !   1196.9877+-5.0369        ! definitely 1.2830x slower
   dry.c                                           1037.2360+-51.1077    !   2211.6805+-5.8159        ! definitely 2.1323x slower
   FloatMM.c                                       1300.6982+-1.1365     !   3104.3005+-7.1997        ! definitely 2.3866x slower
   gcc-loops.cpp                                   8242.9375+-11.8682    !  21128.2677+-85.1920       ! definitely 2.5632x slower
   n-body.c                                        2459.0804+-1.8172     !   3349.5526+-7.2435        ! definitely 1.3621x slower
   Quicksort.c                                      716.3071+-2.8297     !   1174.3195+-2.6994        ! definitely 1.6394x slower
   stepanov_container.cpp                          6097.1636+-59.6463    !   8004.3325+-69.4672       ! definitely 1.3128x slower
   Towers.c                                         603.8243+-2.3533     !    843.3235+-3.4249        ! definitely 1.3966x slower

   &lt;arithmetic&gt;                                    2474.2485+-7.4511     !   4738.0392+-16.7050       ! definitely 1.9149x slower
   &lt;geometric&gt; *                                   1573.2813+-7.0126     !   2695.5319+-4.5170        ! definitely 1.7133x slower
   &lt;harmonic&gt;                                      1170.5747+-6.0796     !   1902.1325+-2.1761        ! definitely 1.6250x slower

                                                         Baseline         CheckFTLCapabilitesAgain                              
CompressionBench:
   huffman                                          986.6367+-3.9390     ?    993.3391+-5.5206        ?
   arithmetic-simple                                755.8078+-4.0038     !    823.0468+-8.9523        ! definitely 1.0890x slower
   arithmetic-precise                               583.7607+-3.9752     !    638.0286+-11.1589       ! definitely 1.0930x slower
   arithmetic-complex-precise                       581.1090+-4.6540     !    632.3051+-5.3181        ! definitely 1.0881x slower
   arithmetic-precise-order-0                       880.3327+-2.1561     !    993.3704+-7.3136        ! definitely 1.1284x slower
   arithmetic-precise-order-1                       634.4040+-7.7519     !    720.2720+-6.7940        ! definitely 1.1354x slower
   arithmetic-precise-order-2                       695.2308+-2.2665     !    734.2612+-4.0503        ! definitely 1.0561x slower
   arithmetic-simple-order-1                        783.2249+-24.0466    !    926.2104+-8.3223        ! definitely 1.1826x slower
   arithmetic-simple-order-2                        856.9854+-9.3096     !   1010.2057+-10.4138       ! definitely 1.1788x slower
   lz-string                                        650.6823+-35.1524         648.1721+-37.3666       

   &lt;arithmetic&gt;                                     740.8174+-3.1775     !    811.9211+-3.9340        ! definitely 1.0960x slower
   &lt;geometric&gt; *                                    729.8222+-3.3225     !    798.2359+-4.8790        ! definitely 1.0937x slower
   &lt;harmonic&gt;                                       719.2511+-3.5920     !    784.8371+-5.8218        ! definitely 1.0912x slower

                                                         Baseline         CheckFTLCapabilitesAgain                              
All benchmarks:
   &lt;arithmetic&gt;                                     187.2725+-1.3372     !    260.5900+-0.3086        ! definitely 1.3915x slower
   &lt;geometric&gt;                                       23.1282+-0.0289     !     25.4349+-0.0259        ! definitely 1.0997x slower
   &lt;harmonic&gt;                                         5.8469+-0.0445     !      6.5479+-0.0676        ! definitely 1.1199x slower

                                                         Baseline         CheckFTLCapabilitesAgain                              
Geomean of preferred means:
   &lt;scaled-result&gt;                                  119.5923+-0.4503     !    137.5658+-0.2518        ! definitely 1.1503x slower</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068064</commentid>
    <comment_count>9</comment_count>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-02-10 08:18:31 -0800</bug_when>
    <thetext>Seems like capabilities is rejecting some SSA-only node. Have you checked which one? The verboseFTLFailure option helps.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068122</commentid>
    <comment_count>10</comment_count>
      <attachid>246339</attachid>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-02-10 13:08:02 -0800</bug_when>
    <thetext>Created attachment 246339
Patch for Review

With the addition of GetArgument to nodes the FTL can compile, performance of this change is neutral.

Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on msaboff-pro (MacPro5,1).

VMs tested:
&quot;Baseline&quot; at /Volumes/Data/src/webkit.baseline/WebKitBuild/Release/JavaScriptCore.framework/Versions/A/Resources/jsc
&quot;GCDontDropLocks&quot; at /Volumes/Data/src/webkit/WebKitBuild/Release/JavaScriptCore.framework/Versions/A/Resources/jsc

Collected 4 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.

                                                         Baseline              GCDontDropLocks                                  
SunSpider:
   3d-cube                                            8.4182+-0.1632     ?      8.4540+-0.2904        ?
   3d-morph                                          12.5315+-0.1126           12.3455+-0.1700          might be 1.0151x faster
   3d-raytrace                                       11.2659+-0.2415     ?     11.2862+-0.5272        ?
   access-binary-trees                                3.3699+-0.2193     ?      3.3897+-0.1905        ?
   access-fannkuch                                   10.3343+-0.1275     ?     10.3641+-0.1133        ?
   access-nbody                                       5.3344+-0.1630     ?      5.4145+-0.1666        ? might be 1.0150x slower
   access-nsieve                                      5.7599+-0.2325     ?      5.8395+-0.4122        ? might be 1.0138x slower
   bitops-3bit-bits-in-byte                           2.3200+-0.0779     ?      2.3464+-0.1267        ? might be 1.0114x slower
   bitops-bits-in-byte                                6.4326+-0.0727            6.3898+-0.1107        
   bitops-bitwise-and                                 3.2323+-0.5347            3.0872+-0.0985          might be 1.0470x faster
   bitops-nsieve-bits                                 6.7697+-0.2507            6.7692+-0.2439        
   controlflow-recursive                              3.5411+-0.1371     ?      3.5575+-0.1420        ?
   crypto-aes                                         7.3265+-0.1178            7.2000+-0.2995          might be 1.0176x faster
   crypto-md5                                         4.1788+-0.1741     ?      4.2330+-0.3140        ? might be 1.0130x slower
   crypto-sha1                                        4.2776+-0.1844            4.1335+-0.1470          might be 1.0349x faster
   date-format-tofte                                 16.4802+-0.8108     ?     16.7255+-0.4282        ? might be 1.0149x slower
   date-format-xparb                                  9.0560+-0.3985     ?      9.2162+-0.5968        ? might be 1.0177x slower
   math-cordic                                        5.5895+-0.0596            5.5720+-0.2297        
   math-partial-sums                                 10.9075+-0.1516     ?     11.0041+-0.1998        ?
   math-spectral-norm                                 3.6575+-0.0922            3.5025+-0.0993          might be 1.0443x faster
   regexp-dna                                        11.5829+-0.4284           11.5226+-0.3204        
   string-base64                                      7.2734+-0.4649            7.0970+-0.2133          might be 1.0249x faster
   string-fasta                                      12.1530+-0.1269           11.8853+-0.3384          might be 1.0225x faster
   string-tagcloud                                   17.6798+-0.7478     ?     17.8823+-0.8228        ? might be 1.0115x slower
   string-unpack-code                                37.7018+-0.8088     ?     38.7096+-1.0123        ? might be 1.0267x slower
   string-validate-input                              8.4999+-0.2591            8.3740+-0.0986          might be 1.0150x faster

   &lt;arithmetic&gt; *                                     9.0644+-0.0219     ?      9.0885+-0.0890        ? might be 1.0027x slower
   &lt;geometric&gt;                                        7.3782+-0.0384            7.3558+-0.0622          might be 1.0031x faster
   &lt;harmonic&gt;                                         6.1857+-0.0489            6.1506+-0.0511          might be 1.0057x faster

                                                         Baseline              GCDontDropLocks                                  
LongSpider:
   3d-cube                                         1572.4506+-15.8268    ?   1579.3855+-14.0683       ?
   3d-morph                                        1978.3008+-2.8752     ?   1979.7406+-5.3939        ?
   3d-raytrace                                     1545.5157+-5.8466         1542.8701+-13.7048       
   access-binary-trees                             1857.8989+-12.9700    ?   1865.8145+-14.8117       ?
   access-fannkuch                                  612.4640+-16.6624         603.9508+-27.4607         might be 1.0141x faster
   access-nbody                                    1479.2485+-0.7502     ?   1480.2745+-2.9993        ?
   access-nsieve                                   1815.8328+-22.5018    ?   1816.2382+-1.3841        ?
   bitops-3bit-bits-in-byte                          70.5505+-0.4485     ?     71.1366+-0.8852        ?
   bitops-bits-in-byte                              364.9235+-9.0461     ?    371.5090+-20.2799       ? might be 1.0180x slower
   bitops-nsieve-bits                              1451.4608+-9.9395     ?   1454.1737+-3.7660        ?
   controlflow-recursive                           1088.8662+-3.8220     !   1100.7425+-4.0526        ! definitely 1.0109x slower
   crypto-aes                                      1290.4815+-7.2738         1287.4751+-8.8507        
   crypto-md5                                      1074.3110+-11.4371    ?   1077.0363+-9.5350        ?
   crypto-sha1                                     1451.3952+-6.7547         1447.1078+-2.2909        
   date-format-tofte                               1504.3210+-34.7836    ?   1505.2068+-46.5842       ?
   date-format-xparb                               1382.9160+-34.4685    ?   1386.0083+-58.8536       ?
   math-cordic                                     1048.7971+-2.3046         1047.6755+-3.3711        
   math-partial-sums                               1278.7834+-1.2912     ?   1279.2395+-4.4666        ?
   math-spectral-norm                              1220.3388+-5.9809         1218.7812+-2.6360        
   string-base64                                    633.7208+-2.0387          631.6899+-0.6469        
   string-fasta                                     856.6053+-9.0596          854.2009+-7.9423        
   string-tagcloud                                  420.4265+-3.1453     ?    427.4407+-4.9112        ? might be 1.0167x slower

   &lt;arithmetic&gt;                                    1181.8004+-1.9563     ?   1183.0772+-3.1142        ? might be 1.0011x slower
   &lt;geometric&gt; *                                    996.9258+-2.5696     ?    998.8010+-5.1858        ? might be 1.0019x slower
   &lt;harmonic&gt;                                       625.5198+-2.7878     ?    628.8298+-5.7468        ? might be 1.0053x slower

                                                         Baseline              GCDontDropLocks                                  
V8Spider:
   crypto                                           101.2330+-0.9714           99.7784+-1.0863          might be 1.0146x faster
   deltablue                                        124.5154+-4.9894     ?    126.6332+-5.5302        ? might be 1.0170x slower
   earley-boyer                                      81.0359+-2.9248           80.9374+-2.3870        
   raytrace                                          51.1403+-1.9148           50.2490+-2.2622          might be 1.0177x faster
   regexp                                           127.8777+-1.2461     ?    128.4796+-1.9493        ?
   richards                                         131.1280+-2.5493          130.1443+-3.1131        
   splay                                             58.5543+-2.9304     ?     59.8976+-7.3677        ? might be 1.0229x slower

   &lt;arithmetic&gt;                                      96.4978+-1.0637     ?     96.5885+-1.9003        ? might be 1.0009x slower
   &lt;geometric&gt; *                                     90.8896+-0.8476     ?     90.9124+-2.0287        ? might be 1.0003x slower
   &lt;harmonic&gt;                                        84.9957+-0.6852           84.9280+-2.2587          might be 1.0008x faster

                                                         Baseline              GCDontDropLocks                                  
Octane:
   encrypt                                           0.46304+-0.01328    ?     0.46374+-0.01389       ?
   decrypt                                           8.23338+-0.05522          8.23142+-0.02429       
   deltablue                                x2       0.39298+-0.01138    ?     0.39656+-0.01005       ?
   earley                                            1.31261+-0.01279    ?     1.31339+-0.01974       ?
   boyer                                            11.82759+-0.18553    ?    11.93536+-0.17688       ?
   navier-stokes                            x2       7.37550+-0.00269    ?     7.38452+-0.03123       ?
   raytrace                                 x2       2.61455+-0.06000          2.59075+-0.10635       
   richards                                 x2       0.24120+-0.00097          0.24073+-0.00149       
   splay                                    x2       0.66273+-0.00946          0.66208+-0.00847       
   regexp                                   x2      62.70158+-1.07559         62.29042+-2.17956       
   pdfjs                                    x2      97.02221+-0.86093         96.58048+-1.72717       
   mandreel                                 x2     107.28598+-0.41204        106.62174+-0.70212       
   gbemu                                    x2      96.74476+-4.03921    ?    97.38819+-5.47451       ?
   closure                                           0.96883+-0.00451    ?     0.96913+-0.00360       ?
   jquery                                           12.32544+-0.08550    ?    12.35530+-0.10213       ?
   box2d                                    x2      28.16444+-0.20330    ?    28.17626+-0.14401       ?
   zlib                                     x2     860.01270+-77.42407       859.88035+-84.05314      
   typescript                               x2    1470.67902+-9.90368    ?  1496.47662+-28.37605      ? might be 1.0175x slower

   &lt;arithmetic&gt;                                    183.43087+-5.00017    ?   185.08819+-3.90105       ? might be 1.0090x slower
   &lt;geometric&gt; *                                    13.30281+-0.04420    ?    13.31272+-0.06124       ? might be 1.0007x slower
   &lt;harmonic&gt;                                        1.37335+-0.00442    ?     1.37490+-0.00435       ? might be 1.0011x slower

                                                         Baseline              GCDontDropLocks                                  
Kraken:
   ai-astar                                          828.281+-2.947            818.522+-28.189          might be 1.0119x faster
   audio-beat-detection                              220.410+-1.706            217.615+-5.702           might be 1.0128x faster
   audio-dft                                         292.362+-1.850      ?     298.274+-24.488        ? might be 1.0202x slower
   audio-fft                                         155.227+-0.530      ?     156.124+-0.490         ?
   audio-oscillator                                  427.786+-2.012      ?     428.788+-3.065         ?
   imaging-darkroom                                  335.533+-1.042      ?     336.196+-3.089         ?
   imaging-desaturate                                144.997+-0.237      ?     145.393+-1.363         ?
   imaging-gaussian-blur                             222.434+-16.802           216.910+-0.663           might be 1.0255x faster
   json-parse-financial                               92.556+-1.588      ?      92.907+-1.619         ?
   json-stringify-tinderbox                          112.199+-1.240      ?     114.627+-5.114         ? might be 1.0216x slower
   stanford-crypto-aes                               117.362+-4.287      ?     120.658+-2.694         ? might be 1.0281x slower
   stanford-crypto-ccm                                96.086+-8.788      ?     103.093+-18.441        ? might be 1.0729x slower
   stanford-crypto-pbkdf2                            313.001+-1.601      ?     313.086+-2.011         ?
   stanford-crypto-sha256-iterative                   95.575+-0.941             94.668+-1.720         

   &lt;arithmetic&gt; *                                    246.701+-0.818      ?     246.918+-3.371         ? might be 1.0009x slower
   &lt;geometric&gt;                                       197.155+-0.961      ?     198.474+-3.148         ? might be 1.0067x slower
   &lt;harmonic&gt;                                        165.377+-1.442      ?     167.266+-3.681         ? might be 1.0114x slower

                                                         Baseline              GCDontDropLocks                                  
JSRegress:
   abs-boolean                                        4.6545+-0.1008     ?      4.6977+-0.0741        ?
   adapt-to-double-divide                            19.3527+-0.6111     ?     19.9943+-0.4514        ? might be 1.0332x slower
   aliased-arguments-getbyval                         1.4955+-0.0319            1.4733+-0.0986          might be 1.0151x faster
   allocate-big-object                                3.8573+-0.5466            3.6166+-0.2219          might be 1.0666x faster
   arity-mismatch-inlining                            1.4124+-0.0974            1.2565+-0.0749          might be 1.1240x faster
   array-access-polymorphic-structure                12.4926+-0.2404     ?     12.5963+-0.1836        ?
   array-nonarray-polymorhpic-access                 71.9895+-8.8771           68.9149+-0.1559          might be 1.0446x faster
   array-prototype-every                            187.1476+-5.9625     ?    187.2065+-9.4322        ?
   array-prototype-forEach                          185.5018+-16.1921    ?    185.6143+-5.2219        ?
   array-prototype-map                              223.3948+-6.2899          221.9315+-8.4885        
   array-prototype-some                             192.0681+-9.1314          190.5795+-16.8366       
   array-splice-contiguous                           90.4393+-4.8265     ?     91.5522+-4.7159        ? might be 1.0123x slower
   array-with-double-add                              7.5663+-0.1389            7.4557+-0.2137          might be 1.0148x faster
   array-with-double-increment                        5.4986+-0.0963            5.4875+-0.1367        
   array-with-double-mul-add                         11.7545+-0.1279           11.5923+-0.1017          might be 1.0140x faster
   array-with-double-sum                              5.5007+-0.1519     ?      5.5163+-0.1817        ?
   array-with-int32-add-sub                          13.1166+-0.1854     ?     13.1217+-0.1490        ?
   array-with-int32-or-double-sum                     5.2689+-0.1974     ?      5.3748+-0.2729        ? might be 1.0201x slower
   ArrayBuffer-DataView-alloc-large-long-lived   
                                                     65.6398+-2.5010     ?     65.8452+-3.7800        ?
   ArrayBuffer-DataView-alloc-long-lived             27.2765+-1.3810     ?     27.8345+-3.0536        ? might be 1.0205x slower
   ArrayBuffer-Int32Array-byteOffset                  5.2795+-0.1901     ?      5.2905+-0.4848        ?
   ArrayBuffer-Int8Array-alloc-large-long-lived   
                                                     69.6019+-1.3762     ?     71.2387+-5.1734        ? might be 1.0235x slower
   ArrayBuffer-Int8Array-alloc-long-lived-buffer   
                                                     44.7752+-2.0712           44.2270+-1.2250          might be 1.0124x faster
   ArrayBuffer-Int8Array-alloc-long-lived            25.0690+-0.6854     ?     27.1992+-3.2519        ? might be 1.0850x slower
   ArrayBuffer-Int8Array-alloc                       21.3313+-0.8172           21.1887+-0.8477        
   asmjs_bool_bug                                    12.9000+-0.2973           12.7668+-0.0764          might be 1.0104x faster
   assign-custom-setter-polymorphic                   6.1367+-0.1806            6.0308+-0.2188          might be 1.0176x faster
   assign-custom-setter                               8.1672+-0.1334     ?      8.2919+-0.2043        ? might be 1.0153x slower
   basic-set                                         17.5738+-0.4739     ?     18.1650+-1.2100        ? might be 1.0336x slower
   big-int-mul                                        7.7270+-0.1088            7.7198+-0.0846        
   boolean-test                                       4.9018+-0.0622     ?      4.9471+-0.0962        ?
   branch-fold                                        5.1659+-0.1001     ?      5.1785+-0.0697        ?
   by-val-generic                                    15.2974+-0.2972     ?     15.6628+-0.2196        ? might be 1.0239x slower
   call-spread-apply                                 26.5145+-0.7496           26.2604+-0.8804        
   call-spread-call                                  11.6060+-0.6335     ?     11.6605+-0.5409        ?
   captured-assignments                               0.8287+-0.1338     ?      0.8297+-0.1586        ?
   cast-int-to-double                                 8.5576+-0.1353            8.5499+-0.1462        
   cell-argument                                     12.0210+-0.2253     ?     12.1844+-0.2870        ? might be 1.0136x slower
   cfg-simplify                                       4.0751+-0.2984            3.9841+-0.1415          might be 1.0228x faster
   chain-getter-access                               17.0258+-0.6231           16.9030+-0.2355        
   cmpeq-obj-to-obj-other                            16.3461+-0.8813           16.1530+-0.2867          might be 1.0120x faster
   constant-test                                      8.0795+-0.1347     ?      8.0857+-0.0887        ?
   DataView-custom-properties                        74.0634+-3.0873           72.5284+-1.9700          might be 1.0212x faster
   delay-tear-off-arguments-strictmode               44.4702+-2.4880           44.3380+-0.9907        
   destructuring-arguments                            9.1158+-0.1124     ?      9.2268+-0.3004        ? might be 1.0122x slower
   destructuring-swap                                 8.2737+-0.2112            8.2017+-0.1495        
   direct-arguments-getbyval                          1.5498+-0.0580     ?      1.5948+-0.0885        ? might be 1.0290x slower
   div-boolean-double                                 5.9710+-0.1101            5.9473+-0.1471        
   div-boolean                                       10.1363+-0.1685     ?     10.1957+-0.0914        ?
   double-get-by-val-out-of-bounds                    7.9268+-0.1203     ?      7.9448+-0.3699        ?
   double-pollution-getbyval                         10.0666+-0.0848           10.0246+-0.1511        
   double-pollution-putbyoffset                       7.9918+-0.1625            7.9761+-0.0645        
   double-to-int32-typed-array-no-inline              3.6428+-0.1966     ?      3.7709+-0.2960        ? might be 1.0352x slower
   double-to-int32-typed-array                        3.1005+-0.1723     ?      3.2510+-0.0592        ? might be 1.0485x slower
   double-to-uint32-typed-array-no-inline             3.7531+-0.1611     ?      3.7822+-0.1117        ?
   double-to-uint32-typed-array                       3.3169+-0.1672     ?      3.4016+-0.0778        ? might be 1.0255x slower
   elidable-new-object-dag                           62.3590+-1.7917     ?     62.3649+-0.9649        ?
   elidable-new-object-roflcopter                   237.8345+-0.5354          237.2275+-3.8306        
   elidable-new-object-then-call                     59.6786+-1.0979     ?     59.7554+-0.6394        ?
   elidable-new-object-tree                          69.5608+-2.0522           69.3770+-1.7358        
   empty-string-plus-int                             10.3713+-0.4963     ?     10.4081+-0.2331        ?
   emscripten-cube2hash                              58.9937+-2.8777           57.2469+-0.8571          might be 1.0305x faster
   external-arguments-getbyval                        2.4733+-0.1644     ?      2.6055+-0.0549        ? might be 1.0535x slower
   external-arguments-putbyval                        3.8029+-0.2167            3.7583+-0.2723          might be 1.0119x faster
   fixed-typed-array-storage-var-index                1.9705+-0.1155            1.9130+-0.1172          might be 1.0300x faster
   fixed-typed-array-storage                          1.4205+-0.1536     ?      1.5037+-0.1146        ? might be 1.0585x slower
   Float32Array-matrix-mult                           8.6047+-0.6410     ?      8.7645+-1.0707        ? might be 1.0186x slower
   Float32Array-to-Float64Array-set                 116.5335+-1.2744     ?    119.3748+-7.6337        ? might be 1.0244x slower
   Float64Array-alloc-long-lived                    104.0468+-0.2593          103.6662+-0.3895        
   Float64Array-to-Int16Array-set                   148.9898+-6.4143          143.4996+-0.3547          might be 1.0383x faster
   fold-double-to-int                                23.9456+-0.1385           23.7025+-0.3318          might be 1.0103x faster
   fold-get-by-id-to-multi-get-by-offset-rare-int   
                                                     14.5051+-0.5287     ?     14.8297+-1.3090        ? might be 1.0224x slower
   fold-get-by-id-to-multi-get-by-offset             12.3587+-0.6665     ?     12.5906+-0.4061        ? might be 1.0188x slower
   fold-multi-get-by-offset-to-get-by-offset   
                                                     10.8820+-1.2692     ?     11.0045+-1.3174        ? might be 1.0113x slower
   fold-multi-get-by-offset-to-poly-get-by-offset   
                                                     10.7514+-0.1000     ?     11.3784+-1.2265        ? might be 1.0583x slower
   fold-multi-put-by-offset-to-poly-put-by-offset   
                                                     10.3288+-1.2627            9.9453+-0.9965          might be 1.0386x faster
   fold-multi-put-by-offset-to-put-by-offset   
                                                      8.8533+-1.0844            8.1558+-1.2579          might be 1.0855x faster
   fold-multi-put-by-offset-to-replace-or-transition-put-by-offset   
                                                     15.7582+-1.4230           15.6997+-1.5090        
   fold-put-by-id-to-multi-put-by-offset             12.3923+-0.6360     ^     11.2931+-0.2172        ^ definitely 1.0973x faster
   fold-put-structure                                 8.7355+-1.2192            8.4242+-0.7025          might be 1.0370x faster
   for-of-iterate-array-entries                      10.8713+-0.2986     ?     11.1339+-0.3514        ? might be 1.0242x slower
   for-of-iterate-array-keys                          4.9062+-0.1528     ?      5.1445+-0.1526        ? might be 1.0486x slower
   for-of-iterate-array-values                        4.2009+-0.3647     ?      4.4331+-0.3128        ? might be 1.0553x slower
   fround                                            25.7797+-0.9133     ?     25.8633+-0.4932        ?
   ftl-library-inlining-dataview                    154.1937+-16.4122    ?    163.3884+-35.6620       ? might be 1.0596x slower
   ftl-library-inlining                             137.4650+-7.6708          132.9558+-0.2219          might be 1.0339x faster
   function-dot-apply                                 2.8934+-0.1718            2.8358+-0.1823          might be 1.0203x faster
   function-test                                      5.4753+-0.1121     ?      5.5850+-0.0873        ? might be 1.0200x slower
   function-with-eval                               221.8502+-2.4193     ?    224.4473+-3.2197        ? might be 1.0117x slower
   gcse-poly-get-less-obvious                        36.7003+-0.3625     ?     36.8351+-0.5225        ?
   gcse-poly-get                                     36.8918+-0.5441           36.7315+-0.2858        
   gcse                                               9.1646+-0.1711     ?      9.2031+-0.2400        ?
   get-by-id-bimorphic-check-structure-elimination-simple   
                                                      4.1537+-0.2285            4.0828+-0.1580          might be 1.0174x faster
   get-by-id-bimorphic-check-structure-elimination   
                                                     12.0768+-0.0904           11.9962+-0.0835        
   get-by-id-chain-from-try-block                    19.6868+-0.1434           19.5738+-0.1529        
   get-by-id-check-structure-elimination             10.7141+-0.1719     ?     10.7539+-0.1667        ?
   get-by-id-proto-or-self                           32.2889+-4.9828           30.8953+-0.8073          might be 1.0451x faster
   get-by-id-quadmorphic-check-structure-elimination-simple   
                                                      5.2346+-0.1283            5.0843+-0.0552          might be 1.0296x faster
   get-by-id-self-or-proto                           32.5116+-3.3519           31.6240+-3.8106          might be 1.0281x faster
   get-by-val-out-of-bounds                           7.5823+-0.0792     ?      7.8698+-0.4309        ? might be 1.0379x slower
   get_callee_monomorphic                             6.0835+-0.6218     ?      6.3014+-0.5218        ? might be 1.0358x slower
   get_callee_polymorphic                             5.2173+-0.2648     ?      5.3146+-0.3111        ? might be 1.0187x slower
   getter-no-activation                               6.3169+-0.0424     ?      6.3377+-0.0557        ?
   getter-richards                                  179.4138+-4.1424     ?    179.5891+-4.4725        ?
   getter                                             9.0655+-0.6084            9.0225+-0.3642        
   global-var-const-infer-fire-from-opt               1.6066+-0.2165            1.5850+-0.2767          might be 1.0136x faster
   global-var-const-infer                             1.5861+-0.0430     ?      1.6118+-0.2625        ? might be 1.0162x slower
   HashMap-put-get-iterate-keys                      50.1355+-0.4759     ?     50.6242+-2.4185        ?
   HashMap-put-get-iterate                           48.8799+-0.8023     ?     49.1795+-0.7087        ?
   HashMap-string-put-get-iterate                    49.7312+-0.8450     ?     49.8484+-0.5696        ?
   hoist-make-rope                                   16.1805+-0.6725     ?     16.9859+-1.6259        ? might be 1.0498x slower
   hoist-poly-check-structure-effectful-loop   
                                                      9.6718+-0.1211            9.5989+-0.2094        
   hoist-poly-check-structure                         6.2363+-0.1985     ?      6.3167+-0.0493        ? might be 1.0129x slower
   imul-double-only                                  13.1089+-2.2498           12.6905+-1.4664          might be 1.0330x faster
   imul-int-only                                     14.5789+-0.1185     ?     14.6594+-0.3395        ?
   imul-mixed                                        12.2266+-0.4641     ?     12.8387+-1.1413        ? might be 1.0501x slower
   in-four-cases                                     36.2007+-0.5397           35.9999+-0.0827        
   in-one-case-false                                 18.6770+-0.3047           18.5905+-0.2504        
   in-one-case-true                                  18.5460+-0.1473     ?     18.6664+-0.3203        ?
   in-two-cases                                      19.3434+-0.0931     ?     19.4129+-0.0942        ?
   indexed-properties-in-objects                      4.6365+-0.1307     ?      4.6815+-0.0618        ?
   infer-closure-const-then-mov-no-inline             5.9440+-0.1169     ?      6.0260+-0.1108        ? might be 1.0138x slower
   infer-closure-const-then-mov                      26.4353+-1.0216           26.2432+-0.1218        
   infer-closure-const-then-put-to-scope-no-inline   
                                                     19.8334+-0.1292     ?     19.9190+-0.1847        ?
   infer-closure-const-then-put-to-scope             33.5945+-1.1687     ?     34.1675+-1.2123        ? might be 1.0171x slower
   infer-closure-const-then-reenter-no-inline   
                                                     92.9028+-0.1778           92.8307+-0.2439        
   infer-closure-const-then-reenter                  31.6311+-0.2693     ?     31.9343+-0.3087        ?
   infer-constant-global-property                    38.9811+-0.1272           38.8700+-0.0992        
   infer-constant-property                            3.5612+-0.1180     ?      3.6152+-0.1376        ? might be 1.0152x slower
   infer-one-time-closure-ten-vars                   17.7716+-0.2258     ?     18.0256+-0.9638        ? might be 1.0143x slower
   infer-one-time-closure-two-vars                   16.8160+-0.6024     ?     17.1002+-0.2575        ? might be 1.0169x slower
   infer-one-time-closure                            16.8242+-0.2903     ?     16.8865+-0.3971        ?
   infer-one-time-deep-closure                       29.9249+-1.2084     ?     29.9713+-0.4506        ?
   inline-arguments-access                            2.7684+-0.0437     ?      2.8510+-0.2293        ? might be 1.0299x slower
   inline-arguments-aliased-access                    3.1318+-0.0828     ?      3.1490+-0.1237        ?
   inline-arguments-local-escape                     25.7004+-0.6012     ?     25.8563+-0.3643        ?
   inline-get-scoped-var                              5.9445+-0.1765            5.8370+-0.1153          might be 1.0184x faster
   inlined-put-by-id-transition                      18.0613+-1.9021     ?     18.4288+-0.1420        ? might be 1.0203x slower
   int-or-other-abs-then-get-by-val                   9.4550+-0.1142     ?      9.4913+-0.1928        ?
   int-or-other-abs-zero-then-get-by-val             34.2383+-0.6654           33.9043+-0.3192        
   int-or-other-add-then-get-by-val                   8.4260+-0.2032     ?      8.5445+-0.2433        ? might be 1.0141x slower
   int-or-other-add                                   9.0619+-0.0778     ?      9.0886+-0.2179        ?
   int-or-other-div-then-get-by-val                   6.4757+-0.0938     ?      6.5332+-0.1177        ?
   int-or-other-max-then-get-by-val                   7.9882+-0.1066     ?      8.1210+-0.2448        ? might be 1.0166x slower
   int-or-other-min-then-get-by-val                   7.2601+-0.1107     ?      7.2715+-0.1845        ?
   int-or-other-mod-then-get-by-val                   6.2218+-0.2850            6.1956+-0.0833        
   int-or-other-mul-then-get-by-val                   6.4114+-0.1926     ?      6.4952+-0.1481        ? might be 1.0131x slower
   int-or-other-neg-then-get-by-val                   8.0944+-0.1098            8.0889+-0.1770        
   int-or-other-neg-zero-then-get-by-val             34.1515+-0.4809           33.8409+-0.2093        
   int-or-other-sub-then-get-by-val                   8.7601+-0.1033            8.6185+-0.0679          might be 1.0164x faster
   int-or-other-sub                                   6.9061+-0.3401     ?      6.9680+-0.1051        ?
   int-overflow-local                                 7.9780+-0.1877     ?      7.9924+-0.0832        ?
   Int16Array-alloc-long-lived                       77.0925+-0.1268     ^     76.5705+-0.3326        ^ definitely 1.0068x faster
   Int16Array-bubble-sort-with-byteLength            51.0751+-0.4058     ?     51.3408+-0.5052        ?
   Int16Array-bubble-sort                            49.8894+-0.4473           49.6786+-0.2021        
   Int16Array-load-int-mul                            2.3148+-0.0959            2.3042+-0.1090        
   Int16Array-to-Int32Array-set                     126.8885+-37.2383    ?    128.5230+-38.8723       ? might be 1.0129x slower
   Int32Array-alloc-large                            38.2947+-0.8977           38.0353+-1.3629        
   Int32Array-alloc-long-lived                       84.4915+-0.8421     ?     84.5505+-1.3463        ?
   Int32Array-alloc                                   4.9767+-0.1688            4.7601+-0.1492          might be 1.0455x faster
   Int32Array-Int8Array-view-alloc                   12.7070+-0.5780           12.3931+-0.5526          might be 1.0253x faster
   int52-spill                                       12.1982+-0.4893     ?     12.6000+-0.3576        ? might be 1.0329x slower
   Int8Array-alloc-long-lived                        71.3340+-1.1899           70.4129+-0.7941          might be 1.0131x faster
   Int8Array-load-with-byteLength                     5.2761+-0.2294            5.2421+-0.2216        
   Int8Array-load                                     5.1584+-0.1096     ?      5.2700+-0.0917        ? might be 1.0216x slower
   integer-divide                                    19.2887+-0.1819     ?     19.3428+-0.1846        ?
   integer-modulo                                     3.6653+-0.1631            3.5782+-0.1457          might be 1.0243x faster
   large-int-captured                                12.2614+-0.1279     ?     12.6848+-0.4867        ? might be 1.0345x slower
   large-int-neg                                     30.6094+-0.3377     ?     30.6644+-0.0403        ?
   large-int                                         27.7270+-0.1358     ?     27.7870+-0.1581        ?
   logical-not                                        8.4051+-0.2113            8.0862+-0.3146          might be 1.0394x faster
   lots-of-fields                                    19.1578+-0.3510     ?     19.3359+-0.2173        ?
   make-indexed-storage                               5.2587+-0.6761     ?      5.4574+-0.1207        ? might be 1.0378x slower
   make-rope-cse                                      6.4254+-0.3720            6.3045+-0.3535          might be 1.0192x faster
   marsaglia-larger-ints                             68.4944+-1.2980           68.3429+-0.8048        
   marsaglia-osr-entry                               34.6706+-1.1035     ?     34.7924+-0.6926        ?
   max-boolean                                        4.0743+-0.1784            3.9473+-0.1376          might be 1.0322x faster
   method-on-number                                  33.9269+-0.2022     ?     34.1981+-1.0151        ?
   min-boolean                                        3.8382+-0.1578     ?      3.8660+-0.2156        ?
   minus-boolean-double                               4.4182+-0.1638     ?      4.4248+-0.1018        ?
   minus-boolean                                      3.7380+-0.0944     ?      3.7861+-0.0624        ? might be 1.0129x slower
   misc-strict-eq                                    74.3518+-7.9824           71.5353+-1.3269          might be 1.0394x faster
   mod-boolean-double                                14.4360+-0.2254           14.3428+-0.1270        
   mod-boolean                                        9.1984+-0.0591            9.1083+-0.1100        
   mul-boolean-double                                 5.1852+-0.6855            5.0608+-0.1051          might be 1.0246x faster
   mul-boolean                                        4.0546+-0.1205            4.0192+-0.1044        
   neg-boolean                                        4.6334+-0.1319     ?      4.6467+-0.1506        ?
   negative-zero-divide                               0.6107+-0.1278     ?      0.6289+-0.1460        ? might be 1.0298x slower
   negative-zero-modulo                               0.5576+-0.0173     ?      0.5930+-0.0952        ? might be 1.0635x slower
   negative-zero-negate                               0.5408+-0.1091            0.5388+-0.1032        
   nested-function-parsing                           41.5181+-1.7234     ?     42.3985+-1.5201        ? might be 1.0212x slower
   new-array-buffer-dead                              4.0348+-0.2512     ?      4.1336+-0.1203        ? might be 1.0245x slower
   new-array-buffer-push                             10.3823+-0.3156     ?     10.4253+-0.0880        ?
   new-array-dead                                    17.5992+-1.5918           17.5905+-0.9402        
   new-array-push                                     8.0272+-0.1962     ?      8.0565+-0.3378        ?
   number-test                                        4.8040+-0.1225     ?      4.8043+-0.1512        ?
   object-closure-call                               10.6111+-0.2575           10.5595+-0.1573        
   object-test                                        5.2485+-0.1693            5.1948+-0.1835          might be 1.0103x faster
   obvious-sink-pathology-taken                     215.1147+-3.3997          214.1620+-0.4644        
   obvious-sink-pathology                           200.1269+-8.1760          199.9217+-1.9846        
   obviously-elidable-new-object                     55.3165+-1.5017           54.9796+-1.2386        
   plus-boolean-arith                                 4.0870+-0.1010            4.0074+-0.1210          might be 1.0199x faster
   plus-boolean-double                                4.4862+-0.1642            4.4242+-0.0713          might be 1.0140x faster
   plus-boolean                                       3.5700+-0.1719     ?      3.7527+-0.0908        ? might be 1.0512x slower
   poly-chain-access-different-prototypes-simple   
                                                      5.1960+-0.2069            5.0916+-0.0796          might be 1.0205x faster
   poly-chain-access-different-prototypes             3.6784+-0.1030            3.5420+-0.0853          might be 1.0385x faster
   poly-chain-access-simpler                          5.2195+-0.1059            5.1636+-0.1145          might be 1.0108x faster
   poly-chain-access                                  3.4917+-0.1433     ?      3.5483+-0.1412        ? might be 1.0162x slower
   poly-stricteq                                    100.1656+-0.1469          100.0320+-0.4477        
   polymorphic-array-call                             2.9268+-0.1696            2.7316+-0.1322          might be 1.0715x faster
   polymorphic-get-by-id                              5.2484+-0.1124     ?      5.2796+-0.1482        ?
   polymorphic-put-by-id                             48.1115+-0.5151     ?     49.0697+-8.2517        ? might be 1.0199x slower
   polymorphic-structure                             33.3530+-1.2016           32.7623+-0.9687          might be 1.0180x faster
   polyvariant-monomorphic-get-by-id                 16.9235+-0.1080           16.8543+-0.1604        
   proto-getter-access                               16.7967+-0.6746     ?     16.8078+-0.5516        ?
   put-by-id-replace-and-transition                  13.6254+-0.0431     ?     13.6846+-0.2404        ?
   put-by-id-slightly-polymorphic                     4.0937+-0.1532     ?      4.1898+-0.0794        ? might be 1.0235x slower
   put-by-id                                         19.5258+-0.1566     ?     19.9422+-0.7256        ? might be 1.0213x slower
   put-by-val-direct                                  0.9742+-0.0450     ?      1.0237+-0.1441        ? might be 1.0508x slower
   put-by-val-large-index-blank-indexing-type   
                                                     10.8092+-0.8496     ?     11.6863+-0.2738        ? might be 1.0811x slower
   put-by-val-machine-int                             4.1487+-0.1740     ?      4.1952+-0.2794        ? might be 1.0112x slower
   rare-osr-exit-on-local                            25.5348+-0.1545           25.5187+-0.3310        
   register-pressure-from-osr                        38.4960+-0.1936     ?     38.6727+-0.0769        ?
   setter                                             7.2130+-0.0968     ?      7.2328+-0.0739        ?
   simple-activation-demo                            44.9634+-0.3848           44.7938+-0.5353        
   simple-getter-access                              21.7957+-0.4772     ?     22.1135+-0.7077        ? might be 1.0146x slower
   simple-poly-call-nested                           13.0504+-0.3860     ?     13.3170+-0.2746        ? might be 1.0204x slower
   simple-poly-call                                   2.1075+-0.2394     ?      2.1107+-0.3298        ?
   sin-boolean                                       29.0068+-0.6013     ?     30.5367+-1.1111        ? might be 1.0527x slower
   sinkable-new-object-dag                          116.1004+-1.2779     ?    116.1453+-1.2708        ?
   sinkable-new-object-taken                         90.1947+-1.1470     ?     90.2230+-0.6040        ?
   sinkable-new-object                               60.7133+-0.7831           60.1281+-1.4341        
   slow-array-profile-convergence                     5.1678+-0.2608            5.1115+-0.5768          might be 1.0110x faster
   slow-convergence                                   5.5082+-0.2399     ?      5.7157+-0.3581        ? might be 1.0377x slower
   sparse-conditional                                 1.8230+-0.0778            1.8137+-0.1822        
   splice-to-remove                                  36.6860+-6.2339     ?     37.4087+-4.8565        ? might be 1.0197x slower
   string-char-code-at                               30.4198+-0.5544     ?     30.6482+-0.6200        ?
   string-concat-object                               3.2625+-0.4250            3.2300+-0.2563          might be 1.0101x faster
   string-concat-pair-object                          3.4754+-0.1915     ?      3.5167+-0.0466        ? might be 1.0119x slower
   string-concat-pair-simple                         18.8889+-0.4752           18.6403+-0.3163          might be 1.0133x faster
   string-concat-simple                              19.6453+-0.5054           19.4712+-0.6016        
   string-cons-repeat                                12.0885+-0.4172           11.7490+-0.1585          might be 1.0289x faster
   string-cons-tower                                 11.7847+-0.3797           11.4280+-0.4871          might be 1.0312x faster
   string-equality                                   33.8126+-0.9173           33.6017+-0.3902        
   string-get-by-val-big-char                        13.4598+-0.3470     ?     13.8488+-1.1826        ? might be 1.0289x slower
   string-get-by-val-out-of-bounds-insane             8.3265+-0.3481     ?      8.5162+-0.3630        ? might be 1.0228x slower
   string-get-by-val-out-of-bounds                    9.5153+-0.2000     ?      9.6157+-0.2603        ? might be 1.0106x slower
   string-get-by-val                                  6.7004+-0.0627     ?      6.8144+-0.2128        ? might be 1.0170x slower
   string-hash                                        3.6866+-0.0850            3.6252+-0.2137          might be 1.0169x faster
   string-long-ident-equality                        26.6011+-0.2583     ?     26.7570+-0.2267        ?
   string-repeat-arith                               62.3745+-0.1286     ?     62.6171+-0.3591        ?
   string-sub                                       122.9592+-7.1406     ?    123.6145+-6.0449        ?
   string-test                                        4.6650+-0.1218     ?      4.7573+-0.2209        ? might be 1.0198x slower
   string-var-equality                               61.9735+-0.4045     ?     62.0135+-0.4012        ?
   structure-hoist-over-transitions                   4.0211+-0.2445     ?      4.0335+-0.2540        ?
   substring-concat-weird                            73.1310+-0.4691     ?     73.1920+-0.7983        ?
   substring-concat                                  77.1300+-0.4742     ?     77.7907+-0.9704        ?
   substring                                         89.0831+-0.7636           88.9203+-0.4069        
   switch-char-constant                               3.8557+-0.2372     ?      3.8702+-0.1269        ?
   switch-char                                       11.2290+-0.0767           11.1948+-0.0271        
   switch-constant                                   15.9353+-0.5084           15.4952+-0.7201          might be 1.0284x faster
   switch-string-basic-big-var                       30.1849+-0.6670     ?     30.8915+-4.0400        ? might be 1.0234x slower
   switch-string-basic-big                           24.2051+-1.0537     ?     24.4816+-1.0980        ? might be 1.0114x slower
   switch-string-basic-var                           32.3972+-0.7530           32.2527+-1.1010        
   switch-string-basic                               24.6594+-1.1668     ?     24.7790+-3.6750        ?
   switch-string-big-length-tower-var                30.3163+-0.1803           30.2670+-0.1426        
   switch-string-length-tower-var                    25.9023+-0.2995     ?     26.0675+-0.3798        ?
   switch-string-length-tower                        20.9170+-0.3035     ?     20.9708+-0.3997        ?
   switch-string-short                               20.4302+-0.4061     ?     20.6995+-0.2808        ? might be 1.0132x slower
   switch                                            20.1923+-3.0800           20.1823+-3.7469        
   tear-off-arguments-simple                          3.1180+-0.2133     ?      3.1375+-0.1730        ?
   tear-off-arguments                                 4.7030+-0.0983            4.6130+-0.2698          might be 1.0195x faster
   temporal-structure                                20.2697+-0.3275     ?     20.4108+-0.3703        ?
   to-int32-boolean                                  25.0076+-0.1309     ?     25.2031+-0.6102        ?
   undefined-property-access                        586.5524+-3.5528     ?    594.8389+-13.0704       ? might be 1.0141x slower
   undefined-test                                     4.9396+-0.1152     ?      4.9655+-0.1334        ?
   unprofiled-licm                                   34.9355+-0.6572           34.6259+-0.9224        
   weird-inlining-const-prop                          3.3925+-0.2007     ?      3.4482+-0.1229        ? might be 1.0164x slower

   &lt;arithmetic&gt;                                      30.5943+-0.1601     ?     30.6418+-0.1686        ? might be 1.0016x slower
   &lt;geometric&gt; *                                     13.5852+-0.0523     ?     13.6146+-0.0772        ? might be 1.0022x slower
   &lt;harmonic&gt;                                         6.7466+-0.1351     ?      6.7761+-0.0829        ? might be 1.0044x slower

                                                         Baseline              GCDontDropLocks                                  
AsmBench:
   bigfib.cpp                                       885.9561+-14.4322         885.2551+-10.2143       
   cray.c                                           939.0995+-19.5729         937.8809+-9.9572        
   dry.c                                           1036.8992+-49.4114    ?   1040.2014+-52.5562       ?
   FloatMM.c                                       1300.5830+-1.2492     ?   1301.7482+-4.2456        ?
   gcc-loops.cpp                                   8243.2223+-26.0528        8239.2985+-37.6850       
   n-body.c                                        2461.7712+-5.4009         2461.5670+-2.6966        
   Quicksort.c                                      716.7245+-4.6225          709.4655+-15.1560         might be 1.0102x faster
   stepanov_container.cpp                          6126.7295+-52.5106    ?   6141.3320+-143.1878      ?
   Towers.c                                         604.7589+-1.0772     ?    604.8128+-2.1064        ?

   &lt;arithmetic&gt;                                    2479.5271+-8.2109     ?   2480.1735+-10.5904       ? might be 1.0003x slower
   &lt;geometric&gt; *                                   1577.3336+-5.9145         1576.2140+-6.6186          might be 1.0007x faster
   &lt;harmonic&gt;                                      1173.8192+-4.9787         1171.9223+-8.9496          might be 1.0016x faster

                                                         Baseline              GCDontDropLocks                                  
CompressionBench:
   huffman                                          985.9033+-6.2595     ?    994.1664+-5.1978        ?
   arithmetic-simple                                757.3226+-4.5343          756.6260+-4.4654        
   arithmetic-precise                               583.3495+-0.7610          580.8860+-1.9744        
   arithmetic-complex-precise                       579.1113+-5.5740     ?    582.7550+-6.9453        ?
   arithmetic-precise-order-0                       876.9205+-17.1287         872.4954+-13.8249       
   arithmetic-precise-order-1                       648.0650+-37.3673         635.1788+-3.8598          might be 1.0203x faster
   arithmetic-precise-order-2                       692.7225+-2.0392          688.6235+-3.1584        
   arithmetic-simple-order-1                        774.2105+-1.9221     ?    775.4611+-2.0768        ?
   arithmetic-simple-order-2                        865.3110+-11.6704         860.4604+-8.5941        
   lz-string                                        648.7929+-32.9223         636.9789+-28.2791         might be 1.0185x faster

   &lt;arithmetic&gt;                                     741.1709+-3.7991          738.3632+-2.2673          might be 1.0038x faster
   &lt;geometric&gt; *                                    730.2445+-4.4793          727.0790+-2.4987          might be 1.0044x faster
   &lt;harmonic&gt;                                       719.7312+-5.0940          716.3110+-2.6989          might be 1.0048x faster

                                                         Baseline              GCDontDropLocks                                  
All benchmarks:
   &lt;arithmetic&gt;                                     187.1217+-0.5054     ?    187.3061+-0.4097        ? might be 1.0010x slower
   &lt;geometric&gt;                                       23.1686+-0.0660     ?     23.2056+-0.1036        ? might be 1.0016x slower
   &lt;harmonic&gt;                                         5.8685+-0.0738     ?      5.8843+-0.0394        ? might be 1.0027x slower

                                                         Baseline              GCDontDropLocks                                  
Geomean of preferred means:
   &lt;scaled-result&gt;                                  119.7111+-0.2297     ?    119.7625+-0.3776        ? might be 1.0004x slower</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068140</commentid>
    <comment_count>11</comment_count>
      <attachid>246339</attachid>
    <who name="Filip Pizlo">fpizlo</who>
    <bug_when>2015-02-10 13:49:20 -0800</bug_when>
    <thetext>Comment on attachment 246339
Patch for Review

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

&gt; Source/JavaScriptCore/dfg/DFGPlan.cpp:387
&gt; -            
&gt; +
&gt; +        if (FTL::canCompile(dfg) == FTL::CannotCompile) {
&gt; +            finalizer = std::make_unique&lt;FailedFinalizer&gt;(*this);
&gt; +            return FailPath;
&gt; +        }
&gt; +

Maybe it&apos;s even better to do this before the LLVM initialization step?  Perhaps just before the dumpAndVerifyGraph(dfg, &quot;Graph jump before FTL lowering:&quot;).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068142</commentid>
    <comment_count>12</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-02-10 13:54:03 -0800</bug_when>
    <thetext>&gt; Maybe it&apos;s even better to do this before the LLVM initialization step? 
&gt; Perhaps just before the dumpAndVerifyGraph(dfg, &quot;Graph jump before FTL
&gt; lowering:&quot;).

I moved it as you suggested.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068144</commentid>
    <comment_count>13</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-02-10 13:59:55 -0800</bug_when>
    <thetext>Committed r179882: &lt;http://trac.webkit.org/changeset/179882&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1068341</commentid>
    <comment_count>14</comment_count>
    <who name="Cody A. Taylor">cody.taylor</who>
    <bug_when>2015-02-11 06:31:23 -0800</bug_when>
    <thetext>*** Bug 141042 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084304</commentid>
    <comment_count>15</comment_count>
    <who name="Cody A. Taylor">cody.taylor</who>
    <bug_when>2015-04-10 07:41:11 -0700</bug_when>
    <thetext>I still see the linked application crash with Safari 8.0.4 on OS X Yosemite 10.10.2.

Is it expected that this fixed is in Safari 8.0.4?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1084329</commentid>
    <comment_count>16</comment_count>
    <who name="Michael Saboff">msaboff</who>
    <bug_when>2015-04-10 10:24:52 -0700</bug_when>
    <thetext>(In reply to comment #15)
&gt; I still see the linked application crash with Safari 8.0.4 on OS X Yosemite
&gt; 10.10.2.
&gt; 
&gt; Is it expected that this fixed is in Safari 8.0.4?

This fix is not in 8.0.4 because we missed the deadline.  It should be in the next Safari update/release.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1089082</commentid>
    <comment_count>17</comment_count>
    <who name="Cody A. Taylor">cody.taylor</who>
    <bug_when>2015-04-27 11:02:23 -0700</bug_when>
    <thetext>*** Bug 141042 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246196</attachid>
            <date>2015-02-06 18:31:04 -0800</date>
            <delta_ts>2015-02-09 18:28:21 -0800</delta_ts>
            <desc>Work in progress patch without test</desc>
            <filename>139398-wip1.patch</filename>
            <type>text/plain</type>
            <size>766</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0u
Y3BwCShyZXZpc2lvbiAxNzk3MjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTExv
d2VyREZHVG9MTFZNLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMzU0OCw3ICszNTQ4LDkgQEAgcHJp
dmF0ZToKICAgICAgICAgfQogICAgICAgICAKICAgICAgICAgaWYgKG1fbm9kZS0+aXNCaW5hcnlV
c2VLaW5kKE1pc2NVc2UsIFVudHlwZWRVc2UpCi0gICAgICAgICAgICB8fCBtX25vZGUtPmlzQmlu
YXJ5VXNlS2luZChVbnR5cGVkVXNlLCBNaXNjVXNlKSkgeworICAgICAgICAgICAgfHwgbV9ub2Rl
LT5pc0JpbmFyeVVzZUtpbmQoVW50eXBlZFVzZSwgTWlzY1VzZSkKKyAgICAgICAgICAgIHx8IG1f
bm9kZS0+aXNCaW5hcnlVc2VLaW5kKFVudHlwZWRVc2UpCisgICAgICAgICAgICB8fCBtX25vZGUt
PmlzQmluYXJ5VXNlS2luZChNaXNjVXNlKSkgewogICAgICAgICAgICAgc3BlY3VsYXRlKG1fbm9k
ZS0+Y2hpbGQxKCkpOwogICAgICAgICAgICAgc3BlY3VsYXRlKG1fbm9kZS0+Y2hpbGQyKCkpOwog
ICAgICAgICAgICAgTFZhbHVlIGxlZnQgPSBsb3dKU1ZhbHVlKG1fbm9kZS0+Y2hpbGQxKCksIE1h
bnVhbE9wZXJhbmRTcGVjdWxhdGlvbik7Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246308</attachid>
            <date>2015-02-09 18:28:21 -0800</date>
            <delta_ts>2015-02-10 13:08:02 -0800</delta_ts>
            <desc>Updated work in Progress</desc>
            <filename>139398-wip3.patch</filename>
            <type>text/plain</type>
            <size>9921</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9qc2MuY3BwCShyZXZpc2lvbiAxNzk3MjcpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvanNjLmNwcAkod29ya2luZyBjb3B5KQpAQCAtNjIxLDYgKzYyMSw3IEBAIHBy
b3RlY3RlZDoKICAgICAgICAgcHV0RGlyZWN0TmF0aXZlRnVuY3Rpb24odm0sIHRoaXMsIElkZW50
aWZpZXIoJnZtLCAiREZHVHJ1ZSIpLCAwLCBmdW5jdGlvbkZhbHNlMSwgREZHVHJ1ZUludHJpbnNp
YywgRG9udEVudW0gfCBKU0M6OkZ1bmN0aW9uKTsKICAgICAgICAgcHV0RGlyZWN0TmF0aXZlRnVu
Y3Rpb24odm0sIHRoaXMsIElkZW50aWZpZXIoJnZtLCAiT1NSRXhpdCIpLCAwLCBmdW5jdGlvblVu
ZGVmaW5lZDEsIE9TUkV4aXRJbnRyaW5zaWMsIERvbnRFbnVtIHwgSlNDOjpGdW5jdGlvbik7CiAg
ICAgICAgIHB1dERpcmVjdE5hdGl2ZUZ1bmN0aW9uKHZtLCB0aGlzLCBJZGVudGlmaWVyKCZ2bSwg
ImlzRmluYWxUaWVyIiksIDAsIGZ1bmN0aW9uRmFsc2UyLCBJc0ZpbmFsVGllckludHJpbnNpYywg
RG9udEVudW0gfCBKU0M6OkZ1bmN0aW9uKTsKKyAgICAgICAgcHV0RGlyZWN0TmF0aXZlRnVuY3Rp
b24odm0sIHRoaXMsIElkZW50aWZpZXIoJnZtLCAiZXhpdElmTm90REZHU1NBIiksIDAsIGZ1bmN0
aW9uRmFsc2UyLCBFeGl0SWZOb3RERkdTU0FJbnRyaW5zaWMsIERvbnRFbnVtIHwgSlNDOjpGdW5j
dGlvbik7CiAgICAgICAgIHB1dERpcmVjdE5hdGl2ZUZ1bmN0aW9uKHZtLCB0aGlzLCBJZGVudGlm
aWVyKCZ2bSwgInByZWRpY3RJbnQzMiIpLCAwLCBmdW5jdGlvblVuZGVmaW5lZDIsIFNldEludDMy
SGVhcFByZWRpY3Rpb25JbnRyaW5zaWMsIERvbnRFbnVtIHwgSlNDOjpGdW5jdGlvbik7CiAgICAg
ICAgIHB1dERpcmVjdE5hdGl2ZUZ1bmN0aW9uKHZtLCB0aGlzLCBJZGVudGlmaWVyKCZ2bSwgImZp
YXRJbnQ1MiIpLCAwLCBmdW5jdGlvbklkZW50aXR5LCBGaWF0SW50NTJJbnRyaW5zaWMsIERvbnRF
bnVtIHwgSlNDOjpGdW5jdGlvbik7CiAgICAgICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdBYnN0cmFjdEludGVycHJldGVySW5saW5lcy5oCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHQWJzdHJhY3RJbnRlcnByZXRlcklubGluZXMuaAko
cmV2aXNpb24gMTc5NzI3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdBYnN0cmFj
dEludGVycHJldGVySW5saW5lcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xOTY5LDYgKzE5NjksNyBA
QCBib29sIEFic3RyYWN0SW50ZXJwcmV0ZXI8QWJzdHJhY3RTdGF0ZVR5CiAgICAgICAgIGJyZWFr
OwogCiAgICAgY2FzZSBGb3JjZU9TUkV4aXQ6CisgICAgY2FzZSBFeGl0SWZOb3RERkdTU0E6CiAg
ICAgY2FzZSBDaGVja0JhZENlbGw6CiAgICAgICAgIG1fc3RhdGUuc2V0SXNWYWxpZChmYWxzZSk7
CiAgICAgICAgIGJyZWFrOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdCeXRl
Q29kZVBhcnNlci5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9E
RkdCeXRlQ29kZVBhcnNlci5jcHAJKHJldmlzaW9uIDE3OTcyNykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHQnl0ZUNvZGVQYXJzZXIuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xODI0
LDYgKzE4MjQsMTIgQEAgYm9vbCBCeXRlQ29kZVBhcnNlcjo6aGFuZGxlSW50cmluc2ljKGludAog
ICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgICAgIAorICAgIGNhc2UgRXhpdElmTm90
REZHU1NBSW50cmluc2ljOiB7CisgICAgICAgIGFkZFRvR3JhcGgoRXhpdElmTm90REZHU1NBKTsK
KyAgICAgICAgc2V0KFZpcnR1YWxSZWdpc3RlcihyZXN1bHRPcGVyYW5kKSwgYWRkVG9HcmFwaChK
U0NvbnN0YW50LCBPcEluZm8obV9jb25zdGFudFVuZGVmaW5lZCkpKTsKKyAgICAgICAgcmV0dXJu
IHRydWU7CisgICAgfQorCiAgICAgY2FzZSBTZXRJbnQzMkhlYXBQcmVkaWN0aW9uSW50cmluc2lj
OiB7CiAgICAgICAgIGZvciAoaW50IGkgPSAxOyBpIDwgYXJndW1lbnRDb3VudEluY2x1ZGluZ1Ro
aXM7ICsraSkgewogICAgICAgICAgICAgTm9kZSogbm9kZSA9IGdldCh2aXJ0dWFsUmVnaXN0ZXJG
b3JBcmd1bWVudChpLCByZWdpc3Rlck9mZnNldCkpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdDbG9iYmVyaXplLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdDbG9iYmVyaXplLmgJKHJldmlzaW9uIDE3OTcyNykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9kZmcvREZHQ2xvYmJlcml6ZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yNjMsNiAr
MjYzLDcgQEAgdm9pZCBjbG9iYmVyaXplKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZQogICAgIGNh
c2UgU3dpdGNoOgogICAgIGNhc2UgVGhyb3c6CiAgICAgY2FzZSBGb3JjZU9TUkV4aXQ6CisgICAg
Y2FzZSBFeGl0SWZOb3RERkdTU0E6CiAgICAgY2FzZSBDaGVja0JhZENlbGw6CiAgICAgY2FzZSBS
ZXR1cm46CiAgICAgY2FzZSBVbnJlYWNoYWJsZToKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29y
ZS9kZmcvREZHRG9lc0dDLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUv
ZGZnL0RGR0RvZXNHQy5jcHAJKHJldmlzaW9uIDE3OTcyNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHRG9lc0dDLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMTUwLDYgKzE1MCw3IEBA
IGJvb2wgZG9lc0dDKEdyYXBoJiBncmFwaCwgTm9kZSogbm9kZSkKICAgICBjYXNlIFRocm93Ogog
ICAgIGNhc2UgQ291bnRFeGVjdXRpb246CiAgICAgY2FzZSBGb3JjZU9TUkV4aXQ6CisgICAgY2Fz
ZSBFeGl0SWZOb3RERkdTU0E6CiAgICAgY2FzZSBDaGVja1dhdGNoZG9nVGltZXI6CiAgICAgY2Fz
ZSBTdHJpbmdGcm9tQ2hhckNvZGU6CiAgICAgY2FzZSBVbnJlYWNoYWJsZToKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHRml4dXBQaGFzZS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAkocmV2aXNpb24gMTc5NzI3
KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdGaXh1cFBoYXNlLmNwcAkod29ya2lu
ZyBjb3B5KQpAQCAtMTIyOCw2ICsxMjI4LDcgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBUaHJv
d1JlZmVyZW5jZUVycm9yOgogICAgICAgICBjYXNlIENvdW50RXhlY3V0aW9uOgogICAgICAgICBj
YXNlIEZvcmNlT1NSRXhpdDoKKyAgICAgICAgY2FzZSBFeGl0SWZOb3RERkdTU0E6CiAgICAgICAg
IGNhc2UgQ2hlY2tCYWRDZWxsOgogICAgICAgICBjYXNlIENoZWNrV2F0Y2hkb2dUaW1lcjoKICAg
ICAgICAgY2FzZSBVbnJlYWNoYWJsZToKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcv
REZHTElDTVBoYXNlLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZn
L0RGR0xJQ01QaGFzZS5jcHAJKHJldmlzaW9uIDE3OTcyNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHTElDTVBoYXNlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtOTksNyArOTksNyBA
QCBwdWJsaWM6CiAgICAgICAgICAgICAgICAgLy8gRG9uJ3QgbG9vayBiZXlvbmQgcGFydHMgb2Yg
dGhlIGNvZGUgdGhhdCBkZWZpbml0ZWx5IGFsd2F5cyBleGl0LgogICAgICAgICAgICAgICAgIC8v
IEZJWE1FOiBUaGlzIHNob3VsZG4ndCBiZSBuZWVkZWQuCiAgICAgICAgICAgICAgICAgLy8gaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEyODU4NAotICAgICAgICAgICAg
ICAgIGlmIChub2RlLT5vcCgpID09IEZvcmNlT1NSRXhpdCkKKyAgICAgICAgICAgICAgICBpZiAo
bm9kZS0+b3AoKSA9PSBGb3JjZU9TUkV4aXQgfHwgbm9kZS0+b3AoKSA9PSBFeGl0SWZOb3RERkdT
U0EpCiAgICAgICAgICAgICAgICAgICAgIGJyZWFrOwogCiAgICAgICAgICAgICAgICAgYWRkV3Jp
dGVzKG1fZ3JhcGgsIG5vZGUsIGRhdGEud3JpdGVzKTsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0
Q29yZS9kZmcvREZHTm9kZVR5cGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENv
cmUvZGZnL0RGR05vZGVUeXBlLmgJKHJldmlzaW9uIDE3OTcyNykKKysrIFNvdXJjZS9KYXZhU2Ny
aXB0Q29yZS9kZmcvREZHTm9kZVR5cGUuaAkod29ya2luZyBjb3B5KQpAQCAtMjk2LDYgKzI5Niw5
IEBAIG5hbWVzcGFjZSBKU0MgeyBuYW1lc3BhY2UgREZHIHsKICAgICAvKiB0aGlzIHBvaW50LCBi
dXQgZXhlY3V0aW9uIGRvZXMgY29udGludWUgaW4gdGhlIGJhc2ljIGJsb2NrIC0ganVzdCBpbiBh
ICovXAogICAgIC8qIGRpZmZlcmVudCBjb21waWxlci4gKi9cCiAgICAgbWFjcm8oRm9yY2VPU1JF
eGl0LCBOb2RlTXVzdEdlbmVyYXRlKSBcCisgICAgLyogVGhpcyBpcyBhIHBzZXVkby10ZXJtaW5h
bC4gSXQgbWVhbnMgdGhhdCBleGVjdXRpb24gc2hvdWxkIGZhbGwgb3V0IG9mIERGRywgYnV0ICov
XAorICAgIC8qIG5vdCB0aGUgRlRMLiAgSXQgaXMgdXNlZCBmb3IgZGVidWdnaW5nIGFuZCB0ZXN0
aW5nLiAqL1wKKyAgICBtYWNybyhFeGl0SWZOb3RERkdTU0EsIE5vZGVNdXN0R2VuZXJhdGUpIFwK
ICAgICBcCiAgICAgLyogVmVuZHMgYSBib3R0b20gSlMgdmFsdWUuIEl0IGlzIGludmFsaWQgdG8g
ZXZlciBleGVjdXRlIHRoaXMuIFVzZWZ1bCBmb3IgY2FzZXMgKi9cCiAgICAgLyogd2hlcmUgd2Ug
a25vdyB0aGF0IHdlIHdvdWxkIGhhdmUgZXhpdGVkIGJ1dCB3ZSdkIGxpa2UgdG8gc3RpbGwgdHJh
Y2sgdGhlIGNvbnRyb2wgKi9cCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Bs
YW4uY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5j
cHAJKHJldmlzaW9uIDE3OTcyNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxh
bi5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTM3OSw3ICszNzksMTIgQEAgUGxhbjo6Q29tcGlsYXRp
b25QYXRoIFBsYW46OmNvbXBpbGVJblRocgogICAgICAgICAgICAgZmluYWxpemVyID0gc3RkOjpt
YWtlX3VuaXF1ZTxGYWlsZWRGaW5hbGl6ZXI+KCp0aGlzKTsKICAgICAgICAgICAgIHJldHVybiBG
YWlsUGF0aDsKICAgICAgICAgfQotICAgICAgICAgICAgCisKKyAgICAgICAgaWYgKEZUTDo6Y2Fu
Q29tcGlsZShkZmcpID09IEZUTDo6Q2Fubm90Q29tcGlsZSkgeworICAgICAgICAgICAgZmluYWxp
emVyID0gc3RkOjptYWtlX3VuaXF1ZTxGYWlsZWRGaW5hbGl6ZXI+KCp0aGlzKTsKKyAgICAgICAg
ICAgIHJldHVybiBGYWlsUGF0aDsKKyAgICAgICAgfQorCiAgICAgICAgIEZUTDo6U3RhdGUgc3Rh
dGUoZGZnKTsKICAgICAgICAgRlRMOjpsb3dlckRGR1RvTExWTShzdGF0ZSk7CiAgICAgICAgIApJ
bmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVkaWN0aW9uUHJvcGFnYXRpb25Q
aGFzZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQcmVk
aWN0aW9uUHJvcGFnYXRpb25QaGFzZS5jcHAJKHJldmlzaW9uIDE3OTcyNykKKysrIFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9kZmcvREZHUHJlZGljdGlvblByb3BhZ2F0aW9uUGhhc2UuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC02NDksNiArNjQ5LDcgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBDaGVj
a0hhc0luc3RhbmNlOgogICAgICAgICBjYXNlIFRocm93UmVmZXJlbmNlRXJyb3I6CiAgICAgICAg
IGNhc2UgRm9yY2VPU1JFeGl0OgorICAgICAgICBjYXNlIEV4aXRJZk5vdERGR1NTQToKICAgICAg
ICAgY2FzZSBTZXRBcmd1bWVudDoKICAgICAgICAgY2FzZSBDaGVja1N0cnVjdHVyZToKICAgICAg
ICAgY2FzZSBDaGVja0NlbGw6CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1Nh
ZmVUb0V4ZWN1dGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NhZmVUb0V4ZWN1dGUuaAkocmV2aXNpb24gMTc5NzI3KQorKysgU291cmNlL0phdmFTY3JpcHRD
b3JlL2RmZy9ERkdTYWZlVG9FeGVjdXRlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzNCw2ICsyMzQs
NyBAQCBib29sIHNhZmVUb0V4ZWN1dGUoQWJzdHJhY3RTdGF0ZVR5cGUmIHN0CiAgICAgY2FzZSBU
aHJvd1JlZmVyZW5jZUVycm9yOgogICAgIGNhc2UgQ291bnRFeGVjdXRpb246CiAgICAgY2FzZSBG
b3JjZU9TUkV4aXQ6CisgICAgY2FzZSBFeGl0SWZOb3RERkdTU0E6CiAgICAgY2FzZSBDaGVja1dh
dGNoZG9nVGltZXI6CiAgICAgY2FzZSBTdHJpbmdGcm9tQ2hhckNvZGU6CiAgICAgY2FzZSBOZXdU
eXBlZEFycmF5OgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2
ZUpJVDMyXzY0LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RG
R1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCShyZXZpc2lvbiAxNzk3MjcpCisrKyBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUMzJfNjQuY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC00ODYwLDcgKzQ4NjAsOCBAQCB2b2lkIFNwZWN1bGF0aXZlSklUOjpjb21waWxlKE5vZGUq
IG5vZGUpCiAgICAgICAgIGJyZWFrOwogICAgIH0KIAotICAgIGNhc2UgRm9yY2VPU1JFeGl0OiB7
CisgICAgY2FzZSBGb3JjZU9TUkV4aXQ6CisgICAgY2FzZSBFeGl0SWZOb3RERkdTU0E6IHsKICAg
ICAgICAgdGVybWluYXRlU3BlY3VsYXRpdmVFeGVjdXRpb24oSW5hZGVxdWF0ZUNvdmVyYWdlLCBK
U1ZhbHVlUmVncygpLCAwKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2RmZy9ERkdTcGVjdWxhdGl2ZUpJVDY0LmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklUNjQuY3BwCShyZXZpc2lv
biAxNzk3MjcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1NwZWN1bGF0aXZlSklU
NjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC00NTc2LDcgKzQ1NzYsOCBAQCB2b2lkIFNwZWN1bGF0
aXZlSklUOjpjb21waWxlKE5vZGUqIG5vZGUpCiAgICAgICAgIG1faml0LmFkZDY0KFRydXN0ZWRJ
bW0zMigxKSwgTWFjcm9Bc3NlbWJsZXI6OkFic29sdXRlQWRkcmVzcyhub2RlLT5leGVjdXRpb25D
b3VudGVyKCktPmFkZHJlc3MoKSkpOwogICAgICAgICBicmVhazsKIAotICAgIGNhc2UgRm9yY2VP
U1JFeGl0OiB7CisgICAgY2FzZSBGb3JjZU9TUkV4aXQ6CisgICAgY2FzZSBFeGl0SWZOb3RERkdT
U0E6IHsKICAgICAgICAgdGVybWluYXRlU3BlY3VsYXRpdmVFeGVjdXRpb24oSW5hZGVxdWF0ZUNv
dmVyYWdlLCBKU1ZhbHVlUmVncygpLCAwKTsKICAgICAgICAgYnJlYWs7CiAgICAgfQpJbmRleDog
U291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMQ2FwYWJpbGl0aWVzLmNwcAkocmV2aXNp
b24gMTc5NzI3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMu
Y3BwCSh3b3JraW5nIGNvcHkpCkBAIC05NSw2ICs5NSw3IEBAIGlubGluZSBDYXBhYmlsaXR5TGV2
ZWwgY2FuQ29tcGlsZShOb2RlKiAKICAgICBjYXNlIENvbXBhcmVFcUNvbnN0YW50OgogICAgIGNh
c2UgSnVtcDoKICAgICBjYXNlIEZvcmNlT1NSRXhpdDoKKyAgICBjYXNlIEV4aXRJZk5vdERGR1NT
QToKICAgICBjYXNlIFBoaToKICAgICBjYXNlIFVwc2lsb246CiAgICAgY2FzZSBFeHRyYWN0T1NS
RW50cnlMb2NhbDoKQEAgLTQ1MCw2ICs0NTEsOSBAQCBDYXBhYmlsaXR5TGV2ZWwgY2FuQ29tcGls
ZShHcmFwaCYgZ3JhcGgpCiAgICAgICAgICAgICAKICAgICAgICAgICAgIGlmIChub2RlLT5vcCgp
ID09IEZvcmNlT1NSRXhpdCkKICAgICAgICAgICAgICAgICBicmVhazsKKworICAgICAgICAgICAg
aWYgKG5vZGUtPm9wKCkgPT0gRXhpdElmTm90REZHU1NBKQorICAgICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAgICAgfQogICAgIApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Z0
bC9GVExMb3dlckRGR1RvTExWTS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL2Z0bC9GVExMb3dlckRGR1RvTExWTS5jcHAJKHJldmlzaW9uIDE3OTcyNykKKysrIFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9mdGwvRlRMTG93ZXJERkdUb0xMVk0uY3BwCSh3b3JraW5nIGNvcHkp
CkBAIC02NTcsNiArNjU3LDkgQEAgcHJpdmF0ZToKICAgICAgICAgY2FzZSBGb3JjZU9TUkV4aXQ6
CiAgICAgICAgICAgICBjb21waWxlRm9yY2VPU1JFeGl0KCk7CiAgICAgICAgICAgICBicmVhazsK
KyAgICAgICAgY2FzZSBFeGl0SWZOb3RERkdTU0E6CisgICAgICAgICAgICAvLyBUaGlzIGlzIGEg
Tm9PcCBhdCB0aGlzIHBvaW50LgorICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIGNhc2UgVGhy
b3c6CiAgICAgICAgIGNhc2UgVGhyb3dSZWZlcmVuY2VFcnJvcjoKICAgICAgICAgICAgIGNvbXBp
bGVUaHJvdygpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50cmluc2lj
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL3J1bnRpbWUvSW50cmluc2lj
LmgJKHJldmlzaW9uIDE3OTcyNykKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0lu
dHJpbnNpYy5oCSh3b3JraW5nIGNvcHkpCkBAIC02MSw2ICs2MSw3IEBAIGVudW0gSW50cmluc2lj
IHsKICAgICBERkdUcnVlSW50cmluc2ljLAogICAgIE9TUkV4aXRJbnRyaW5zaWMsCiAgICAgSXNG
aW5hbFRpZXJJbnRyaW5zaWMsCisgICAgRXhpdElmTm90REZHU1NBSW50cmluc2ljLAogICAgIFNl
dEludDMySGVhcFByZWRpY3Rpb25JbnRyaW5zaWMsCiAgICAgRmlhdEludDUySW50cmluc2ljLAog
fTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>246339</attachid>
            <date>2015-02-10 13:08:02 -0800</date>
            <delta_ts>2015-02-10 13:49:20 -0800</delta_ts>
            <desc>Patch for Review</desc>
            <filename>139398.patch</filename>
            <type>text/plain</type>
            <size>2657</size>
            <attacher name="Michael Saboff">msaboff</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTc5ODc3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDI1IEBA
CisyMDE1LTAyLTEwICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgorCisgICAg
ICAgIENyYXNoIGluIEpTQzo6RlRMOjpMb3dlckRGR1RvTExWTTo6Y29tcGlsZUNvbXBhcmVTdHJp
Y3RFcQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM5
Mzk4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRHVl
IHRvIENGQSBhbmFseXNpcywgdGhlIENvbXBhcmVTdHJpY3RFcSBub2RlIHdhcyBkZXRlcm1pbmVk
IHRvIGJlIHVucmVhY2hhYmxlLCBidXQgbGF0ZXIKKyAgICAgICAgd2FzIGRldGVybWluZWQgdG8g
YmUgcmVhY2hhYmxlLiAgV2hlbiB3ZSBnbyB0byBsb3dlciB0byBMTFZNLCB0aGUgZWRnZXMgZm9y
IHRoZSBDb21wYXJlU3RyaWN0RXEKKyAgICAgICAgbm9kZSBhcmUgVW50eXBlZFVzZSB3aGljaCB3
ZSBjYW4ndCBjb21waWxlLiAgRml4ZWQgdGhpcyBieSBjaGVja2luZyB0aGF0IHRoZSBJUiBiZWZv
cmUKKyAgICAgICAgbG93ZXJpbmcgY2FuIHN0aWxsIGJlIGhhbmRsZWQgYnkgdGhlIEZUTC4KKwor
ICAgICAgICBIYWQgdG8gYWRkIEdldEFyZ3VtZW50IGFzIGEgbm9kZSB0aGF0IHRoZSBGVEwgY2Fu
IGNvbXBpbGUgYXMgdGhlIFNTQSBjb252ZXJzaW9uIHBoYXNlIGNvbnZlcnRzCisgICAgICAgIGEg
U2V0QXJndW1lbnQgdG8gYSBHZXRBcmd1bWVudC4gIEJlZm9yZSB0aGlzIGNoYW5nZSBGVEw6OmNh
bkNvbXBpbGUoKSB3b3VsZCBuZXZlciBzZWUgYSBHZXRBcmd1bWVudAorICAgICAgICBub2RlLiAg
V2l0aCB0aGUgY2hlY2sgcmlnaHQgYmVmb3JlIGxvd2VyaW5nLCB3ZSBzZWUgdGhpcyBub2RlLgor
CisgICAgICAgICogZGZnL0RGR1BsYW4uY3BwOgorICAgICAgICAoSlNDOjpERkc6OlBsYW46OmNv
bXBpbGVJblRocmVhZEltcGwpOiBBZGRlZCBhIGZpbmFsIEZUTDo6Y2FuQ29tcGlsZSgpIGNoZWNr
IGJlZm9yZSBsb3dlcmluZworICAgICAgICB0byB2ZXJpZnkgdGhhdCBhZnRlciBhbGwgdGhlIHRy
YW5zZm9ybWF0aW9ucyB3ZSBzdGlsbCBoYXZlIHZhbGlkIElSIGZvciB0aGUgRlRMLgorICAgICAg
ICAqIGZ0bC9GVExDYXBhYmlsaXRpZXMuY3BwOgorICAgICAgICAoSlNDOjpGVEw6OmNhbkNvbXBp
bGUpOiBBZGRlZCBHZXRBcmd1bWVudCBhcyBhIG5vZGUgdGhlIEZUTCBjYW4gY29tcGlsZS4KKwog
MjAxNS0wMi0xMCAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIFJl
bW92ZSB1bnVzZWQgREZHOjpTcGVjdWxhdGl2ZUpJVDo6Y2FsbGVlRnJhbWVPZmZzZXQoKS4KSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUGxhbi5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
U291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNwcAkocmV2aXNpb24gMTc5ODc3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdQbGFuLmNwcAkod29ya2luZyBjb3B5KQpA
QCAtMzc5LDcgKzM3OSwxMiBAQCBQbGFuOjpDb21waWxhdGlvblBhdGggUGxhbjo6Y29tcGlsZUlu
VGhyCiAgICAgICAgICAgICBmaW5hbGl6ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPEZhaWxlZEZpbmFs
aXplcj4oKnRoaXMpOwogICAgICAgICAgICAgcmV0dXJuIEZhaWxQYXRoOwogICAgICAgICB9Ci0g
ICAgICAgICAgICAKKworICAgICAgICBpZiAoRlRMOjpjYW5Db21waWxlKGRmZykgPT0gRlRMOjpD
YW5ub3RDb21waWxlKSB7CisgICAgICAgICAgICBmaW5hbGl6ZXIgPSBzdGQ6Om1ha2VfdW5pcXVl
PEZhaWxlZEZpbmFsaXplcj4oKnRoaXMpOworICAgICAgICAgICAgcmV0dXJuIEZhaWxQYXRoOwor
ICAgICAgICB9CisKICAgICAgICAgRlRMOjpTdGF0ZSBzdGF0ZShkZmcpOwogICAgICAgICBGVEw6
Omxvd2VyREZHVG9MTFZNKHN0YXRlKTsKICAgICAgICAgCkluZGV4OiBTb3VyY2UvSmF2YVNjcmlw
dENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFT
Y3JpcHRDb3JlL2Z0bC9GVExDYXBhYmlsaXRpZXMuY3BwCShyZXZpc2lvbiAxNzk4NzcpCisrKyBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvZnRsL0ZUTENhcGFiaWxpdGllcy5jcHAJKHdvcmtpbmcgY29w
eSkKQEAgLTUxLDYgKzUxLDcgQEAgaW5saW5lIENhcGFiaWxpdHlMZXZlbCBjYW5Db21waWxlKE5v
ZGUqIAogICAgIGNhc2UgS2lsbExvY2FsOgogICAgIGNhc2UgTW92SGludDoKICAgICBjYXNlIFpv
bWJpZUhpbnQ6CisgICAgY2FzZSBHZXRBcmd1bWVudDoKICAgICBjYXNlIFBoYW50b206CiAgICAg
Y2FzZSBIYXJkUGhhbnRvbToKICAgICBjYXNlIEZsdXNoOgo=
</data>
<flag name="review"
          id="271274"
          type_id="1"
          status="+"
          setter="fpizlo"
    />
          </attachment>
      

    </bug>

</bugzilla>