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 136330
FTL should sink object allocations
https://bugs.webkit.org/show_bug.cgi?id=136330
Summary
FTL should sink object allocations
Filip Pizlo
Reported
2014-08-27 21:35:00 PDT
...
Attachments
it begins
(16.51 KB, patch)
2014-09-14 22:29 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
more
(31.03 KB, patch)
2014-09-15 18:03 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
more
(37.90 KB, patch)
2014-09-15 20:47 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
a bit more
(44.43 KB, patch)
2014-09-16 16:45 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
the easy part is done
(47.78 KB, patch)
2014-09-16 19:02 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
it's coming along
(58.20 KB, patch)
2014-09-18 11:56 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
and now without the phi sinking
(57.34 KB, patch)
2014-09-18 13:00 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
the phase is complete
(71.46 KB, patch)
2014-09-18 16:56 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
and now, with an OSR availability story!
(80.73 KB, patch)
2014-09-18 18:13 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
it's getting interesting!
(103.18 KB, patch)
2014-09-20 12:35 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
OSR exit story is coming together
(117.00 KB, patch)
2014-09-20 19:00 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
OSR exit is almost done
(123.84 KB, patch)
2014-09-21 10:21 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
OSR exit is done
(129.94 KB, patch)
2014-09-21 13:26 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
filling in the inner bits
(137.54 KB, patch)
2014-09-21 17:38 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
getting close
(163.51 KB, patch)
2014-09-22 10:48 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
it is written
(209.30 KB, patch)
2014-09-22 13:18 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
progress towards compiling
(222.89 KB, patch)
2014-09-22 14:37 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
it compiles!
(224.82 KB, patch)
2014-09-22 18:01 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
more
(235.12 KB, patch)
2014-09-22 20:29 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
it sank a couple object allocations
(235.96 KB, patch)
2014-09-22 22:44 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
starting to really work
(239.92 KB, patch)
2014-09-23 17:06 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
and now, with more sensible heuristics!
(263.62 KB, patch)
2014-09-24 13:23 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
more
(264.37 KB, patch)
2014-09-24 17:32 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
the patch
(265.90 KB, patch)
2014-09-25 13:13 PDT
,
Filip Pizlo
oliver
: review+
Details
Formatted Diff
Diff
some fixes towards landing
(265.84 KB, patch)
2014-09-25 16:48 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
more try to fix
(265.86 KB, patch)
2014-09-25 17:35 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
so much fix
(269.19 KB, patch)
2014-09-25 17:47 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
moer tests
(276.04 KB, patch)
2014-09-25 19:47 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
Show Obsolete
(27)
View All
Add attachment
proposed patch, testcase, etc.
Filip Pizlo
Comment 1
2014-09-14 22:29:00 PDT
Created
attachment 238103
[details]
it begins
Filip Pizlo
Comment 2
2014-09-15 18:03:05 PDT
Created
attachment 238151
[details]
more
Filip Pizlo
Comment 3
2014-09-15 20:47:46 PDT
Created
attachment 238154
[details]
more
Oliver Hunt
Comment 4
2014-09-16 09:59:58 PDT
Comment on
attachment 238154
[details]
more View in context:
https://bugs.webkit.org/attachment.cgi?id=238154&action=review
> Source/JavaScriptCore/dfg/DFGObjectMaterializationData.h:54 > + float oneWaySimilarityScore(const ObjectMaterializationData&) const; > + > + // The minimum of the two possible one-way scores. > + float similarityScore(const ObjectMaterializationData&) const;
why float rather than double? (i'm simply asking as in most places we just use double so i was wondering what the specific reason was)
Filip Pizlo
Comment 5
2014-09-16 10:16:56 PDT
(In reply to
comment #4
)
> (From update of
attachment 238154
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=238154&action=review
> > > Source/JavaScriptCore/dfg/DFGObjectMaterializationData.h:54 > > + float oneWaySimilarityScore(const ObjectMaterializationData&) const; > > + > > + // The minimum of the two possible one-way scores. > > + float similarityScore(const ObjectMaterializationData&) const; > > why float rather than double? (i'm simply asking as in most places we just use double so i was wondering what the specific reason was)
Well, I think that our approach of using double everywhere is basically broken. It's better to carry 32 bits rather than 64 bits if at all possible. That being said, in this particular place, having a float serves as a good signal that the information is very low fidelity. That's why I used float here.
Filip Pizlo
Comment 6
2014-09-16 16:45:03 PDT
Created
attachment 238219
[details]
a bit more
Filip Pizlo
Comment 7
2014-09-16 19:02:11 PDT
Created
attachment 238232
[details]
the easy part is done
Filip Pizlo
Comment 8
2014-09-18 11:56:19 PDT
Created
attachment 238317
[details]
it's coming along
Filip Pizlo
Comment 9
2014-09-18 13:00:08 PDT
Created
attachment 238320
[details]
and now without the phi sinking made more progress, but removed one of the more complex features: Phi sinking. I'll implement that later.
Filip Pizlo
Comment 10
2014-09-18 16:56:35 PDT
Created
attachment 238334
[details]
the phase is complete I still have to do the whole OSR exit story. And the lowering. And dragging the new node types through the whole compiler.
Oliver Hunt
Comment 11
2014-09-18 17:27:58 PDT
Comment on
attachment 238334
[details]
the phase is complete View in context:
https://bugs.webkit.org/attachment.cgi?id=238334&action=review
> Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:657 > + DFG_CRASH(m_graph, where, "Bad escapee op");
the more i see dfg_crash the more i wonder if we want to make this a syslog event, but keep on going and just nuke the dfg compilation
Filip Pizlo
Comment 12
2014-09-18 18:05:43 PDT
(In reply to
comment #11
)
> (From update of
attachment 238334
[details]
) > View in context:
https://bugs.webkit.org/attachment.cgi?id=238334&action=review
> > > Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:657 > > + DFG_CRASH(m_graph, where, "Bad escapee op"); > > the more i see dfg_crash the more i wonder if we want to make this a syslog event, but keep on going and just nuke the dfg compilation
Sounds like a nice idea, but how do you "nuke" the DFG compilation? DFG_CRASH() can come from an arbitrarily deep stack. Even if the DFG had allocated things only using RAII, we wouldn't be able to "nuke" anything unless we switched to using C++ exceptions. Even then, this feels like an extremely risky proposition. I don't like it.
Oliver Hunt
Comment 13
2014-09-18 18:08:36 PDT
(In reply to
comment #12
)
> (In reply to
comment #11
) > > (From update of
attachment 238334
[details]
[details]) > > View in context:
https://bugs.webkit.org/attachment.cgi?id=238334&action=review
> > > > > Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:657 > > > + DFG_CRASH(m_graph, where, "Bad escapee op"); > > > > the more i see dfg_crash the more i wonder if we want to make this a syslog event, but keep on going and just nuke the dfg compilation > > Sounds like a nice idea, but how do you "nuke" the DFG compilation? > > DFG_CRASH() can come from an arbitrarily deep stack. Even if the DFG had allocated things only using RAII, we wouldn't be able to "nuke" anything unless we switched to using C++ exceptions. > > Even then, this feels like an extremely risky proposition. I don't like it.
True, i forget that the reason for the crash is that the dfg itself is in an inconsistent state, so our usual "compilation failed" flag is not sufficient as we could just end up wandering into the weeds of progressively worse compiler state. So i agree, this is actually just a terrible idea :)
Filip Pizlo
Comment 14
2014-09-18 18:13:05 PDT
Created
attachment 238343
[details]
and now, with an OSR availability story! Now I just need to: - Drag the new nodes through the compiler. - Teach the FTL OSR exit compiler to materialize objects. We now have basically all of the necessary information right up until the point where we create FTL::OSRExits.
Filip Pizlo
Comment 15
2014-09-20 12:35:13 PDT
Created
attachment 238415
[details]
it's getting interesting! Started doing the OSR exit story
Filip Pizlo
Comment 16
2014-09-20 19:00:21 PDT
Created
attachment 238419
[details]
OSR exit story is coming together
Filip Pizlo
Comment 17
2014-09-21 10:21:06 PDT
Created
attachment 238425
[details]
OSR exit is almost done
Filip Pizlo
Comment 18
2014-09-21 13:26:34 PDT
Created
attachment 238432
[details]
OSR exit is done Now I've gotta drap those new node types through the DFG and FTL.
Filip Pizlo
Comment 19
2014-09-21 17:38:19 PDT
Created
attachment 238441
[details]
filling in the inner bits Started hacking on the DFG IR changes.
Filip Pizlo
Comment 20
2014-09-22 10:48:52 PDT
Created
attachment 238487
[details]
getting close
Filip Pizlo
Comment 21
2014-09-22 13:18:07 PDT
Created
attachment 238493
[details]
it is written Haven't tried compiling it yet.
Filip Pizlo
Comment 22
2014-09-22 14:37:59 PDT
Created
attachment 238496
[details]
progress towards compiling Fixed a lot of errors, still a lot to go.
Filip Pizlo
Comment 23
2014-09-22 18:01:57 PDT
Created
attachment 238508
[details]
it compiles! OMG!
Filip Pizlo
Comment 24
2014-09-22 20:29:17 PDT
Created
attachment 238514
[details]
more It's at the point where it's trying to sink some stuff, and of course it crashes.
Filip Pizlo
Comment 25
2014-09-22 22:44:32 PDT
Created
attachment 238516
[details]
it sank a couple object allocations
Filip Pizlo
Comment 26
2014-09-23 17:06:58 PDT
Created
attachment 238577
[details]
starting to really work It did elision of an object tree. The actual sinking is also starting to work.
Filip Pizlo
Comment 27
2014-09-24 13:23:17 PDT
Created
attachment 238607
[details]
and now, with more sensible heuristics!
Filip Pizlo
Comment 28
2014-09-24 17:32:03 PDT
Created
attachment 238629
[details]
more Starting to pass tests!
Filip Pizlo
Comment 29
2014-09-25 12:26:32 PDT
Preliminary micro benchmark numbers. Note that they get bigger speed-ups if you let them run longer, since for these short runs we're seeing some FTL latency. Benchmark report for JSRegress on hodor (MacBookPro11,3). VMs tested: "TipOfTree" at /Volumes/Data/secondary/OpenSource/WebKitBuild/Release/jsc (
r173938
) "ObjectSink" at /Volumes/Data/primary/OpenSource/WebKitBuild/Release/jsc (
r173938
) Collected 6 samples per benchmark/VM, with 6 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. TipOfTree ObjectSink elidable-new-object-tree 193.8035+-2.2718 ^ 36.1748+-0.9195 ^ definitely 5.3574x faster obvious-sink-pathology-taken 104.1289+-0.8131 ? 104.5268+-1.7585 ? obvious-sink-pathology 101.1687+-1.4329 100.7952+-0.5291 obviously-elidable-new-object 100.5957+-1.5293 ^ 26.4845+-1.9935 ^ definitely 3.7983x faster sinkable-new-object-taken 103.9939+-0.5044 ^ 42.9507+-0.9302 ^ definitely 2.4212x faster sinkable-new-object 101.2094+-1.1888 ^ 29.0160+-0.8383 ^ definitely 3.4881x faster <arithmetic> 117.4833+-0.6296 ^ 56.6580+-0.7623 ^ definitely 2.0736x faster <geometric> * 113.7051+-0.5540 ^ 48.2083+-0.9274 ^ definitely 2.3586x faster <harmonic> 110.9271+-0.5235 ^ 42.0238+-1.0623 ^ definitely 2.6396x faster
Filip Pizlo
Comment 30
2014-09-25 13:03:39 PDT
No speed-up on Octane yet despite the fact that Octane should be benefiting. There's probably something else weird going on. But I'm tempted to say that the patch should just be landed in its current form and then we can start seeing its bugtail while I also investigate performance issues. Benchmark report for SunSpider, LongSpider, V8Spider, Octane, Kraken, JSRegress, AsmBench, and CompressionBench on hodor (MacBookPro11,3). VMs tested: "TipOfTree" at /Volumes/Data/secondary/OpenSource/WebKitBuild/Release/jsc (
r173938
) "ObjectSink" at /Volumes/Data/primary/OpenSource/WebKitBuild/Release/jsc (
r173938
) Collected 10 samples per benchmark/VM, with 10 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. TipOfTree ObjectSink SunSpider: 3d-cube 4.0736+-0.0935 ? 4.1312+-0.1616 ? might be 1.0141x slower 3d-morph 5.4933+-0.2909 5.4244+-0.1540 might be 1.0127x faster 3d-raytrace 4.9840+-0.0668 ? 4.9866+-0.0821 ? access-binary-trees 1.8164+-0.1974 1.7719+-0.1091 might be 1.0251x faster access-fannkuch 5.0638+-0.1562 ? 5.0938+-0.1613 ? access-nbody 2.4461+-0.1068 ? 2.4748+-0.0974 ? might be 1.0117x slower access-nsieve 3.4502+-0.1021 ? 3.5499+-0.2022 ? might be 1.0289x slower bitops-3bit-bits-in-byte 1.3635+-0.0280 ? 1.4013+-0.0721 ? might be 1.0277x slower bitops-bits-in-byte 3.0401+-0.0915 ? 3.1281+-0.1884 ? might be 1.0289x slower bitops-bitwise-and 2.0086+-0.0438 ? 2.0283+-0.0957 ? bitops-nsieve-bits 3.4272+-0.1663 3.3948+-0.1693 controlflow-recursive 1.9515+-0.1387 1.9248+-0.2362 might be 1.0139x faster crypto-aes 3.5477+-0.3550 3.4591+-0.1342 might be 1.0256x faster crypto-md5 2.0466+-0.0906 2.0364+-0.0608 crypto-sha1 2.5480+-0.2958 2.2750+-0.0755 might be 1.1200x faster date-format-tofte 6.2456+-0.1098 ? 6.2512+-0.1385 ? date-format-xparb 4.3795+-0.1604 4.3265+-0.1826 might be 1.0122x faster math-cordic 2.7758+-0.1448 2.7480+-0.0848 might be 1.0101x faster math-partial-sums 4.5306+-0.1648 ? 4.6414+-0.2299 ? might be 1.0244x slower math-spectral-norm 1.6880+-0.0510 ? 1.7427+-0.1111 ? might be 1.0324x slower regexp-dna 6.1733+-0.0871 ? 6.2123+-0.1281 ? string-base64 3.9752+-0.3076 3.7006+-0.0941 might be 1.0742x faster string-fasta 5.6504+-0.0785 ? 5.7506+-0.2350 ? might be 1.0177x slower string-tagcloud 8.4470+-0.1550 8.3314+-0.1664 might be 1.0139x faster string-unpack-code 18.5340+-0.6170 ? 19.2565+-0.6157 ? might be 1.0390x slower string-validate-input 4.1061+-0.0964 ? 4.1275+-0.0798 ? <arithmetic> * 4.3756+-0.0393 ? 4.3911+-0.0219 ? might be 1.0035x slower <geometric> 3.6571+-0.0359 3.6497+-0.0236 might be 1.0020x faster <harmonic> 3.1677+-0.0330 3.1589+-0.0255 might be 1.0028x faster TipOfTree ObjectSink LongSpider: 3d-cube 795.1711+-3.4328 ? 797.9087+-14.8610 ? 3d-morph 1488.6118+-19.8436 1480.7921+-3.3760 3d-raytrace 658.5779+-12.2231 ? 744.7528+-141.2347 ? might be 1.1308x slower access-binary-trees 823.9434+-5.5104 821.8312+-5.2494 access-fannkuch 255.1417+-3.8811 ? 258.5003+-5.9060 ? might be 1.0132x slower access-nbody 564.4917+-12.0718 555.1010+-1.0184 might be 1.0169x faster access-nsieve 716.0643+-8.0197 ? 723.0205+-4.2389 ? bitops-3bit-bits-in-byte 39.8579+-0.7522 ? 42.9928+-6.6219 ? might be 1.0787x slower bitops-bits-in-byte 94.7468+-2.3418 90.3479+-2.4748 might be 1.0487x faster bitops-nsieve-bits 680.9602+-15.5628 673.5003+-4.5675 might be 1.0111x faster controlflow-recursive 437.7117+-1.8036 ? 444.0010+-12.4956 ? might be 1.0144x slower crypto-aes 538.9334+-9.4448 530.2676+-2.0969 might be 1.0163x faster crypto-md5 576.1292+-8.0603 569.4491+-13.7574 might be 1.0117x faster crypto-sha1 640.2897+-5.8471 640.0480+-17.7962 date-format-tofte 530.1172+-12.9145 529.9203+-26.7574 date-format-xparb 614.5069+-12.7331 605.3984+-2.8488 might be 1.0150x faster math-cordic 496.4863+-1.4884 ? 499.1370+-2.6744 ? math-partial-sums 481.3513+-1.8898 ? 482.7122+-2.5399 ? math-spectral-norm 548.1732+-1.7979 ? 549.1584+-3.8932 ? string-base64 301.7307+-3.4415 301.3638+-4.0392 string-fasta 365.8233+-4.7293 ? 366.0346+-2.6741 ? string-tagcloud 196.2323+-1.4259 195.7555+-2.0510 <arithmetic> 538.4115+-1.4627 ? 540.9997+-6.5171 ? might be 1.0048x slower <geometric> * 439.0358+-0.8266 ? 440.6401+-3.9258 ? might be 1.0037x slower <harmonic> 286.0557+-1.4330 ? 289.5098+-10.4457 ? might be 1.0121x slower TipOfTree ObjectSink V8Spider: crypto 48.2752+-1.3846 ? 49.1520+-1.6951 ? might be 1.0182x slower deltablue 91.1672+-1.8436 ? 92.9556+-1.6750 ? might be 1.0196x slower earley-boyer 36.8777+-0.8371 ? 38.4437+-1.1980 ? might be 1.0425x slower raytrace 29.3090+-1.0112 ? 30.5416+-1.2061 ? might be 1.0421x slower regexp 52.6772+-1.4316 ? 52.7314+-1.0905 ? richards 85.5490+-1.4632 ? 85.5571+-1.9301 ? splay 28.3698+-1.2065 27.4055+-0.4333 might be 1.0352x faster <arithmetic> 53.1750+-0.3373 ? 53.8267+-0.5322 ? might be 1.0123x slower <geometric> * 48.2125+-0.4646 ? 48.8167+-0.4806 ? might be 1.0125x slower <harmonic> 44.0103+-0.6092 ? 44.5336+-0.4755 ? might be 1.0119x slower TipOfTree ObjectSink Octane: encrypt 0.20831+-0.01086 ? 0.20881+-0.01219 ? decrypt 3.55320+-0.01119 ? 3.56184+-0.02193 ? deltablue x2 0.16184+-0.00065 ? 0.16313+-0.00101 ? earley 0.61592+-0.01129 ? 0.61606+-0.00509 ? boyer 4.17331+-0.07435 4.17235+-0.06964 navier-stokes x2 4.99902+-0.03372 4.97954+-0.02711 raytrace x2 1.19487+-0.01466 1.17445+-0.01119 might be 1.0174x faster richards x2 0.10919+-0.00393 0.10850+-0.00100 splay x2 0.32842+-0.00852 0.32676+-0.00237 regexp x2 29.74622+-0.58037 29.30978+-0.21414 might be 1.0149x faster pdfjs x2 45.56425+-0.55162 ? 45.58118+-0.47688 ? mandreel x2 46.67298+-0.57235 ? 46.76793+-0.23432 ? gbemu x2 34.99173+-0.24599 ? 35.34839+-0.26059 ? might be 1.0102x slower closure 0.48194+-0.00389 ? 0.48719+-0.00280 ? might be 1.0109x slower jquery 5.87499+-0.03814 ? 5.87953+-0.05988 ? box2d x2 11.54561+-0.07878 11.52141+-0.09609 zlib x2 409.66416+-3.77304 ? 411.51576+-8.78836 ? typescript x2 654.76238+-9.14946 ? 655.98979+-7.21481 ? <arithmetic> 83.14630+-0.57663 ? 83.34997+-0.81999 ? might be 1.0024x slower <geometric> * 6.06269+-0.03433 6.05741+-0.01698 might be 1.0009x faster <harmonic> 0.61887+-0.00741 0.61865+-0.00320 might be 1.0004x faster TipOfTree ObjectSink Kraken: ai-astar 278.688+-5.290 274.488+-6.025 might be 1.0153x faster audio-beat-detection 97.423+-0.625 ! 100.738+-1.185 ! definitely 1.0340x slower audio-dft 169.115+-3.034 168.868+-3.858 audio-fft 72.711+-3.063 70.899+-1.958 might be 1.0256x faster audio-oscillator 211.389+-2.564 ? 211.468+-1.867 ? imaging-darkroom 151.301+-1.230 ? 151.388+-1.205 ? imaging-desaturate 55.795+-1.368 55.020+-2.027 might be 1.0141x faster imaging-gaussian-blur 86.034+-0.870 ? 86.890+-2.702 ? json-parse-financial 37.014+-0.742 36.187+-0.734 might be 1.0228x faster json-stringify-tinderbox 50.535+-0.753 49.506+-0.978 might be 1.0208x faster stanford-crypto-aes 51.111+-0.340 ? 52.131+-1.002 ? might be 1.0200x slower stanford-crypto-ccm 46.894+-3.749 ? 49.027+-3.443 ? might be 1.0455x slower stanford-crypto-pbkdf2 152.052+-3.484 150.703+-1.962 stanford-crypto-sha256-iterative 48.492+-1.401 47.862+-0.826 might be 1.0132x faster <arithmetic> * 107.754+-0.706 107.513+-0.772 might be 1.0022x faster <geometric> 88.029+-0.672 87.955+-0.729 might be 1.0008x faster <harmonic> 73.822+-0.822 73.737+-0.824 might be 1.0012x faster TipOfTree ObjectSink JSRegress: abs-boolean 2.4977+-0.3128 2.4763+-0.1959 adapt-to-double-divide 16.6671+-0.7815 16.2563+-0.4523 might be 1.0253x faster aliased-arguments-getbyval 0.7130+-0.0161 ? 0.7225+-0.0216 ? might be 1.0134x slower allocate-big-object 2.0362+-0.1960 ? 2.0880+-0.1208 ? might be 1.0255x slower arity-mismatch-inlining 0.7836+-0.1638 0.7450+-0.0461 might be 1.0518x faster array-access-polymorphic-structure 5.6320+-0.0939 5.5184+-0.1136 might be 1.0206x faster array-nonarray-polymorhpic-access 27.5406+-0.5950 ? 27.8803+-0.7238 ? might be 1.0123x slower array-prototype-every 66.9343+-0.9828 ? 68.0013+-1.4046 ? might be 1.0159x slower array-prototype-forEach 67.1717+-1.9965 ? 68.5246+-3.0798 ? might be 1.0201x slower array-prototype-map 83.7254+-1.2155 ? 84.2883+-1.6497 ? array-prototype-some 66.5180+-1.2629 ? 66.8806+-1.2210 ? array-splice-contiguous 37.4641+-1.2011 ? 37.8989+-1.0139 ? might be 1.0116x slower array-with-double-add 3.3758+-0.0666 ? 3.5399+-0.2501 ? might be 1.0486x slower array-with-double-increment 2.9201+-0.0799 2.8869+-0.0575 might be 1.0115x faster array-with-double-mul-add 3.9558+-0.1030 ? 3.9781+-0.0914 ? array-with-double-sum 3.0035+-0.0317 ? 3.1011+-0.0854 ? might be 1.0325x slower array-with-int32-add-sub 6.1066+-0.2869 6.0283+-0.2405 might be 1.0130x faster array-with-int32-or-double-sum 3.1036+-0.0768 ? 3.2001+-0.1349 ? might be 1.0311x slower ArrayBuffer-DataView-alloc-large-long-lived 27.3382+-0.9101 27.0634+-0.5593 might be 1.0102x faster ArrayBuffer-DataView-alloc-long-lived 12.0789+-0.2517 ? 12.2303+-0.1847 ? might be 1.0125x slower ArrayBuffer-Int32Array-byteOffset 3.3123+-0.1240 3.1966+-0.0715 might be 1.0362x faster ArrayBuffer-Int8Array-alloc-large-long-lived 27.7476+-0.8544 27.4184+-1.0899 might be 1.0120x faster ArrayBuffer-Int8Array-alloc-long-lived-buffer 19.6701+-0.8196 ? 20.4470+-1.0799 ? might be 1.0395x slower ArrayBuffer-Int8Array-alloc-long-lived 11.9355+-0.5108 11.7742+-0.4802 might be 1.0137x faster ArrayBuffer-Int8Array-alloc 9.8973+-0.3981 ? 10.0576+-0.3808 ? might be 1.0162x slower asmjs_bool_bug 6.9984+-0.1550 6.8838+-0.0531 might be 1.0166x faster assign-custom-setter-polymorphic 2.5300+-0.3132 2.4694+-0.0950 might be 1.0245x faster assign-custom-setter 3.3851+-0.1888 3.3411+-0.1666 might be 1.0131x faster basic-set 9.2971+-0.4447 ? 9.3129+-0.4484 ? big-int-mul 3.3720+-0.0935 3.3231+-0.0525 might be 1.0147x faster boolean-test 2.7256+-0.0573 2.6797+-0.0489 might be 1.0171x faster branch-fold 3.5352+-0.2576 3.4659+-0.1135 might be 1.0200x faster by-val-generic 7.2828+-0.1004 7.1778+-0.1369 might be 1.0146x faster call-spread-apply 12.3573+-0.3657 ? 12.4610+-0.3853 ? call-spread-call 4.9333+-0.1398 ? 5.1968+-0.3278 ? might be 1.0534x slower captured-assignments 0.3679+-0.0284 0.3670+-0.0146 cast-int-to-double 4.7381+-0.1098 4.6739+-0.0537 might be 1.0137x faster cell-argument 6.1764+-0.2611 ? 6.2663+-0.4247 ? might be 1.0146x slower cfg-simplify 2.8943+-0.1820 2.8235+-0.1160 might be 1.0250x faster chain-getter-access 8.6803+-0.1774 8.6802+-0.0924 cmpeq-obj-to-obj-other 8.6430+-0.9815 8.6296+-0.9591 constant-test 4.4998+-0.1802 4.4147+-0.0578 might be 1.0193x faster DataView-custom-properties 31.8510+-0.6835 31.5125+-0.9157 might be 1.0107x faster delay-tear-off-arguments-strictmode 2.1968+-0.0556 ? 2.2016+-0.0596 ? destructuring-arguments 4.5750+-0.1008 ? 4.7267+-0.1946 ? might be 1.0332x slower destructuring-swap 4.4839+-0.0825 ? 4.4896+-0.0747 ? direct-arguments-getbyval 0.8526+-0.0582 0.7887+-0.0442 might be 1.0809x faster div-boolean-double 5.2054+-0.0388 ? 5.2383+-0.0705 ? div-boolean 8.0819+-0.1166 ? 8.1092+-0.1482 ? double-get-by-val-out-of-bounds 3.8500+-0.1698 3.8338+-0.1515 double-pollution-getbyval 8.5983+-0.1455 ? 8.6469+-0.3196 ? double-pollution-putbyoffset 3.6946+-0.1900 3.5471+-0.0620 might be 1.0416x faster double-to-int32-typed-array-no-inline 2.0319+-0.1097 1.9634+-0.0498 might be 1.0349x faster double-to-int32-typed-array 1.6265+-0.1112 ? 1.8396+-0.3586 ? might be 1.1310x slower double-to-uint32-typed-array-no-inline 2.1698+-0.2807 2.0485+-0.1065 might be 1.0592x faster double-to-uint32-typed-array 1.6839+-0.0625 ? 1.6976+-0.0824 ? elidable-new-object-tree 192.1520+-0.9611 ^ 36.0336+-0.7570 ^ definitely 5.3326x faster empty-string-plus-int 4.4591+-0.0955 4.3887+-0.0980 might be 1.0160x faster emscripten-cube2hash 26.8159+-0.6860 ? 27.4151+-0.9972 ? might be 1.0223x slower external-arguments-getbyval 1.2734+-0.2778 1.1295+-0.0320 might be 1.1274x faster external-arguments-putbyval 1.6586+-0.0262 ? 1.7846+-0.1228 ? might be 1.0759x slower fixed-typed-array-storage-var-index 1.2426+-0.1401 1.1740+-0.0342 might be 1.0585x faster fixed-typed-array-storage 0.7655+-0.0487 0.7580+-0.0391 Float32Array-matrix-mult 3.7107+-0.0664 ? 3.9534+-0.3206 ? might be 1.0654x slower Float32Array-to-Float64Array-set 49.4643+-1.9229 47.8994+-0.7557 might be 1.0327x faster Float64Array-alloc-long-lived 52.7043+-0.4012 ? 53.5983+-0.9620 ? might be 1.0170x slower Float64Array-to-Int16Array-set 60.2679+-0.7872 58.2927+-1.2109 might be 1.0339x faster fold-double-to-int 12.5828+-0.2230 12.3338+-0.1805 might be 1.0202x faster fold-get-by-id-to-multi-get-by-offset-rare-int 17.5861+-0.4263 ? 17.7643+-0.4967 ? might be 1.0101x slower fold-get-by-id-to-multi-get-by-offset 16.0603+-0.3640 16.0524+-0.4169 fold-multi-get-by-offset-to-get-by-offset 11.6422+-0.3407 ? 13.6084+-1.6528 ? might be 1.1689x slower fold-multi-get-by-offset-to-poly-get-by-offset 13.4373+-1.6078 12.4829+-0.9769 might be 1.0765x faster fold-multi-put-by-offset-to-poly-put-by-offset 13.2919+-1.0189 13.0447+-0.7048 might be 1.0189x faster fold-multi-put-by-offset-to-put-by-offset 11.4587+-0.6320 ? 12.3055+-0.9200 ? might be 1.0739x slower fold-multi-put-by-offset-to-replace-or-transition-put-by-offset 15.1763+-0.4160 15.0043+-0.7178 might be 1.0115x faster fold-put-by-id-to-multi-put-by-offset 18.6723+-0.9867 17.7198+-0.3614 might be 1.0538x faster fold-put-structure 11.9634+-0.7794 ? 12.3123+-0.6146 ? might be 1.0292x slower for-of-iterate-array-entries 4.8536+-0.0610 ? 5.1951+-0.3776 ? might be 1.0704x slower for-of-iterate-array-keys 2.5821+-0.1625 ? 2.5960+-0.0799 ? for-of-iterate-array-values 2.4642+-0.3641 2.3087+-0.1497 might be 1.0674x faster fround 18.0632+-0.5367 17.7431+-0.5797 might be 1.0180x faster ftl-library-inlining-dataview 61.0953+-0.6705 ? 61.7800+-0.9525 ? might be 1.0112x slower ftl-library-inlining 139.1096+-2.0872 ^ 134.3826+-2.0039 ^ definitely 1.0352x faster function-dot-apply 1.2747+-0.0676 ? 1.3027+-0.1021 ? might be 1.0219x slower function-test 2.8359+-0.0500 ? 2.9792+-0.2852 ? might be 1.0505x slower function-with-eval 55.8743+-1.0483 ? 56.1193+-0.6306 ? gcse-poly-get-less-obvious 14.7894+-0.5713 14.7025+-0.6703 gcse-poly-get 16.1627+-0.4214 16.0224+-0.4872 gcse 3.7293+-0.2337 ? 3.8074+-0.2005 ? might be 1.0209x slower get-by-id-bimorphic-check-structure-elimination-simple 2.5549+-0.1565 2.4774+-0.0347 might be 1.0313x faster get-by-id-bimorphic-check-structure-elimination 5.5846+-0.0252 ? 5.6271+-0.1490 ? get-by-id-chain-from-try-block 5.6171+-0.1255 ? 5.6760+-0.2103 ? might be 1.0105x slower get-by-id-check-structure-elimination 4.3319+-0.1697 4.2347+-0.0818 might be 1.0229x faster get-by-id-proto-or-self 15.0178+-0.6360 14.2012+-0.5634 might be 1.0575x faster get-by-id-quadmorphic-check-structure-elimination-simple 2.8883+-0.2196 2.8355+-0.0850 might be 1.0186x faster get-by-id-self-or-proto 14.2965+-0.5798 ? 14.5163+-0.6144 ? might be 1.0154x slower get-by-val-out-of-bounds 3.6082+-0.1144 3.5605+-0.0712 might be 1.0134x faster get_callee_monomorphic 3.2533+-0.1546 3.1869+-0.1467 might be 1.0208x faster get_callee_polymorphic 2.9238+-0.1166 2.9160+-0.0771 getter-no-activation 4.7400+-0.1079 ? 4.7638+-0.2108 ? getter-richards 130.2109+-9.6182 126.6986+-4.7308 might be 1.0277x faster getter 4.7292+-0.1122 ? 4.7882+-0.1458 ? might be 1.0125x slower global-var-const-infer-fire-from-opt 0.8324+-0.0915 ? 0.8810+-0.0783 ? might be 1.0583x slower global-var-const-infer 0.8095+-0.0788 ? 0.8194+-0.0282 ? might be 1.0123x slower HashMap-put-get-iterate-keys 23.2031+-0.2597 23.1815+-0.2333 HashMap-put-get-iterate 23.0100+-0.3339 ? 23.1941+-0.3968 ? HashMap-string-put-get-iterate 23.7296+-0.9371 23.4650+-0.6760 might be 1.0113x faster hoist-make-rope 8.5847+-0.7919 ? 8.7686+-0.6625 ? might be 1.0214x slower hoist-poly-check-structure-effectful-loop 4.0337+-0.0613 ? 4.2646+-0.4978 ? might be 1.0573x slower hoist-poly-check-structure 3.3769+-0.3637 3.1933+-0.0883 might be 1.0575x faster imul-double-only 6.2315+-0.1101 ? 6.3415+-0.0628 ? might be 1.0177x slower imul-int-only 8.2176+-0.2691 8.0062+-0.1970 might be 1.0264x faster imul-mixed 6.2714+-0.2595 ? 6.6688+-0.8013 ? might be 1.0634x slower in-four-cases 16.1066+-1.3121 15.5806+-0.5029 might be 1.0338x faster in-one-case-false 8.1014+-0.2791 7.9196+-0.2077 might be 1.0230x faster in-one-case-true 8.0199+-0.1943 8.0172+-0.2467 in-two-cases 8.2323+-0.1718 ? 8.7496+-0.4244 ? might be 1.0628x slower indexed-properties-in-objects 2.8366+-0.2333 2.7590+-0.1159 might be 1.0281x faster infer-closure-const-then-mov-no-inline 3.0397+-0.1311 ? 3.0686+-0.1375 ? infer-closure-const-then-mov 21.1604+-0.4181 21.1325+-0.4221 infer-closure-const-then-put-to-scope-no-inline 10.4272+-0.2436 ? 10.5067+-0.2203 ? infer-closure-const-then-put-to-scope 23.0290+-1.6025 23.0263+-0.5942 infer-closure-const-then-reenter-no-inline 47.4242+-0.4443 ? 47.6812+-0.8344 ? infer-closure-const-then-reenter 22.8062+-0.3962 ? 22.8651+-0.5010 ? infer-constant-global-property 3.3049+-0.1267 ? 3.3066+-0.1330 ? infer-constant-property 2.6667+-0.3068 2.5104+-0.0666 might be 1.0623x faster infer-one-time-closure-ten-vars 8.7719+-0.2851 8.6339+-0.1452 might be 1.0160x faster infer-one-time-closure-two-vars 8.3203+-0.2396 8.1988+-0.1530 might be 1.0148x faster infer-one-time-closure 8.1994+-0.1889 8.1846+-0.1777 infer-one-time-deep-closure 12.8553+-0.4267 ? 13.1153+-0.3687 ? might be 1.0202x slower inline-arguments-access 1.2391+-0.0370 ? 1.3156+-0.2098 ? might be 1.0618x slower inline-arguments-aliased-access 1.4250+-0.0475 ? 1.4421+-0.0668 ? might be 1.0120x slower inline-arguments-local-escape 10.6137+-0.4971 ? 10.9561+-0.4715 ? might be 1.0323x slower inline-get-scoped-var 4.6015+-0.0507 ? 4.8238+-0.2316 ? might be 1.0483x slower inlined-put-by-id-transition 8.2964+-0.5003 ? 9.2620+-2.9210 ? might be 1.1164x slower int-or-other-abs-then-get-by-val 4.5252+-0.1218 ? 4.7322+-0.4623 ? might be 1.0458x slower int-or-other-abs-zero-then-get-by-val 16.1546+-0.3996 16.0283+-0.3481 int-or-other-add-then-get-by-val 3.8491+-0.0543 ? 4.1172+-0.4772 ? might be 1.0697x slower int-or-other-add 4.7224+-0.0999 4.6678+-0.0697 might be 1.0117x faster int-or-other-div-then-get-by-val 3.8703+-0.1453 3.7320+-0.0553 might be 1.0371x faster int-or-other-max-then-get-by-val 3.8453+-0.0515 ? 3.9910+-0.1416 ? might be 1.0379x slower int-or-other-min-then-get-by-val 4.0648+-0.0960 4.0153+-0.1371 might be 1.0123x faster int-or-other-mod-then-get-by-val 3.4830+-0.0803 3.4715+-0.0828 int-or-other-mul-then-get-by-val 3.5251+-0.0812 3.4950+-0.1432 int-or-other-neg-then-get-by-val 4.3030+-0.1097 ? 4.4106+-0.1433 ? might be 1.0250x slower int-or-other-neg-zero-then-get-by-val 16.3695+-0.9442 15.8948+-0.4074 might be 1.0299x faster int-or-other-sub-then-get-by-val 3.8834+-0.0771 3.8667+-0.0387 int-or-other-sub 3.2907+-0.1140 ? 3.3075+-0.1415 ? int-overflow-local 4.0237+-0.1165 ? 4.0473+-0.1671 ? Int16Array-alloc-long-lived 41.2958+-0.9484 ? 41.3176+-1.1737 ? Int16Array-bubble-sort-with-byteLength 19.5621+-0.3715 19.2634+-0.2882 might be 1.0155x faster Int16Array-bubble-sort 18.4691+-0.2694 18.2361+-0.4722 might be 1.0128x faster Int16Array-load-int-mul 1.3416+-0.0359 ? 1.3723+-0.1302 ? might be 1.0229x slower Int16Array-to-Int32Array-set 45.9481+-1.2005 45.5389+-1.0413 Int32Array-alloc-large 13.5084+-0.5417 13.2779+-0.3994 might be 1.0174x faster Int32Array-alloc-long-lived 45.3691+-0.9131 44.9739+-0.7876 Int32Array-alloc 2.7514+-0.3290 2.4681+-0.2195 might be 1.1148x faster Int32Array-Int8Array-view-alloc 5.5932+-0.1133 ? 5.9610+-0.5617 ? might be 1.0658x slower int52-spill 5.8257+-0.3397 ? 5.8678+-0.1426 ? Int8Array-alloc-long-lived 37.5829+-1.0634 37.1983+-0.5187 might be 1.0103x faster Int8Array-load-with-byteLength 3.4852+-0.2141 3.3818+-0.1788 might be 1.0306x faster Int8Array-load 3.4187+-0.1605 3.3555+-0.1055 might be 1.0188x faster integer-divide 10.5611+-0.4348 10.4792+-0.2025 integer-modulo 1.6044+-0.0949 1.5588+-0.0394 might be 1.0293x faster large-int-captured 5.6357+-0.2564 5.6291+-0.0710 large-int-neg 14.6240+-0.3948 ? 15.0808+-0.5619 ? might be 1.0312x slower large-int 13.9895+-0.2306 ? 14.0241+-0.4464 ? logical-not 4.1399+-0.0902 4.1284+-0.0411 lots-of-fields 7.9228+-0.4614 7.7933+-0.3505 might be 1.0166x faster make-indexed-storage 2.6175+-0.1626 2.5509+-0.0982 might be 1.0261x faster make-rope-cse 3.5274+-0.2196 ? 3.6290+-0.1344 ? might be 1.0288x slower marsaglia-larger-ints 33.6250+-0.6190 ? 34.2191+-0.8002 ? might be 1.0177x slower marsaglia-osr-entry 21.0481+-0.4517 20.9798+-0.3999 max-boolean 2.6057+-0.0454 ? 2.6341+-0.0815 ? might be 1.0109x slower method-on-number 16.9605+-0.4034 16.4185+-0.5228 might be 1.0330x faster min-boolean 2.6031+-0.1442 ? 2.7127+-0.3725 ? might be 1.0421x slower minus-boolean-double 3.0024+-0.1634 ? 3.0529+-0.0926 ? might be 1.0168x slower minus-boolean 2.2715+-0.1288 ? 2.3237+-0.2183 ? might be 1.0230x slower misc-strict-eq 29.6593+-0.9268 28.9559+-0.8031 might be 1.0243x faster mod-boolean-double 11.1813+-0.4374 10.9201+-0.1414 might be 1.0239x faster mod-boolean 8.3763+-0.4028 8.1697+-0.0439 might be 1.0253x faster mul-boolean-double 3.4836+-0.0580 ? 3.6108+-0.1818 ? might be 1.0365x slower mul-boolean 2.7771+-0.1976 2.6611+-0.0206 might be 1.0436x faster neg-boolean 2.9905+-0.0633 2.9558+-0.0414 might be 1.0118x faster negative-zero-divide 0.2980+-0.0155 ? 0.3089+-0.0417 ? might be 1.0366x slower negative-zero-modulo 0.3124+-0.0333 0.2818+-0.0146 might be 1.1084x faster negative-zero-negate 0.3196+-0.0718 0.2691+-0.0150 might be 1.1877x faster nested-function-parsing 19.1367+-0.5497 18.7544+-0.1880 might be 1.0204x faster new-array-buffer-dead 2.5080+-0.0530 ? 2.5087+-0.0413 ? new-array-buffer-push 6.1330+-0.2872 5.8667+-0.3493 might be 1.0454x faster new-array-dead 9.5724+-0.4620 9.4393+-0.2437 might be 1.0141x faster new-array-push 4.8258+-0.3809 4.6522+-0.2440 might be 1.0373x faster number-test 2.8395+-0.1731 2.7692+-0.1838 might be 1.0254x faster object-closure-call 5.0110+-0.2938 4.9249+-0.1476 might be 1.0175x faster object-test 2.7165+-0.0466 ? 2.7912+-0.1877 ? might be 1.0275x slower obvious-sink-pathology-taken 103.6374+-0.5915 ? 103.9123+-1.0516 ? obvious-sink-pathology 101.3354+-1.6224 100.4104+-0.6445 obviously-elidable-new-object 100.8818+-2.4769 ^ 26.9212+-0.8054 ^ definitely 3.7473x faster plus-boolean-arith 2.2871+-0.0639 2.2761+-0.0697 plus-boolean-double 3.0035+-0.0563 ? 3.0513+-0.1168 ? might be 1.0159x slower plus-boolean 2.4507+-0.0761 2.4348+-0.0408 poly-chain-access-different-prototypes-simple 2.6047+-0.0388 ? 2.6738+-0.0741 ? might be 1.0265x slower poly-chain-access-different-prototypes 2.5226+-0.1175 2.4460+-0.0875 might be 1.0313x faster poly-chain-access-simpler 2.6588+-0.1113 2.5836+-0.0525 might be 1.0291x faster poly-chain-access 2.4416+-0.0969 2.3958+-0.0848 might be 1.0191x faster poly-stricteq 45.6808+-0.9633 44.6599+-0.2401 might be 1.0229x faster polymorphic-array-call 1.6883+-0.1938 1.6055+-0.1028 might be 1.0516x faster polymorphic-get-by-id 2.7107+-0.0420 ? 2.7348+-0.0412 ? polymorphic-put-by-id 41.5403+-10.5325 ? 41.5893+-10.1140 ? polymorphic-structure 13.6794+-0.2729 ? 13.7383+-0.2995 ? polyvariant-monomorphic-get-by-id 6.0915+-0.4208 ? 6.2604+-0.5485 ? might be 1.0277x slower proto-getter-access 8.8400+-0.2413 8.6919+-0.1265 might be 1.0170x faster put-by-id-replace-and-transition 8.3090+-0.8889 ? 8.7114+-0.8032 ? might be 1.0484x slower put-by-id-slightly-polymorphic 2.9132+-0.3636 2.5478+-0.0368 might be 1.1434x faster put-by-id 10.2434+-0.5038 ? 10.6390+-0.4789 ? might be 1.0386x slower put-by-val-direct 0.4559+-0.0340 0.4357+-0.0120 might be 1.0463x faster put-by-val-large-index-blank-indexing-type 5.0969+-0.3985 5.0399+-0.1978 might be 1.0113x faster put-by-val-machine-int 2.2712+-0.1595 2.1717+-0.0682 might be 1.0458x faster rare-osr-exit-on-local 14.8765+-0.3570 14.8479+-0.3465 register-pressure-from-osr 17.3780+-0.3441 ? 17.4374+-0.7102 ? setter 4.8177+-0.0592 ? 4.8587+-0.1138 ? simple-activation-demo 24.3469+-0.5660 23.7469+-0.2517 might be 1.0253x faster simple-getter-access 11.4966+-0.2551 ? 11.8112+-0.4003 ? might be 1.0274x slower simple-poly-call-nested 14.6545+-0.4181 ? 15.1674+-0.6613 ? might be 1.0350x slower simple-poly-call 1.1253+-0.0844 ? 1.2076+-0.2049 ? might be 1.0731x slower sin-boolean 17.9101+-0.9738 17.6592+-0.5966 might be 1.0142x faster sinkable-new-object-taken 104.1342+-0.5248 ^ 43.0641+-0.8227 ^ definitely 2.4181x faster sinkable-new-object 102.0675+-3.5197 ^ 29.9952+-1.9130 ^ definitely 3.4028x faster slow-array-profile-convergence 2.3635+-0.0629 ? 2.4928+-0.2101 ? might be 1.0547x slower slow-convergence 2.6899+-0.0998 ? 2.7552+-0.1488 ? might be 1.0243x slower sparse-conditional 1.0344+-0.0778 1.0201+-0.0939 might be 1.0140x faster splice-to-remove 14.0160+-0.6836 ? 14.2750+-0.4886 ? might be 1.0185x slower string-char-code-at 15.7893+-0.5641 15.7596+-0.4819 string-concat-object 1.8994+-0.1061 ? 1.9262+-0.2644 ? might be 1.0141x slower string-concat-pair-object 1.8255+-0.1226 1.7513+-0.0517 might be 1.0424x faster string-concat-pair-simple 8.9806+-0.1977 8.8425+-0.1948 might be 1.0156x faster string-concat-simple 8.7995+-0.2410 8.7604+-0.1788 string-cons-repeat 7.1704+-0.5913 6.6959+-0.4249 might be 1.0709x faster string-cons-tower 6.6125+-0.2107 ! 7.1434+-0.3193 ! definitely 1.0803x slower string-equality 15.8427+-0.5569 ? 15.9293+-0.5701 ? string-get-by-val-big-char 5.9623+-0.1039 ? 6.0260+-0.1135 ? might be 1.0107x slower string-get-by-val-out-of-bounds-insane 3.3338+-0.2896 3.2443+-0.0978 might be 1.0276x faster string-get-by-val-out-of-bounds 3.4736+-0.0681 ? 3.5509+-0.0622 ? might be 1.0222x slower string-get-by-val 2.8336+-0.3374 2.7382+-0.0614 might be 1.0348x faster string-hash 1.7808+-0.0607 1.7573+-0.0470 might be 1.0134x faster string-long-ident-equality 12.6423+-0.1872 ? 12.9677+-0.5008 ? might be 1.0257x slower string-repeat-arith 26.4250+-0.6059 26.0308+-0.6517 might be 1.0151x faster string-sub 52.9584+-0.7865 ^ 51.2211+-0.6313 ^ definitely 1.0339x faster string-test 2.7051+-0.2015 2.5946+-0.0840 might be 1.0426x faster string-var-equality 25.0191+-0.5535 24.2094+-0.3905 might be 1.0334x faster structure-hoist-over-transitions 2.4462+-0.2230 2.4352+-0.3041 substring-concat-weird 33.8556+-1.2410 33.0456+-1.5183 might be 1.0245x faster substring-concat 35.4133+-1.1494 34.9795+-1.0541 might be 1.0124x faster substring 41.0965+-1.3377 40.6512+-0.9491 might be 1.0110x faster switch-char-constant 2.5446+-0.0394 2.5446+-0.0715 switch-char 5.6586+-0.5367 ? 5.9690+-0.5547 ? might be 1.0548x slower switch-constant 8.0878+-0.8791 ? 8.1041+-0.8340 ? switch-string-basic-big-var 12.3510+-0.2071 ? 12.5717+-0.1633 ? might be 1.0179x slower switch-string-basic-big 13.0217+-0.3990 ? 13.0870+-0.5074 ? switch-string-basic-var 12.5366+-0.2031 ? 12.7722+-0.3651 ? might be 1.0188x slower switch-string-basic 12.0497+-0.1225 ? 12.1650+-0.1240 ? switch-string-big-length-tower-var 18.6421+-0.4648 ? 18.7115+-0.5593 ? switch-string-length-tower-var 13.1810+-0.8142 12.8715+-0.3063 might be 1.0240x faster switch-string-length-tower 11.3980+-0.1659 ? 11.5776+-0.3514 ? might be 1.0158x slower switch-string-short 11.2403+-0.1653 ? 11.2727+-0.1804 ? switch 10.7404+-0.4143 10.6732+-0.4012 tear-off-arguments-simple 1.5788+-0.0571 ? 1.5838+-0.0579 ? tear-off-arguments 2.4222+-0.1041 2.3955+-0.0299 might be 1.0111x faster temporal-structure 12.0908+-0.2647 11.9358+-0.2020 might be 1.0130x faster to-int32-boolean 12.6376+-0.4651 12.5973+-0.2219 undefined-test 2.7463+-0.0796 ? 2.7997+-0.1563 ? might be 1.0194x slower unprofiled-licm 14.3692+-0.5295 14.3647+-0.5408 weird-inlining-const-prop 1.7434+-0.0886 ? 1.7991+-0.0615 ? might be 1.0320x slower <arithmetic> 14.5762+-0.0705 ^ 13.2004+-0.0715 ^ definitely 1.1042x faster <geometric> * 6.8781+-0.0167 ^ 6.7408+-0.0173 ^ definitely 1.0204x faster <harmonic> 3.5101+-0.0301 3.4706+-0.0171 might be 1.0114x faster TipOfTree ObjectSink AsmBench: bigfib.cpp 448.6491+-5.0814 ? 448.8237+-2.7112 ? cray.c 421.9913+-3.5149 421.9230+-3.5864 dry.c 432.5320+-3.9651 431.8085+-3.7124 FloatMM.c 691.9233+-10.6060 688.9198+-4.1714 gcc-loops.cpp 3708.3694+-12.0621 3694.9740+-17.7422 n-body.c 834.8679+-9.3685 828.0024+-4.3331 Quicksort.c 394.4644+-3.6923 ? 396.5563+-5.7714 ? stepanov_container.cpp 3572.5734+-23.8849 ? 3613.1833+-37.6013 ? might be 1.0114x slower Towers.c 248.5176+-2.7170 246.7283+-0.7155 <arithmetic> 1194.8765+-2.9186 ? 1196.7688+-4.4391 ? might be 1.0016x slower <geometric> * 733.4102+-2.1583 732.7537+-1.9108 might be 1.0009x faster <harmonic> 540.0599+-2.2758 539.0196+-1.9224 might be 1.0019x faster TipOfTree ObjectSink CompressionBench: huffman 424.8505+-4.6706 ? 426.2677+-2.1205 ? arithmetic-simple 382.9033+-3.4811 381.5706+-3.0676 arithmetic-precise 284.8033+-1.5288 ? 286.7018+-5.9867 ? arithmetic-complex-precise 283.9702+-2.0113 ? 288.3367+-3.5823 ? might be 1.0154x slower arithmetic-precise-order-0 395.2314+-3.8755 ? 398.0531+-5.0015 ? arithmetic-precise-order-1 338.4288+-3.5203 ? 340.5756+-5.8928 ? arithmetic-precise-order-2 383.2335+-4.5624 ? 389.5520+-8.5857 ? might be 1.0165x slower arithmetic-simple-order-1 382.8640+-7.8095 ? 387.5769+-7.7678 ? might be 1.0123x slower arithmetic-simple-order-2 447.3676+-8.7591 ? 448.2073+-5.5202 ? lz-string 329.8115+-3.8129 ? 331.3137+-4.1542 ? <arithmetic> 365.3464+-1.2525 ? 367.8155+-1.4749 ? might be 1.0068x slower <geometric> * 361.4393+-1.2444 ? 363.9621+-1.3635 ? might be 1.0070x slower <harmonic> 357.4220+-1.2478 ! 359.9891+-1.2686 ! definitely 1.0072x slower TipOfTree ObjectSink All benchmarks: <arithmetic> 88.7996+-0.1910 ^ 88.1110+-0.3689 ^ definitely 1.0078x faster <geometric> 11.5357+-0.0233 ^ 11.3784+-0.0249 ^ definitely 1.0138x faster <harmonic> 2.8976+-0.0204 2.8781+-0.0117 might be 1.0068x faster TipOfTree ObjectSink Geomean of preferred means: <scaled-result> 56.9275+-0.1799 ? 56.9442+-0.0894 ? might be 1.0003x slower
Filip Pizlo
Comment 31
2014-09-25 13:13:20 PDT
Created
attachment 238668
[details]
the patch
WebKit Commit Bot
Comment 32
2014-09-25 13:15:48 PDT
Attachment 238668
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/dfg/DFGOSRAvailabilityAnalysisPhase.cpp:162: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp:146: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/ftl/FTLOSRExitCompiler.cpp:52: Declaration has space between type name and * in char *registerScratch [whitespace/declaration] [3] ERROR: Source/JavaScriptCore/dfg/DFGPhiChildren.h:73: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:60: _node is incorrectly named. Don't use underscores in your identifier names. [readability/naming/underscores] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:61: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:62: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:62: _childIdx is incorrectly named. Don't use underscores in your identifier names. [readability/naming/underscores] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:69: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:76: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:77: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:82: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:812: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromoteHeapAccess.h:47: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] ERROR: Source/JavaScriptCore/dfg/DFGPromoteHeapAccess.h:56: Weird number of spaces at line-start. Are you using a 4-space indent? [whitespace/indent] [3] ERROR: Source/JavaScriptCore/dfg/DFGPromoteHeapAccess.h:64: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] ERROR: Source/JavaScriptCore/dfg/DFGPromoteHeapAccess.h:70: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] ERROR: Source/JavaScriptCore/ftl/FTLOperations.h:38: The parameter name "structure" adds no information, so it should be removed. [readability/parameter_name] [5] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:163: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:166: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:270: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:277: Declaration has space between type name and * in Node *materialize [whitespace/declaration] [3] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:308: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:366: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:382: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:474: Missing space after , [whitespace/comma] [3] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:494: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:517: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:520: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:572: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:623: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:626: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:708: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:47: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:48: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:90: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:91: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:97: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGInsertOSRHintsForUpdate.h:31: Alphabetical sorting problem. [build/include_order] [4] ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:4349: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:6545: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:1272: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:1519: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 43 in 90 files If any of these errors are false positives, please file a bug against check-webkit-style.
Oliver Hunt
Comment 33
2014-09-25 13:42:45 PDT
Comment on
attachment 238668
[details]
the patch r=me. Would be good to see what is going on with octane :-/
Filip Pizlo
Comment 34
2014-09-25 14:57:08 PDT
(In reply to
comment #33
)
> (From update of
attachment 238668
[details]
) > r=me. Would be good to see what is going on with octane :-/
Thanks! I'll run some more tests and such, and maybe fix some of those style issues, and then I'll land. I suspect that the problem in Octane is just that right now the "OMG it escapes" heuristic is very conservative. There are probably some operations involved that don't actually involve escaping, but the phase doesn't know that yet.
Filip Pizlo
Comment 35
2014-09-25 16:48:23 PDT
Created
attachment 238684
[details]
some fixes towards landing
WebKit Commit Bot
Comment 36
2014-09-25 16:50:26 PDT
Attachment 238684
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/dfg/DFGOSRAvailabilityAnalysisPhase.cpp:162: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp:146: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGPhiChildren.h:73: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:60: _node is incorrectly named. Don't use underscores in your identifier names. [readability/naming/underscores] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:61: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:62: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:62: _childIdx is incorrectly named. Don't use underscores in your identifier names. [readability/naming/underscores] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:69: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:76: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:77: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:82: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:812: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:163: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:166: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:270: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:308: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:366: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:382: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:494: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:517: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:520: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:572: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:623: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:626: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:708: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:47: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:48: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:90: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:91: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:97: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:4349: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:6545: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:1272: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:1519: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 34 in 90 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 37
2014-09-25 17:35:16 PDT
Created
attachment 238688
[details]
more try to fix
WebKit Commit Bot
Comment 38
2014-09-25 17:38:05 PDT
Attachment 238688
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/dfg/DFGOSRAvailabilityAnalysisPhase.cpp:162: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp:146: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGPhiChildren.h:73: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:60: _node is incorrectly named. Don't use underscores in your identifier names. [readability/naming/underscores] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:61: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:62: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:62: _childIdx is incorrectly named. Don't use underscores in your identifier names. [readability/naming/underscores] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:69: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:76: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:77: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:82: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:812: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:163: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:166: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:270: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:308: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:366: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:382: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:494: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:517: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:520: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:572: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:623: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:626: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:708: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:47: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:48: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:90: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:91: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:97: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:4349: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:6545: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:1272: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:1519: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 34 in 90 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 39
2014-09-25 17:47:51 PDT
Created
attachment 238689
[details]
so much fix
WebKit Commit Bot
Comment 40
2014-09-25 17:50:03 PDT
Attachment 238689
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/dfg/DFGOSRAvailabilityAnalysisPhase.cpp:162: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp:146: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGPhiChildren.h:73: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:60: _node is incorrectly named. Don't use underscores in your identifier names. [readability/naming/underscores] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:61: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:62: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:62: _childIdx is incorrectly named. Don't use underscores in your identifier names. [readability/naming/underscores] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:69: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:76: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:77: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:82: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:812: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:163: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:166: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:270: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:308: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:366: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:382: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:494: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:517: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:520: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:572: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:623: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:626: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:708: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:47: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:48: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:90: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:91: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:97: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:4349: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:6545: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:1272: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:1519: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 34 in 94 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 41
2014-09-25 19:47:00 PDT
Created
attachment 238692
[details]
moer tests Added tests for object DAG creation.
WebKit Commit Bot
Comment 42
2014-09-25 19:50:35 PDT
Attachment 238692
[details]
did not pass style-queue: ERROR: Source/JavaScriptCore/dfg/DFGOSRAvailabilityAnalysisPhase.cpp:162: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGConstantFoldingPhase.cpp:146: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:4349: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/ftl/FTLLowerDFGToLLVM.cpp:6545: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGPhiChildren.h:73: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:60: _node is incorrectly named. Don't use underscores in your identifier names. [readability/naming/underscores] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:61: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:62: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:62: _childIdx is incorrectly named. Don't use underscores in your identifier names. [readability/naming/underscores] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:69: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:76: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:77: Multi line control clauses should use braces. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:82: When wrapping a line, only indent 4 spaces. [whitespace/indent] [3] ERROR: Source/JavaScriptCore/dfg/DFGGraph.h:812: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:163: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:166: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:270: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:308: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:366: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:382: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:494: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:517: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:520: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:572: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:623: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:626: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:677: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGObjectAllocationSinkingPhase.cpp:713: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:47: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:48: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:90: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:91: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGPromotedHeapLocation.h:97: Wrong number of spaces before statement. (expected: 12) [whitespace/indent] [4] ERROR: Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:1272: Place brace on its own line for function definitions. [whitespace/braces] [4] ERROR: Source/JavaScriptCore/dfg/DFGAbstractInterpreterInlines.h:1519: Place brace on its own line for function definitions. [whitespace/braces] [4] Total errors found: 35 in 101 files If any of these errors are false positives, please file a bug against check-webkit-style.
Filip Pizlo
Comment 43
2014-09-25 21:00:43 PDT
Landed in
http://trac.webkit.org/changeset/173993
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