WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
Bug 149727
CodeBlock should be a GC object
https://bugs.webkit.org/show_bug.cgi?id=149727
Summary
CodeBlock should be a GC object
Geoffrey Garen
Reported
2015-10-01 15:20:47 PDT
CodeBlock should be a GC object
Attachments
Patch
(161.67 KB, patch)
2015-10-01 16:04 PDT
,
Geoffrey Garen
no flags
Details
Formatted Diff
Diff
Patch
(161.63 KB, patch)
2015-10-01 16:50 PDT
,
Geoffrey Garen
no flags
Details
Formatted Diff
Diff
Patch
(161.61 KB, patch)
2015-10-01 17:59 PDT
,
Geoffrey Garen
fpizlo
: review+
Details
Formatted Diff
Diff
Show Obsolete
(2)
View All
Add attachment
proposed patch, testcase, etc.
Geoffrey Garen
Comment 1
2015-10-01 16:04:10 PDT
Created
attachment 262294
[details]
Patch
Geoffrey Garen
Comment 2
2015-10-01 16:48:55 PDT
Benchmarks look OK: run-jsc-benchmarks Baseline:/Volumes/Big/ggaren/OpenSource/WebKitBuild/Release/jsc Patch:/Volumes/Big/ggaren/OpenSource/WebKitBuildPatch/Release/jsc Warning: could not identify checkout location for Patch Warning: refusing to run JSBench because not all VMs are DumpRenderTree or WebKitTestRunner. Warning: refusing to run DSPJS because not all VMs are DumpRenderTree or WebKitTestRunner. 3948/3948 Generating benchmark report at /Volumes/Big/ggaren/Internal/Baseline_Patch_SunSpiderLongSpiderV8SpiderOctaneKrakenJSRegressAsmBenchCompressionBench_Geoffrey-Garens-Mac-Pro_20151001_1640_report.txt And raw data at /Volumes/Big/ggaren/Internal/Baseline_Patch_SunSpiderLongSpiderV8SpiderOctaneKrakenJSRegressAsmBenchCompressionBench_Geoffrey-Garens-Mac-Pro_20151001_1640.json Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on Geoffrey-Garens-Mac-Pro (MacPro6,1). VMs tested: "Baseline" at /Volumes/Big/ggaren/OpenSource/WebKitBuild/Release/jsc (
r190434
) "Patch" at /Volumes/Big/ggaren/OpenSource/WebKitBuildPatch/Release/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 Patch SunSpider: 3d-cube 6.2775+-0.6658 ? 6.6718+-0.3185 ? might be 1.0628x slower 3d-morph 6.2292+-0.1433 ? 6.4460+-0.3614 ? might be 1.0348x slower 3d-raytrace 7.2800+-0.4161 7.2350+-0.2133 access-binary-trees 2.5983+-0.1434 ? 2.6292+-0.1733 ? might be 1.0119x slower access-fannkuch 6.6703+-0.1317 6.6089+-0.0412 access-nbody 3.3793+-0.1078 3.3207+-0.0091 might be 1.0176x faster access-nsieve 3.9557+-0.3044 ? 3.9872+-0.3769 ? bitops-3bit-bits-in-byte 1.5576+-0.0900 1.5324+-0.0744 might be 1.0164x faster bitops-bits-in-byte 3.9058+-0.0811 3.8419+-0.0802 might be 1.0166x faster bitops-bitwise-and 2.3977+-0.0774 2.3818+-0.0857 bitops-nsieve-bits 3.6783+-0.1034 3.5031+-0.1396 might be 1.0500x faster controlflow-recursive 2.8870+-0.1098 ? 2.9120+-0.1326 ? crypto-aes 5.4173+-1.0386 5.1162+-0.1883 might be 1.0588x faster crypto-md5 3.1253+-0.0389 ? 3.2016+-0.3115 ? might be 1.0244x slower crypto-sha1 3.0265+-0.1650 3.0228+-0.0416 date-format-tofte 10.5389+-0.6195 10.4158+-0.7515 might be 1.0118x faster date-format-xparb 6.0970+-0.4158 5.8134+-0.1323 might be 1.0488x faster math-cordic 3.5930+-0.3153 3.5089+-0.1404 might be 1.0240x faster math-partial-sums 6.1198+-0.1500 ? 6.2035+-0.2915 ? might be 1.0137x slower math-spectral-norm 2.4244+-0.0473 2.3832+-0.0182 might be 1.0173x faster regexp-dna 7.4500+-0.3044 ? 7.6661+-0.2346 ? might be 1.0290x slower string-base64 5.1160+-0.1801 5.1045+-0.0293 string-fasta 6.9515+-0.0521 6.8380+-0.1036 might be 1.0166x faster string-tagcloud 9.4554+-0.0829 ? 9.5539+-0.3251 ? might be 1.0104x slower string-unpack-code 21.2407+-0.2838 ? 22.1588+-1.3699 ? might be 1.0432x slower string-validate-input 5.3421+-0.1343 ? 5.3810+-0.1155 ? <arithmetic> 5.6429+-0.0453 ? 5.6707+-0.0584 ? might be 1.0049x slower Baseline Patch LongSpider: 3d-cube 948.3625+-13.8982 944.1458+-10.2508 3d-morph 1628.0513+-7.4887 1623.2674+-3.8745 3d-raytrace 773.3165+-71.8734 719.7407+-1.4449 might be 1.0744x faster access-binary-trees 988.1111+-7.6847 983.3155+-0.5521 access-fannkuch 348.3901+-12.1349 ? 350.0629+-4.2421 ? access-nbody 632.0286+-6.1687 629.1475+-1.3202 access-nsieve 460.5578+-12.2511 460.3912+-3.8565 bitops-3bit-bits-in-byte 41.9998+-0.7420 41.4489+-0.5389 might be 1.0133x faster bitops-bits-in-byte 92.6965+-2.0083 ? 93.2070+-0.8472 ? bitops-nsieve-bits 460.9541+-5.6460 ? 461.7214+-5.9042 ? controlflow-recursive 486.7307+-3.6640 ? 487.6119+-2.2240 ? crypto-aes 680.4395+-13.9022 ^ 650.7342+-4.6876 ^ definitely 1.0456x faster crypto-md5 551.8985+-8.6245 550.4079+-8.8076 crypto-sha1 756.5427+-3.5392 752.5689+-6.1289 date-format-tofte 782.6442+-55.9452 768.5128+-7.2915 might be 1.0184x faster date-format-xparb 840.6130+-27.2268 829.2029+-35.0939 might be 1.0138x faster hash-map 169.8828+-2.7372 ? 170.4758+-1.6566 ? math-cordic 566.3165+-0.4820 ? 569.5576+-4.9034 ? math-partial-sums 639.4128+-2.0071 ? 641.3423+-7.7284 ? math-spectral-norm 598.8356+-3.4151 598.8104+-5.2283 string-base64 427.4105+-6.1631 ? 430.2979+-1.8262 ? string-fasta 424.4388+-1.9554 ? 427.7232+-9.2031 ? string-tagcloud 207.6817+-1.4614 ? 208.2306+-1.7075 ? <geometric> 468.7643+-1.8698 ^ 465.8888+-0.9803 ^ definitely 1.0062x faster Baseline Patch V8Spider: crypto 57.0146+-0.4686 ? 57.8770+-0.5577 ? might be 1.0151x slower deltablue 71.4997+-2.9909 70.4665+-3.5836 might be 1.0147x faster earley-boyer 50.0605+-1.5916 50.0333+-0.9189 raytrace 34.0609+-0.9655 ? 34.2090+-0.1717 ? regexp 77.6383+-0.7919 77.6210+-0.7429 richards 61.2618+-1.0464 60.3810+-0.8346 might be 1.0146x faster splay 40.7216+-1.2915 40.5608+-0.4406 <geometric> 54.0368+-0.3378 53.9279+-0.5044 might be 1.0020x faster Baseline Patch Octane: encrypt 0.22037+-0.00439 ? 0.22400+-0.00852 ? might be 1.0165x slower decrypt 4.33034+-0.47076 4.15242+-0.01362 might be 1.0428x faster deltablue x2 0.16550+-0.00305 0.16437+-0.00274 earley 0.37378+-0.00546 ^ 0.36613+-0.00171 ^ definitely 1.0209x faster boyer 5.56604+-0.04213 ^ 5.45847+-0.02093 ^ definitely 1.0197x faster navier-stokes x2 5.46657+-0.02092 5.45423+-0.00835 raytrace x2 1.08186+-0.01591 1.06843+-0.01098 might be 1.0126x faster richards x2 0.10801+-0.00174 ? 0.10938+-0.00248 ? might be 1.0127x slower splay x2 0.38683+-0.00443 ? 0.38724+-0.00285 ? regexp x2 28.57546+-0.20305 ? 28.92783+-1.11953 ? might be 1.0123x slower pdfjs x2 46.03756+-2.45630 44.63738+-0.07623 might be 1.0314x faster mandreel x2 51.10060+-0.35287 51.01117+-0.23256 gbemu x2 43.73183+-7.05689 ? 46.40739+-6.42973 ? might be 1.0612x slower closure 0.77541+-0.00204 0.77453+-0.00585 jquery 9.75749+-0.07167 ? 9.79004+-0.08582 ? box2d x2 12.48350+-0.34167 12.44566+-0.21394 zlib x2 428.84007+-31.77498 ? 439.66968+-2.31609 ? might be 1.0253x slower typescript x2 900.32397+-6.10328 ? 903.39825+-8.27794 ? <geometric> 6.65671+-0.08755 ? 6.66876+-0.07193 ? might be 1.0018x slower Baseline Patch Kraken: ai-astar 159.984+-3.475 ? 160.918+-1.575 ? audio-beat-detection 60.006+-0.794 59.168+-0.504 might be 1.0142x faster audio-dft 112.328+-1.745 ? 112.353+-1.104 ? audio-fft 43.607+-1.899 ? 44.047+-2.077 ? might be 1.0101x slower audio-oscillator 71.248+-0.285 71.244+-0.543 imaging-darkroom 74.616+-2.073 74.014+-0.848 imaging-desaturate 64.239+-1.285 ? 64.284+-1.136 ? imaging-gaussian-blur 111.102+-1.615 ? 111.947+-3.814 ? json-parse-financial 49.308+-1.124 49.159+-0.891 json-stringify-tinderbox 29.447+-0.739 ? 29.709+-1.528 ? stanford-crypto-aes 49.333+-1.887 48.796+-0.585 might be 1.0110x faster stanford-crypto-ccm 46.722+-3.919 45.874+-2.260 might be 1.0185x faster stanford-crypto-pbkdf2 109.380+-1.701 ? 109.404+-1.647 ? stanford-crypto-sha256-iterative 43.696+-0.738 ? 44.004+-0.888 ? <arithmetic> 73.215+-0.437 73.209+-0.219 might be 1.0001x faster Baseline Patch JSRegress: abc-forward-loop-equal 48.1733+-0.4926 ? 48.7878+-1.5210 ? might be 1.0128x slower abc-postfix-backward-loop 47.9703+-0.4161 ? 48.3788+-1.3465 ? abc-simple-backward-loop 47.8145+-0.8021 47.6791+-0.5479 abc-simple-forward-loop 48.0798+-0.4844 ? 48.0970+-0.5836 ? abc-skippy-loop 32.6957+-0.2193 32.5074+-0.1606 abs-boolean 2.9739+-0.0573 ? 2.9952+-0.1551 ? adapt-to-double-divide 17.3635+-1.1897 17.0334+-0.7849 might be 1.0194x faster aliased-arguments-getbyval 1.7083+-0.2548 1.5604+-0.2320 might be 1.0948x faster allocate-big-object 2.6533+-0.1656 ? 2.7122+-0.1985 ? might be 1.0222x slower arguments-named-and-reflective 10.9133+-0.3780 10.6337+-0.1584 might be 1.0263x faster arguments-out-of-bounds 12.4462+-1.2316 12.3610+-0.5051 arguments-strict-mode 10.0086+-0.5863 9.5724+-0.4820 might be 1.0456x faster arguments 8.8206+-0.3116 8.7220+-0.1344 might be 1.0113x faster arity-mismatch-inlining 1.1892+-0.1243 ? 1.2205+-0.0488 ? might be 1.0263x slower array-access-polymorphic-structure 7.9275+-0.1478 ? 8.3730+-0.9020 ? might be 1.0562x slower array-nonarray-polymorhpic-access 30.6650+-1.3383 ? 31.1246+-2.1783 ? might be 1.0150x slower array-prototype-every 87.2010+-0.8399 ? 93.4383+-7.6904 ? might be 1.0715x slower array-prototype-forEach 86.4586+-0.8569 85.6453+-0.3606 array-prototype-map 93.1442+-2.3679 ? 94.6332+-0.4690 ? might be 1.0160x slower array-prototype-reduce 83.7321+-1.9393 ? 84.4662+-0.6559 ? array-prototype-reduceRight 85.0991+-3.1277 ? 85.2499+-0.5081 ? array-prototype-some 88.1509+-1.9254 ? 90.6353+-1.0435 ? might be 1.0282x slower array-splice-contiguous 27.2108+-0.3130 ? 27.7177+-0.7004 ? might be 1.0186x slower array-with-double-add 4.5692+-0.2973 4.5274+-0.1875 array-with-double-increment 3.6255+-0.0507 ? 3.7270+-0.0947 ? might be 1.0280x slower array-with-double-mul-add 5.5490+-0.2544 5.5093+-0.1212 array-with-double-sum 3.5972+-0.0184 3.5707+-0.0152 array-with-int32-add-sub 7.6524+-0.4104 7.4103+-0.0870 might be 1.0327x faster array-with-int32-or-double-sum 3.8345+-0.1366 3.7272+-0.0571 might be 1.0288x faster ArrayBuffer-DataView-alloc-large-long-lived 32.0910+-0.2078 ? 32.3872+-0.4593 ? ArrayBuffer-DataView-alloc-long-lived 14.5005+-3.4044 13.8412+-0.4817 might be 1.0476x faster ArrayBuffer-Int32Array-byteOffset 4.1541+-0.0608 ? 4.3722+-0.2773 ? might be 1.0525x slower ArrayBuffer-Int8Array-alloc-large-long-lived 33.4500+-0.5850 ? 33.5640+-0.6694 ? ArrayBuffer-Int8Array-alloc-long-lived-buffer 23.7939+-1.7872 22.4623+-0.9132 might be 1.0593x faster ArrayBuffer-Int8Array-alloc-long-lived 12.8217+-0.3537 12.6960+-0.2193 ArrayBuffer-Int8Array-alloc 10.7596+-0.6363 10.7522+-0.2174 arrowfunction-call 12.0214+-0.1199 11.9208+-0.2906 asmjs_bool_bug 8.6949+-0.3553 8.4747+-0.2221 might be 1.0260x faster assign-custom-setter-polymorphic 3.4813+-0.2698 ? 3.5767+-0.5957 ? might be 1.0274x slower assign-custom-setter 4.6575+-0.1976 4.5845+-0.0379 might be 1.0159x faster basic-set 9.1254+-0.3331 8.8819+-0.0677 might be 1.0274x faster big-int-mul 4.3792+-0.2199 ? 4.3819+-0.0596 ? boolean-test 3.4435+-0.0177 ? 3.5067+-0.1037 ? might be 1.0184x slower branch-fold 4.3670+-0.1344 4.1900+-0.1472 might be 1.0422x faster branch-on-string-as-boolean 19.1403+-1.7936 18.4481+-0.3871 might be 1.0375x faster by-val-generic 2.9229+-0.1270 2.8683+-0.0889 might be 1.0190x faster call-spread-apply 32.6611+-0.6974 ? 32.9019+-1.2012 ? call-spread-call 25.4805+-0.5182 ? 25.6363+-0.3659 ? captured-assignments 0.6873+-0.0474 ? 0.7053+-0.0064 ? might be 1.0261x slower cast-int-to-double 5.8935+-0.1194 5.8691+-0.0474 cell-argument 5.9977+-0.3833 ? 6.1124+-0.1758 ? might be 1.0191x slower cfg-simplify 3.1687+-0.0804 3.1218+-0.1131 might be 1.0150x faster chain-getter-access 8.4382+-0.2739 ? 8.4410+-0.3506 ? cmpeq-obj-to-obj-other 11.1719+-0.3460 11.0258+-0.0964 might be 1.0133x faster constant-test 5.5448+-0.1586 5.5101+-0.1361 create-lots-of-functions 11.4666+-0.4398 11.0992+-0.2015 might be 1.0331x faster cse-new-array-buffer 2.6579+-0.0796 ? 2.7902+-0.2243 ? might be 1.0498x slower cse-new-array 2.8026+-0.1279 2.7898+-0.1531 DataView-custom-properties 40.6091+-1.3160 ^ 38.1100+-0.5163 ^ definitely 1.0656x faster delay-tear-off-arguments-strictmode 14.6218+-0.4614 14.5753+-0.2446 deltablue-varargs 231.1998+-7.0987 226.8958+-1.5291 might be 1.0190x faster destructuring-arguments 189.0722+-1.8193 ? 192.9101+-9.8065 ? might be 1.0203x slower destructuring-parameters-overridden-by-function 0.7294+-0.0354 0.7258+-0.0474 destructuring-swap 5.5851+-0.0975 ? 5.6238+-0.1012 ? direct-arguments-getbyval 1.7508+-0.3019 1.4681+-0.0560 might be 1.1925x faster div-boolean-double 5.6905+-0.1159 5.6456+-0.0850 div-boolean 8.3577+-0.1022 ? 8.4834+-0.2970 ? might be 1.0150x slower double-get-by-val-out-of-bounds 4.9658+-0.0867 4.9378+-0.3427 double-pollution-getbyval 9.4207+-0.0747 9.4014+-0.1012 double-pollution-putbyoffset 4.4037+-0.0208 ^ 4.2715+-0.0572 ^ definitely 1.0309x faster double-real-use 30.8337+-0.5315 30.6395+-1.6630 double-to-int32-typed-array-no-inline 2.8370+-0.0428 2.8033+-0.0946 might be 1.0120x faster double-to-int32-typed-array 2.6077+-0.1664 2.5234+-0.0382 might be 1.0334x faster double-to-uint32-typed-array-no-inline 2.8784+-0.0729 2.8043+-0.0216 might be 1.0264x faster double-to-uint32-typed-array 2.5862+-0.0695 2.5485+-0.0677 might be 1.0148x faster elidable-new-object-dag 39.8198+-1.0480 38.9198+-0.4754 might be 1.0231x faster elidable-new-object-roflcopter 41.0151+-1.5438 39.9480+-0.2980 might be 1.0267x faster elidable-new-object-then-call 33.5905+-3.4938 33.3638+-4.0954 elidable-new-object-tree 43.0714+-1.3020 ? 43.6625+-1.9087 ? might be 1.0137x slower empty-string-plus-int 5.6854+-0.2432 5.5699+-0.1672 might be 1.0207x faster emscripten-cube2hash 40.8975+-1.3796 ? 40.9839+-0.6547 ? exit-length-on-plain-object 17.4870+-0.9204 ? 17.5261+-0.6574 ? external-arguments-getbyval 1.6404+-0.1453 1.6008+-0.1066 might be 1.0248x faster external-arguments-putbyval 2.6304+-0.1110 ? 2.6577+-0.0898 ? might be 1.0104x slower fixed-typed-array-storage-var-index 1.5897+-0.0173 ? 1.6036+-0.0533 ? fixed-typed-array-storage 1.2556+-0.1097 1.2228+-0.0407 might be 1.0268x faster Float32Array-matrix-mult 5.0836+-0.0346 ? 5.1345+-0.0482 ? might be 1.0100x slower Float32Array-to-Float64Array-set 57.3684+-0.6058 ! 60.5980+-0.7180 ! definitely 1.0563x slower Float64Array-alloc-long-lived 70.6350+-0.6985 ? 71.1781+-0.8354 ? Float64Array-to-Int16Array-set 71.8549+-0.2512 ? 72.6398+-1.7540 ? might be 1.0109x slower fold-double-to-int 15.0590+-0.5880 14.9340+-0.3413 fold-get-by-id-to-multi-get-by-offset-rare-int 10.7706+-0.5512 ? 10.8872+-0.5820 ? might be 1.0108x slower fold-get-by-id-to-multi-get-by-offset 9.4288+-0.3968 ? 9.5638+-0.5277 ? might be 1.0143x slower fold-multi-get-by-offset-to-get-by-offset 7.6718+-0.8182 7.5687+-0.6005 might be 1.0136x faster fold-multi-get-by-offset-to-poly-get-by-offset 8.5100+-0.6571 ? 8.6046+-0.5643 ? might be 1.0111x slower fold-multi-put-by-offset-to-poly-put-by-offset 9.8730+-0.6451 ? 10.1043+-0.6111 ? might be 1.0234x slower fold-multi-put-by-offset-to-put-by-offset 9.1805+-0.5109 ? 9.5077+-0.4611 ? might be 1.0356x slower fold-multi-put-by-offset-to-replace-or-transition-put-by-offset 13.4647+-0.1585 ? 13.8892+-0.3579 ? might be 1.0315x slower fold-put-by-id-to-multi-put-by-offset 11.2620+-1.0325 ? 11.5337+-1.2385 ? might be 1.0241x slower fold-put-by-val-with-string-to-multi-put-by-offset 11.1223+-1.0524 ? 11.4032+-1.1020 ? might be 1.0253x slower fold-put-by-val-with-symbol-to-multi-put-by-offset 10.8582+-0.1088 ? 11.4390+-0.8248 ? might be 1.0535x slower fold-put-structure 7.8221+-0.4016 ? 7.8715+-0.1544 ? for-of-iterate-array-entries 13.1499+-0.9729 12.9807+-1.0764 might be 1.0130x faster for-of-iterate-array-keys 4.3878+-0.3332 ? 4.4071+-0.1268 ? for-of-iterate-array-values 4.3165+-0.0875 ? 4.3667+-0.4943 ? might be 1.0116x slower fround 17.6073+-1.8887 16.9951+-0.3310 might be 1.0360x faster ftl-library-inlining-dataview 74.0976+-18.6857 68.9834+-1.3709 might be 1.0741x faster ftl-library-inlining 101.0350+-25.1238 88.8249+-19.9473 might be 1.1375x faster function-call 12.2509+-0.5516 12.1013+-0.3341 might be 1.0124x faster function-dot-apply 2.6177+-0.0380 2.6068+-0.0182 function-test 3.2160+-0.0971 ? 3.2610+-0.1941 ? might be 1.0140x slower function-with-eval 113.0654+-4.7362 ? 113.3085+-1.1645 ? gcse-poly-get-less-obvious 23.1465+-1.6000 22.6228+-0.7624 might be 1.0232x faster gcse-poly-get 27.8394+-4.3654 ? 29.0240+-1.0284 ? might be 1.0426x slower gcse 4.4309+-0.0281 ? 4.4918+-0.1193 ? might be 1.0137x slower get-by-id-bimorphic-check-structure-elimination-simple 3.0710+-0.2262 3.0101+-0.0826 might be 1.0202x faster get-by-id-bimorphic-check-structure-elimination 5.7551+-0.1910 ? 5.7927+-0.1764 ? get-by-id-chain-from-try-block 2.8081+-0.0456 2.7988+-0.1075 get-by-id-check-structure-elimination 4.9641+-0.0840 ? 5.0078+-0.0852 ? get-by-id-proto-or-self 16.3629+-1.0311 ? 17.6642+-3.0419 ? might be 1.0795x slower get-by-id-quadmorphic-check-structure-elimination-simple 3.3820+-0.1570 3.2900+-0.0607 might be 1.0280x faster get-by-id-self-or-proto 16.8414+-0.4407 ? 18.3796+-4.4423 ? might be 1.0913x slower get-by-val-out-of-bounds 4.6690+-0.0618 ? 4.7620+-0.1044 ? might be 1.0199x slower get-by-val-with-string-bimorphic-check-structure-elimination-simple 2.9868+-0.0800 ? 3.0220+-0.1174 ? might be 1.0118x slower get-by-val-with-string-bimorphic-check-structure-elimination 7.3748+-0.1818 ? 7.5499+-0.3200 ? might be 1.0237x slower get-by-val-with-string-chain-from-try-block 2.8719+-0.0624 ? 2.8907+-0.1205 ? get-by-val-with-string-check-structure-elimination 6.5715+-0.1745 ? 6.5869+-0.2268 ? get-by-val-with-string-proto-or-self 19.3578+-3.2927 18.6616+-2.7892 might be 1.0373x faster get-by-val-with-string-quadmorphic-check-structure-elimination-simple 3.9891+-0.2579 ? 4.1105+-0.1186 ? might be 1.0304x slower get-by-val-with-string-self-or-proto 18.6765+-2.8683 ? 18.7079+-2.4331 ? get-by-val-with-symbol-bimorphic-check-structure-elimination-simple 3.5598+-0.2169 3.4992+-0.1665 might be 1.0173x faster get-by-val-with-symbol-bimorphic-check-structure-elimination 14.5895+-0.3105 ? 14.6263+-0.2543 ? get-by-val-with-symbol-chain-from-try-block 2.8580+-0.0468 ? 2.8813+-0.1028 ? get-by-val-with-symbol-check-structure-elimination 14.0130+-0.1706 13.8557+-0.3917 might be 1.0114x faster get-by-val-with-symbol-proto-or-self 17.9388+-0.4404 ? 18.3973+-3.4096 ? might be 1.0256x slower get-by-val-with-symbol-quadmorphic-check-structure-elimination-simple 4.9681+-0.3309 4.8842+-0.0808 might be 1.0172x faster get-by-val-with-symbol-self-or-proto 17.3745+-0.9643 ? 19.0208+-5.0599 ? might be 1.0948x slower get_callee_monomorphic 2.7202+-0.2092 2.6450+-0.1386 might be 1.0284x faster get_callee_polymorphic 3.9697+-0.4307 3.7609+-0.1784 might be 1.0555x faster getter-no-activation 5.5602+-0.0631 5.5165+-0.0829 getter-prototype 10.0860+-0.5865 9.8423+-0.2959 might be 1.0248x faster getter-richards-try-catch 1420.2113+-140.5817 ? 1433.8635+-113.4307 ? getter-richards 102.8771+-1.6570 ? 104.5715+-1.6591 ? might be 1.0165x slower getter 5.9479+-0.2688 5.8848+-0.1876 might be 1.0107x faster global-object-access-with-mutating-structure 6.3317+-0.8154 5.9788+-0.3103 might be 1.0590x faster global-var-const-infer-fire-from-opt 1.1012+-0.0845 1.0978+-0.1270 global-var-const-infer 0.9508+-0.0409 0.9379+-0.0319 might be 1.0137x faster hard-overflow-check-equal 39.3887+-1.0199 ? 39.5241+-1.5366 ? hard-overflow-check 38.9210+-0.8184 ? 40.0735+-2.4994 ? might be 1.0296x slower HashMap-put-get-iterate-keys 27.4227+-0.5085 ? 27.5373+-0.5172 ? HashMap-put-get-iterate 27.1481+-0.4710 ? 27.5204+-0.2400 ? might be 1.0137x slower HashMap-string-put-get-iterate 28.1971+-1.0168 ? 28.5444+-0.8563 ? might be 1.0123x slower hoist-make-rope 9.4725+-1.2084 ? 9.6578+-0.1961 ? might be 1.0196x slower hoist-poly-check-structure-effectful-loop 4.7891+-0.1600 ? 4.8118+-0.2829 ? hoist-poly-check-structure 3.6920+-0.1596 3.6724+-0.0623 imul-double-only 6.4787+-0.2838 ? 6.7125+-0.3011 ? might be 1.0361x slower imul-int-only 7.4832+-0.1425 ? 7.5290+-0.1488 ? imul-mixed 6.4537+-0.7148 ? 6.7351+-0.1916 ? might be 1.0436x slower in-four-cases 22.0339+-0.2935 21.7369+-0.5022 might be 1.0137x faster in-one-case-false 12.3439+-0.4061 11.9678+-0.1330 might be 1.0314x faster in-one-case-true 12.1947+-0.4155 12.1324+-0.3282 in-two-cases 13.0428+-0.3823 12.9090+-0.1107 might be 1.0104x faster indexed-properties-in-objects 3.3034+-0.1726 3.2601+-0.0902 might be 1.0133x faster infer-closure-const-then-mov-no-inline 4.3718+-0.0822 ? 4.3849+-0.0703 ? infer-closure-const-then-mov 18.1365+-0.5030 18.1300+-0.4558 infer-closure-const-then-put-to-scope-no-inline 14.0488+-0.7051 13.9247+-0.3924 infer-closure-const-then-put-to-scope 23.6790+-0.9061 ? 24.2090+-0.7551 ? might be 1.0224x slower infer-closure-const-then-reenter-no-inline 59.8206+-0.9234 ? 60.5299+-0.7635 ? might be 1.0119x slower infer-closure-const-then-reenter 24.7228+-0.9482 24.5040+-1.1792 infer-constant-global-property 3.9000+-0.0829 ? 3.9718+-0.1826 ? might be 1.0184x slower infer-constant-property 3.0505+-0.1302 ? 3.0654+-0.1384 ? infer-one-time-closure-ten-vars 10.0125+-0.6495 9.7241+-0.1060 might be 1.0297x faster infer-one-time-closure-two-vars 9.2574+-0.4412 9.0445+-0.4466 might be 1.0235x faster infer-one-time-closure 9.3733+-0.7991 9.2332+-0.3218 might be 1.0152x faster infer-one-time-deep-closure 15.5809+-0.7410 15.5396+-0.2505 inline-arguments-access 4.2664+-0.2417 ? 4.2964+-0.1481 ? inline-arguments-aliased-access 4.1955+-0.0324 ? 4.4154+-0.2295 ? might be 1.0524x slower inline-arguments-local-escape 4.2670+-0.1303 4.2104+-0.0300 might be 1.0134x faster inline-get-scoped-var 5.5340+-0.0734 5.4921+-0.0521 inlined-put-by-id-transition 11.3721+-0.3493 11.1802+-0.3768 might be 1.0172x faster inlined-put-by-val-with-string-transition 49.7865+-2.0319 49.4579+-0.7860 inlined-put-by-val-with-symbol-transition 51.8088+-2.1815 49.9350+-1.2345 might be 1.0375x faster int-or-other-abs-then-get-by-val 5.2753+-0.1442 ? 5.2773+-0.1477 ? int-or-other-abs-zero-then-get-by-val 18.0059+-0.7014 17.7626+-0.4369 might be 1.0137x faster int-or-other-add-then-get-by-val 4.8860+-0.0581 4.8213+-0.0656 might be 1.0134x faster int-or-other-add 5.8468+-0.0453 ? 5.9508+-0.3031 ? might be 1.0178x slower int-or-other-div-then-get-by-val 4.7253+-0.3506 4.5945+-0.2934 might be 1.0285x faster int-or-other-max-then-get-by-val 4.7632+-0.0523 ? 4.7838+-0.1696 ? int-or-other-min-then-get-by-val 4.6495+-0.0999 ? 4.6849+-0.2136 ? int-or-other-mod-then-get-by-val 4.1353+-0.1535 ? 4.1578+-0.1290 ? int-or-other-mul-then-get-by-val 4.4589+-0.2212 4.4196+-0.1332 int-or-other-neg-then-get-by-val 4.9431+-0.2930 4.8677+-0.0795 might be 1.0155x faster int-or-other-neg-zero-then-get-by-val 17.8174+-0.4325 ? 18.0362+-1.4307 ? might be 1.0123x slower int-or-other-sub-then-get-by-val 4.9561+-0.0361 ? 4.9623+-0.1127 ? int-or-other-sub 4.1461+-0.1934 4.1170+-0.1812 int-overflow-local 5.0000+-0.1112 4.9640+-0.1121 Int16Array-alloc-long-lived 50.1111+-0.5536 ! 51.6487+-0.9231 ! definitely 1.0307x slower Int16Array-bubble-sort-with-byteLength 20.6451+-0.2010 ? 20.8942+-0.9133 ? might be 1.0121x slower Int16Array-bubble-sort 20.6320+-0.3848 ? 20.7742+-0.6504 ? Int16Array-load-int-mul 1.8305+-0.0202 1.8006+-0.0396 might be 1.0166x faster Int16Array-to-Int32Array-set 59.7250+-1.9581 ^ 54.8234+-0.2546 ^ definitely 1.0894x faster Int32Array-alloc-large 20.6547+-1.0765 20.2289+-0.4359 might be 1.0211x faster Int32Array-alloc-long-lived 57.2497+-1.6250 57.0623+-1.0278 Int32Array-alloc 2.8663+-0.0683 2.7822+-0.1214 might be 1.0302x faster Int32Array-Int8Array-view-alloc 6.8538+-0.0579 6.8428+-0.2171 int52-spill 7.0753+-0.2298 ^ 5.9633+-0.2364 ^ definitely 1.1865x faster Int8Array-alloc-long-lived 44.5156+-0.7862 ? 44.7911+-1.3912 ? Int8Array-load-with-byteLength 3.7548+-0.1915 3.7448+-0.1218 Int8Array-load 3.7415+-0.0854 3.7092+-0.0957 integer-divide 12.4214+-0.3322 12.3060+-0.2410 integer-modulo 2.4464+-0.1152 2.4164+-0.0643 might be 1.0124x faster is-boolean-fold-tricky 4.5685+-0.1002 4.5348+-0.1208 is-boolean-fold 3.1818+-0.1174 3.1062+-0.0972 might be 1.0243x faster is-function-fold-tricky-internal-function 12.5412+-0.1729 ? 12.7519+-0.1307 ? might be 1.0168x slower is-function-fold-tricky 4.7045+-0.0866 ? 4.7490+-0.2708 ? is-function-fold 3.1379+-0.1166 ? 3.1688+-0.0732 ? is-number-fold-tricky 4.5408+-0.1934 ? 4.6791+-0.4842 ? might be 1.0304x slower is-number-fold 3.2087+-0.2268 3.1493+-0.0800 might be 1.0189x faster is-object-or-null-fold-functions 3.2827+-0.0424 3.1939+-0.0741 might be 1.0278x faster is-object-or-null-fold-less-tricky 4.7145+-0.2216 4.6673+-0.1208 might be 1.0101x faster is-object-or-null-fold-tricky 6.3561+-0.0769 ? 6.3878+-0.1057 ? is-object-or-null-fold 3.1882+-0.0938 3.1843+-0.1009 is-object-or-null-trickier-function 4.8642+-0.3407 4.7642+-0.1777 might be 1.0210x faster is-object-or-null-trickier-internal-function 12.6933+-0.1382 ? 12.8799+-0.2060 ? might be 1.0147x slower is-object-or-null-tricky-function 4.7595+-0.1521 4.6639+-0.0257 might be 1.0205x faster is-object-or-null-tricky-internal-function 9.5062+-0.0999 ? 9.6992+-0.2547 ? might be 1.0203x slower is-string-fold-tricky 4.6970+-0.2824 4.5242+-0.0561 might be 1.0382x faster is-string-fold 3.2393+-0.1817 3.1158+-0.1037 might be 1.0396x faster is-undefined-fold-tricky 3.8386+-0.1164 3.7880+-0.0770 might be 1.0133x faster is-undefined-fold 3.1922+-0.0854 3.1275+-0.1002 might be 1.0207x faster JSONP-negative-0 0.4273+-0.0479 0.4203+-0.0304 might be 1.0167x faster large-int-captured 4.6448+-0.0578 ? 4.6573+-0.1162 ? large-int-neg 16.3593+-0.5660 16.1483+-0.2342 might be 1.0131x faster large-int 14.5238+-0.4180 14.3864+-0.7203 load-varargs-elimination 24.6701+-0.9041 24.6332+-0.5119 logical-not-weird-types 3.8260+-0.1758 ? 3.8467+-0.1324 ? logical-not 4.9866+-0.1480 ? 5.0423+-0.1159 ? might be 1.0112x slower lots-of-fields 13.1637+-0.6287 13.0478+-0.3534 make-indexed-storage 3.4822+-0.1861 3.2277+-0.4082 might be 1.0789x faster make-rope-cse 3.9441+-0.3848 3.8337+-0.1134 might be 1.0288x faster marsaglia-larger-ints 40.7216+-1.7238 40.1223+-1.7715 might be 1.0149x faster marsaglia-osr-entry 22.4923+-0.9995 ? 22.5483+-0.6529 ? math-with-out-of-bounds-array-values 25.6999+-0.8259 25.2957+-0.2334 might be 1.0160x faster max-boolean 2.7995+-0.0563 2.7517+-0.0546 might be 1.0174x faster method-on-number 19.9904+-1.7007 18.0443+-0.3664 might be 1.1078x faster min-boolean 2.7819+-0.0497 ? 2.7956+-0.0467 ? minus-boolean-double 3.5607+-0.0946 3.4743+-0.0446 might be 1.0249x faster minus-boolean 2.6591+-0.1325 2.6483+-0.0839 misc-strict-eq 32.4924+-3.5796 32.0159+-3.0028 might be 1.0149x faster mod-boolean-double 11.6357+-0.2837 ? 11.7997+-0.3179 ? might be 1.0141x slower mod-boolean 8.4194+-0.2472 ? 8.4606+-0.1771 ? mul-boolean-double 4.2252+-0.2698 3.9756+-0.0251 might be 1.0628x faster mul-boolean 3.2581+-0.2272 3.2392+-0.1732 neg-boolean 3.5462+-0.0820 3.4638+-0.0220 might be 1.0238x faster negative-zero-divide 0.5679+-0.0178 0.5613+-0.0152 might be 1.0117x faster negative-zero-modulo 0.5367+-0.0395 ? 0.5542+-0.0144 ? might be 1.0326x slower negative-zero-negate 0.5461+-0.0243 0.5348+-0.0197 might be 1.0212x faster nested-function-parsing 53.4825+-0.5895 ? 55.4915+-2.2486 ? might be 1.0376x slower new-array-buffer-dead 105.4115+-1.4486 ? 105.4910+-1.3665 ? new-array-buffer-push 7.0153+-0.3693 7.0029+-0.4126 new-array-dead 16.0037+-2.9048 15.7688+-2.3425 might be 1.0149x faster new-array-push 4.6483+-0.6560 4.0933+-0.0889 might be 1.1356x faster no-inline-constructor 37.0369+-0.7957 ? 37.3873+-1.0544 ? number-test 3.4504+-0.0406 ? 3.5832+-0.3153 ? might be 1.0385x slower object-closure-call 5.7893+-0.1657 ? 5.8970+-0.2378 ? might be 1.0186x slower object-get-own-property-symbols-on-large-array 4.1937+-0.6400 4.1613+-0.1499 object-test 3.3323+-0.2390 3.2637+-0.1260 might be 1.0210x faster obvious-sink-pathology-taken 120.8185+-1.5840 120.3417+-1.0710 obvious-sink-pathology 114.6345+-0.7475 ? 115.4232+-1.4713 ? obviously-elidable-new-object 28.4069+-0.4826 28.3270+-0.4860 plus-boolean-arith 2.8033+-0.0787 2.7778+-0.0578 plus-boolean-double 3.5870+-0.2088 3.4578+-0.0284 might be 1.0374x faster plus-boolean 2.7230+-0.1541 2.7138+-0.1143 poly-chain-access-different-prototypes-simple 3.0156+-0.1310 ? 3.1214+-0.1683 ? might be 1.0351x slower poly-chain-access-different-prototypes 3.0392+-0.1047 2.9994+-0.1151 might be 1.0133x faster poly-chain-access-simpler 2.9808+-0.1751 ? 3.0050+-0.0628 ? poly-chain-access 3.0626+-0.2359 2.9369+-0.0809 might be 1.0428x faster poly-stricteq 64.2900+-1.2964 ? 64.9150+-1.0965 ? polymorphic-array-call 1.7390+-0.1261 1.6689+-0.1363 might be 1.0420x faster polymorphic-get-by-id 3.6646+-0.0424 ? 3.7247+-0.2357 ? might be 1.0164x slower polymorphic-put-by-id 34.2473+-0.1883 ? 34.4905+-0.4849 ? polymorphic-put-by-val-with-string 37.6884+-0.4289 ^ 36.8400+-0.1783 ^ definitely 1.0230x faster polymorphic-put-by-val-with-symbol 37.6736+-0.7501 37.1259+-0.7687 might be 1.0148x faster polymorphic-structure 14.3831+-0.2862 14.2723+-0.1975 polyvariant-monomorphic-get-by-id 9.3508+-1.0271 9.2292+-0.2551 might be 1.0132x faster proto-getter-access 8.4172+-0.2583 8.2905+-0.1788 might be 1.0153x faster prototype-access-with-mutating-prototype 5.8538+-0.4388 5.6856+-0.1247 might be 1.0296x faster put-by-id-replace-and-transition 9.9443+-0.6133 ? 10.0425+-0.1277 ? put-by-id-slightly-polymorphic 3.1880+-0.0698 ? 3.2445+-0.1065 ? might be 1.0177x slower put-by-id 12.7754+-0.5653 12.7548+-0.5233 put-by-val-direct 0.5440+-0.0434 ? 0.5465+-0.0342 ? put-by-val-large-index-blank-indexing-type 6.0854+-0.5725 5.7242+-0.3031 might be 1.0631x faster put-by-val-machine-int 2.8513+-0.1096 ? 2.9722+-0.0487 ? might be 1.0424x slower put-by-val-with-string-replace-and-transition 14.0892+-0.3870 ? 14.1378+-0.4285 ? put-by-val-with-string-slightly-polymorphic 4.1172+-0.1526 ? 4.1243+-0.1353 ? put-by-val-with-string 13.2828+-0.7961 13.1887+-0.1068 put-by-val-with-symbol-replace-and-transition 15.1232+-0.3965 ? 15.3246+-0.8333 ? might be 1.0133x slower put-by-val-with-symbol-slightly-polymorphic 4.5042+-0.1592 4.4055+-0.0971 might be 1.0224x faster put-by-val-with-symbol 13.3079+-0.5399 ? 13.5485+-0.6781 ? might be 1.0181x slower rare-osr-exit-on-local 15.2162+-0.8194 ? 15.6694+-0.3934 ? might be 1.0298x slower raytrace-with-empty-try-catch 7.4126+-0.3963 7.2865+-0.4548 might be 1.0173x faster raytrace-with-try-catch 12.9380+-0.3191 12.7415+-0.0996 might be 1.0154x faster register-pressure-from-osr 21.1192+-0.3398 20.9576+-0.2707 repeat-multi-get-by-offset 24.4703+-0.7645 24.4166+-0.5603 richards-empty-try-catch 86.6653+-0.6254 ? 87.2175+-0.5402 ? richards-try-catch 293.5030+-8.3243 289.2365+-2.8052 might be 1.0148x faster setter-prototype 7.8227+-0.8423 7.5460+-0.1657 might be 1.0367x faster setter 6.0943+-0.2381 6.0706+-0.1270 simple-activation-demo 26.9800+-0.7865 26.5283+-0.2217 might be 1.0170x faster simple-getter-access 11.1135+-0.3158 10.9407+-0.7576 might be 1.0158x faster simple-poly-call-nested 8.3320+-0.0845 8.2342+-0.2041 might be 1.0119x faster simple-poly-call 1.7044+-0.0139 1.6911+-0.0267 sin-boolean 18.3570+-1.1458 18.1685+-1.4489 might be 1.0104x faster singleton-scope 71.4401+-1.0655 71.3187+-0.8791 sink-function 10.0893+-0.4238 ? 10.2069+-0.4823 ? might be 1.0117x slower sink-huge-activation 16.5709+-0.2681 16.4665+-0.5565 sinkable-new-object-dag 66.4741+-1.5499 ? 67.0104+-2.0323 ? sinkable-new-object-taken 49.1165+-1.8383 48.8795+-1.3117 sinkable-new-object 37.7815+-1.3263 37.5649+-0.9259 slow-array-profile-convergence 3.2386+-0.0447 3.2117+-0.0909 slow-convergence 3.0211+-0.0439 ? 3.0322+-0.0178 ? slow-ternaries 19.2089+-0.6929 19.1749+-0.3642 sorting-benchmark 20.3919+-0.9630 20.3031+-0.7275 sparse-conditional 1.5666+-0.0997 1.5638+-0.0454 splice-to-remove 15.6326+-0.3584 15.4330+-0.4030 might be 1.0129x faster string-char-code-at 17.3076+-0.2936 ! 17.7476+-0.1043 ! definitely 1.0254x slower string-concat-object 2.2463+-0.1535 ? 2.2699+-0.0954 ? might be 1.0105x slower string-concat-pair-object 2.1340+-0.0757 ? 2.2959+-0.2539 ? might be 1.0758x slower string-concat-pair-simple 11.4960+-0.1870 ? 11.6417+-0.4701 ? might be 1.0127x slower string-concat-simple 12.5779+-1.6763 12.1675+-0.3080 might be 1.0337x faster string-cons-repeat 7.8746+-0.2173 ? 7.9310+-0.3336 ? string-cons-tower 7.7935+-0.1068 ? 8.5202+-0.9858 ? might be 1.0933x slower string-equality 18.4501+-0.3802 ? 18.5565+-0.1951 ? string-get-by-val-big-char 7.5883+-0.9454 7.3967+-0.3728 might be 1.0259x faster string-get-by-val-out-of-bounds-insane 3.9261+-0.0573 3.8402+-0.1725 might be 1.0224x faster string-get-by-val-out-of-bounds 5.5496+-0.0292 5.5259+-0.1037 string-get-by-val 3.7103+-0.2189 3.5330+-0.0611 might be 1.0502x faster string-hash 2.4297+-0.0568 2.4252+-0.0583 string-long-ident-equality 15.8350+-0.7400 15.3549+-0.4231 might be 1.0313x faster string-out-of-bounds 12.7220+-0.2615 12.5563+-0.1715 might be 1.0132x faster string-repeat-arith 34.7700+-2.4969 33.6559+-0.2574 might be 1.0331x faster string-sub 67.7055+-1.0242 67.3192+-0.9278 string-test 3.4236+-0.1179 3.3077+-0.0498 might be 1.0350x faster string-var-equality 35.0185+-1.4395 34.6046+-0.5842 might be 1.0120x faster structure-hoist-over-transitions 2.7006+-0.1134 ? 2.7698+-0.1446 ? might be 1.0256x slower substring-concat-weird 43.3233+-1.5255 ? 43.5641+-0.5669 ? substring-concat 47.9615+-2.0260 47.3721+-1.1287 might be 1.0124x faster substring 53.2199+-0.7079 52.3007+-0.6165 might be 1.0176x faster switch-char-constant 3.0599+-0.0565 ? 3.0928+-0.0947 ? might be 1.0107x slower switch-char 6.7961+-0.2081 ? 6.8708+-0.1205 ? might be 1.0110x slower switch-constant 11.2695+-0.5790 10.9592+-1.3659 might be 1.0283x faster switch-string-basic-big-var 21.6559+-0.7608 ? 21.9258+-0.8322 ? might be 1.0125x slower switch-string-basic-big 19.5056+-0.1955 ? 19.5961+-0.1398 ? switch-string-basic-var 15.8621+-0.3491 15.8612+-0.1784 switch-string-basic 15.5749+-0.7710 15.1874+-0.2280 might be 1.0255x faster switch-string-big-length-tower-var 21.2307+-0.6032 21.2057+-1.0033 switch-string-length-tower-var 16.4585+-0.2983 16.4043+-0.4979 switch-string-length-tower 13.3847+-0.2803 ? 13.8068+-0.6943 ? might be 1.0315x slower switch-string-short 13.3708+-0.2638 13.2650+-0.3052 switch 14.8984+-0.3345 14.5317+-1.4540 might be 1.0252x faster tear-off-arguments-simple 3.5200+-0.2066 ? 3.5240+-0.1396 ? tear-off-arguments 4.6174+-0.0824 ? 4.7900+-0.4052 ? might be 1.0374x slower temporal-structure 14.4860+-0.5101 14.3664+-0.4420 to-int32-boolean 14.5845+-0.5558 14.2489+-0.2298 might be 1.0236x faster try-catch-get-by-val-cloned-arguments 10.9355+-0.2868 10.8063+-0.0591 might be 1.0120x faster try-catch-get-by-val-direct-arguments 2.3252+-0.1122 2.3073+-0.0533 try-catch-get-by-val-scoped-arguments 5.1660+-0.5220 4.9234+-0.0993 might be 1.0493x faster typed-array-get-set-by-val-profiling 30.6602+-0.6639 30.4034+-0.3972 undefined-property-access 368.8419+-2.1077 ? 371.6929+-10.3460 ? undefined-test 3.4765+-0.0971 ? 3.5131+-0.2126 ? might be 1.0105x slower unprofiled-licm 13.1023+-0.5436 12.8304+-0.3969 might be 1.0212x faster v8-raytrace-with-empty-try-catch 39.1846+-1.9104 39.1163+-1.3263 v8-raytrace-with-try-catch 84.7640+-1.5016 84.1979+-2.3367 varargs-call 14.8485+-0.5551 14.8160+-0.3080 varargs-construct-inline 25.7678+-1.1928 ? 26.3218+-1.4887 ? might be 1.0215x slower varargs-construct 23.4676+-0.4067 ? 23.5732+-0.6478 ? varargs-inline 10.0778+-0.4194 9.9113+-0.2884 might be 1.0168x faster varargs-strict-mode 11.5723+-0.5768 11.3988+-0.2890 might be 1.0152x faster varargs 11.2032+-0.3292 ? 11.2336+-0.2345 ? weird-inlining-const-prop 2.7123+-0.1138 2.6500+-0.0744 might be 1.0235x faster <geometric> 9.6258+-0.0370 9.5817+-0.0193 might be 1.0046x faster Baseline Patch AsmBench: bigfib.cpp 528.6077+-5.8512 526.9321+-1.9781 cray.c 454.7429+-2.3169 453.7889+-1.3524 dry.c 533.5659+-25.8945 524.8246+-1.5525 might be 1.0167x faster FloatMM.c 766.2415+-2.4583 ? 767.6397+-1.7699 ? gcc-loops.cpp 4195.3959+-8.0506 4194.5600+-23.7647 n-body.c 1042.6345+-2.5563 ? 1046.1790+-5.5749 ? Quicksort.c 447.5541+-4.0928 ? 449.4483+-11.1856 ? stepanov_container.cpp 3898.8187+-12.1724 3896.7000+-36.1758 Towers.c 268.0255+-1.4031 ? 268.6580+-0.8113 ? <geometric> 836.7112+-6.4739 835.7311+-1.5542 might be 1.0012x faster Baseline Patch CompressionBench: huffman 66.0045+-0.1760 65.5847+-2.3409 arithmetic-simple 357.6401+-4.5760 355.4332+-2.5011 arithmetic-precise 288.3695+-2.0667 ? 290.6862+-1.7567 ? arithmetic-complex-precise 289.5615+-3.2158 ? 289.7255+-2.5608 ? arithmetic-precise-order-0 365.7117+-2.3008 365.3111+-3.5598 arithmetic-precise-order-1 344.3091+-5.9616 342.2772+-4.6974 arithmetic-precise-order-2 400.9247+-0.9573 ? 411.2380+-10.1286 ? might be 1.0257x slower arithmetic-simple-order-1 410.2511+-3.1299 ? 411.2682+-3.2862 ? arithmetic-simple-order-2 469.1277+-3.9170 468.9515+-3.1960 lz-string 319.1978+-3.5258 ^ 309.2590+-5.6073 ^ definitely 1.0321x faster <geometric> 301.0373+-0.5769 300.5755+-2.1723 might be 1.0015x faster Baseline Patch Geomean of preferred means: <scaled-result> 60.0415+-0.1598 59.9754+-0.2026 might be 1.0011x faster ===== ~/Internal>
Geoffrey Garen
Comment 3
2015-10-01 16:50:28 PDT
Created
attachment 262299
[details]
Patch
WebKit Commit Bot
Comment 4
2015-10-01 16:52:43 PDT
Attachment 262299
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:143: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:145: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:146: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1720: Code inside a namespace should not be indented. [whitespace/indent] [4] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1720: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1721: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1729: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1733: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1146: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1188: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1233: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1278: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] Total errors found: 12 in 43 files If any of these errors are false positives, please file a bug against check-webkit-style.
Geoffrey Garen
Comment 5
2015-10-01 17:59:23 PDT
Created
attachment 262306
[details]
Patch
WebKit Commit Bot
Comment 6
2015-10-01 18:01:11 PDT
Attachment 262306
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:143: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:145: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPlan.cpp:146: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1720: Code inside a namespace should not be indented. [whitespace/indent] [4] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1720: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1721: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1729: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.cpp:1733: Wrong number of spaces before statement. (expected: 8) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1146: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1188: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1233: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/bytecode/CodeBlock.h:1278: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] Total errors found: 12 in 43 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 7
2015-10-01 18:51:11 PDT
Comment on
attachment 262306
[details]
Patch LGTM.
Geoffrey Garen
Comment 8
2015-10-01 20:46:17 PDT
Committed
r190450
: <
http://trac.webkit.org/changeset/190450
>
Geoffrey Garen
Comment 9
2015-10-01 22:13:11 PDT
Rolled out.
Geoffrey Garen
Comment 10
2015-10-02 14:16:44 PDT
Committed
r190522
: <
http://trac.webkit.org/changeset/190522
>
Alexey Proskuryakov
Comment 11
2015-10-03 18:39:05 PDT
This caused a lot of leaks on the leaks bot. Will see if I can easily roll out. Oct 02 14:46 190522 failure #66 Failed 30774 total leaks found for a total of 6,394,560 bytes. 298 unique leaks found. 4 failures 2 new passes Oct 02 14:30 190521 failure #65 Failed 3823 total leaks found for a total of 503,120 bytes. 139 unique leaks found. 3 failures 2 new passes
WebKit Commit Bot
Comment 12
2015-10-03 18:41:32 PDT
Re-opened since this is blocked by
bug 149787
Alexey Proskuryakov
Comment 13
2015-10-03 18:46:38 PDT
Rolled out in
r190546
.
Geoffrey Garen
Comment 14
2015-10-05 16:32:20 PDT
Committed
r190589
: <
http://trac.webkit.org/changeset/190589
>
Alexey Proskuryakov
Comment 15
2015-10-05 22:45:12 PDT
This did address some leaks, but we are still getting an order of magnitude more than without the patch. There are also very frequent crashes that look related, and that I didn't see before. Oct 05 16:56 190589 failure #107 Failed 6495 total leaks found for a total of 2,603,376 bytes. 189 unique leaks found. 2 new passes Oct 05 16:40 190587 failure #106 Failed 3367 total leaks found for a total of 424,896 bytes. 146 unique leaks found. 2 new passes
https://build.webkit.org/results/Apple%20Mavericks%20Debug%20WK1%20(Tests)/r190604%20(16063)/fast/selectors/nth-last-child-of-selector-list-ending-with-never-matching-selectors-crash-log.txt
https://build.webkit.org/results/Apple%20Yosemite%20Debug%20WK2%20(Tests)/r190602%20(7400)/js/dom/string-split-conformance-crash-log.txt
https://build.webkit.org/results/Apple%20Yosemite%20Debug%20WK2%20(Tests)/r190604%20(7401)/imported/w3c/indexeddb/idbobjectstore_openCursor-crash-log.txt
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 com.apple.JavaScriptCore 0x0000000117e20827 WTFCrash + 39 1 com.apple.JavaScriptCore 0x00000001179e815a JSC::JITToDFGDeferredCompilationCallback::compilationDidComplete(JSC::CodeBlock*, JSC::CodeBlock*, JSC::CompilationResult) + 154 2 com.apple.JavaScriptCore 0x0000000117699f05 JSC::DFG::Plan::finalizeAndNotifyCallback() + 101 3 com.apple.JavaScriptCore 0x000000011779a361 JSC::DFG::Worklist::completeAllReadyPlansForVM(JSC::VM&, JSC::DFG::CompilationKey) + 305 4 com.apple.JavaScriptCore 0x00000001179cb292 operationOptimize + 1058
WebKit Commit Bot
Comment 16
2015-10-05 22:48:23 PDT
Re-opened since this is blocked by
bug 149833
Alexey Proskuryakov
Comment 17
2015-10-05 23:01:28 PDT
Seems even more certain to have caused crashes on perf testers: Thread 10 Crashed:: WTF Parallel Helper Thread 0 com.apple.JavaScriptCore 0x000000010e601e6a JSC::speculationFromCell(JSC::JSCell*) + 58 (SpeculatedType.cpp:363) 1 com.apple.JavaScriptCore 0x000000010e0554c4 JSC::CodeBlock::updateAllPredictionsAndCountLiveness(unsigned int&, unsigned int&) + 276 (CodeBlock.cpp:3746) 2 com.apple.JavaScriptCore 0x000000010e052127 JSC::CodeBlock::stronglyVisitStrongReferences(JSC::SlotVisitor&) + 567 (CodeBlock.cpp:2883) 3 com.apple.JavaScriptCore 0x000000010e051ea6 JSC::CodeBlock::visitChildren(JSC::SlotVisitor&) + 342 (CodeBlock.cpp:2379) 4 com.apple.JavaScriptCore 0x000000010e5fe045 JSC::SlotVisitor::drain() + 277 (SlotVisitor.cpp:182) 5 com.apple.JavaScriptCore 0x000000010e5fe248 JSC::SlotVisitor::drainFromShared(JSC::SlotVisitor::SharedDrainMode) + 104 (SlotVisitor.cpp:237) 6 com.apple.JavaScriptCore 0x000000010e30eb4e WTF::SharedTaskFunctor<JSC::Heap::markRoots(double, void*, void*, int (&) [37])::$_0>::run() + 286 (Heap.cpp:564) 7 com.apple.JavaScriptCore 0x000000010e69d67c WTF::ParallelHelperClient::runTask(WTF::RefPtr<WTF::SharedTask>) + 44 (ParallelHelperPool.cpp:114)
Alexey Proskuryakov
Comment 18
2015-10-05 23:06:29 PDT
Actually no, I think that this stack trace is from
bug 149821
. These landed a bit too close together to confidently tell which is to blame, but it seems likely that Dromaeo/cssquery-jquery.html and Dromaeo/cssquery-dojo.html started to fail (not crash) after this patch.
https://build.webkit.org/builders/Apple%20Mavericks%20Release%20WK2%20(Perf)?numbuilds=50
Oct 05 17:23 190589 failure #5937 Failed 2 perf tests failed Oct 05 15:04 190579 success #5936 Build successful
https://build.webkit.org/builders/Apple%20Yosemite%20Release%20WK2%20(Perf)?numbuilds=50
Oct 05 19:13 190597 failure #3075 Failed 1 perf tests failed Oct 05 17:01 190587 success #3074 Build successful
https://build.webkit.org/builders/Apple%20El%20Capitan%20Release%20WK2%20(Perf)?numbuilds=50
Oct 05 19:15 190597 failure #46 Failed 1 perf tests failed Oct 05 17:08 190591 failure #45 Failed 1 perf tests failed Oct 05 14:58 190579 success #44 Build successful
Geoffrey Garen
Comment 19
2015-10-06 11:22:01 PDT
> This did address some leaks, but we are still getting an order of magnitude more than without the patch.
Crazy. The leaks bot clearly shows CodeBlock-related leaks, even though I saw none locally.
Joseph Pecoraro
Comment 20
2015-10-06 15:59:20 PDT
Comment on
attachment 262306
[details]
Patch View in context:
https://bugs.webkit.org/attachment.cgi?id=262306&action=review
> Source/JavaScriptCore/bytecode/CodeBlock.cpp:3107 > + return nullptr
Missing semicolon (for when this relands).
Geoffrey Garen
Comment 21
2015-10-07 16:10:51 PDT
Committed
r190694
: <
http://trac.webkit.org/changeset/190694
>
Geoffrey Garen
Comment 22
2015-10-09 10:55:01 PDT
Reverted in <
http://trac.webkit.org/changeset/190809
>.
Geoffrey Garen
Comment 23
2015-10-09 16:11:49 PDT
Committed
r190827
: <
http://trac.webkit.org/changeset/190827
>
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug