WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED WONTFIX
185060
[negative result] B3 should have generalized path specialization
https://bugs.webkit.org/show_bug.cgi?id=185060
Summary
[negative result] B3 should have generalized path specialization
Filip Pizlo
Reported
2018-04-26 17:17:45 PDT
Patch forthcoming. I don't know if this will be profitable yet. Reading IR in Octane, it seems like it might be. Only one way to find out!
Attachments
it's a start
(22.27 KB, patch)
2018-04-26 17:18 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
a bit more
(25.99 KB, patch)
2018-04-26 19:31 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
this phase is nuts
(27.50 KB, patch)
2018-04-26 19:43 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
I'm slowly putting this phase together
(29.98 KB, patch)
2018-04-26 21:38 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
close to written
(35.77 KB, patch)
2018-04-27 16:40 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
it might be written
(50.17 KB, patch)
2018-04-27 19:23 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
it's starting to compile
(52.66 KB, patch)
2018-04-28 12:46 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
it specialized something without crashing or emitting broken code
(53.71 KB, patch)
2018-04-28 19:24 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
it's starting to come to life
(54.73 KB, patch)
2018-04-29 21:29 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
mostly works, not a speed-up
(64.69 KB, patch)
2018-04-30 17:03 PDT
,
Filip Pizlo
no flags
Details
Formatted Diff
Diff
Show Obsolete
(9)
View All
Add attachment
proposed patch, testcase, etc.
Filip Pizlo
Comment 1
2018-04-26 17:18:18 PDT
Created
attachment 338939
[details]
it's a start
Filip Pizlo
Comment 2
2018-04-26 19:31:12 PDT
Created
attachment 338952
[details]
a bit more
Filip Pizlo
Comment 3
2018-04-26 19:43:20 PDT
Created
attachment 338954
[details]
this phase is nuts
Filip Pizlo
Comment 4
2018-04-26 21:38:25 PDT
Created
attachment 338965
[details]
I'm slowly putting this phase together
Filip Pizlo
Comment 5
2018-04-27 16:40:44 PDT
Created
attachment 339038
[details]
close to written
Filip Pizlo
Comment 6
2018-04-27 19:23:41 PDT
Created
attachment 339050
[details]
it might be written
Filip Pizlo
Comment 7
2018-04-28 12:46:02 PDT
Created
attachment 339075
[details]
it's starting to compile
Filip Pizlo
Comment 8
2018-04-28 19:24:26 PDT
Created
attachment 339087
[details]
it specialized something without crashing or emitting broken code It was a small function, too small to cause interesting compiler problems.
Filip Pizlo
Comment 9
2018-04-29 10:05:05 PDT
It's a 14% speed-up on the following benchmark. Note that we're duplicating a CheckAdd (which has a full OSR thingy). Note that we're not (yet) unswitching the loop, because the structure load is not hoisted out of the loop. function foo(o) { var result = 0; for (var i = 0; i < 100; ++i) { result += o.f; o.f = i; } return result; } noInline(foo); var before = preciseTime(); for (var i = 0; i < 100000; ++i) { var result = foo(i & 1 ? {f:42} : {e:41, f:42}); if (result != (99 * 98) / 2 + 42) throw "Error: bad result: " + result; } var after = preciseTime(); print("That took " + (after - before) * 1000 + " ms");
Filip Pizlo
Comment 10
2018-04-29 21:29:29 PDT
Created
attachment 339104
[details]
it's starting to come to life
Filip Pizlo
Comment 11
2018-04-30 16:38:42 PDT
Current perf data suggests that this is not a speed-up. Will verify again once I fix some bugs. But this is looking like a negative result, mostly because taildup is too darn good.
Filip Pizlo
Comment 12
2018-04-30 17:03:10 PDT
Created
attachment 339163
[details]
mostly works, not a speed-up Still has test failures. But it's definitely not a speed-up, so I'm going to stop working on it.
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