Closed
Bug 1408058
Opened 7 years ago
Closed 7 years ago
Investigate six-speed-super-es5 regression
Categories
(Core :: JavaScript Engine, defect, P3)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
mozilla58
People
(Reporter: evilpies, Assigned: jandem)
References
(Blocks 1 open bug)
Details
(Keywords: perf)
Attachments
(3 files)
1.38 KB,
patch
|
evilpies
:
review+
|
Details | Diff | Splinter Review |
5.98 KB,
patch
|
nbp
:
review+
|
Details | Diff | Splinter Review |
11.39 KB,
patch
|
evilpies
:
review+
|
Details | Diff | Splinter Review |
We had a pretty massive regression on six-speed-super-es5.
https://arewefastyet.com/#machine=29&view=single&suite=six-speed&subtest=super-es5
I think this got even worse, the results are not extremely bimodal.
Comment 3•7 years ago
|
||
Jan can you please assign this to someone appropriate?
Assignee | ||
Comment 4•7 years ago
|
||
evilpie and I talked about this - I doubt the regression is real but we should optimize the d.bar property access better in Ion; I'll fix soon.
Updated•7 years ago
|
status-firefox57:
--- → wontfix
Priority: P1 → P3
Assignee | ||
Comment 5•7 years ago
|
||
I have Ion/ScalarReplacement/CacheIR patches that let us inline the property access and then scalar replacement can no-op this benchmark.
Assignee: nobody → jdemooij
Status: NEW → ASSIGNED
Assignee | ||
Comment 6•7 years ago
|
||
We currently set preliminaryObjectAction_ if |obj == holder|. This patch changes it to always set it - this ensures we get a single Baseline stub and ReceiverGuard in IonBuilder when we look up a property on the prototype of a preliminary and later unboxed object.
Flags: needinfo?(jdemooij)
Attachment #8921878 -
Flags: review?(evilpies)
Assignee | ||
Comment 7•7 years ago
|
||
This is just based on the code for GuardShape.
Attachment #8921881 -
Flags: review?(nicolas.b.pierron)
Updated•7 years ago
|
Attachment #8921881 -
Flags: review?(nicolas.b.pierron) → review+
Assignee | ||
Comment 8•7 years ago
|
||
This patch lets us inline slot reads on the proto chain based on Baseline ICs. We support multiple receivers, as long as there's a single holder.
Attachment #8921906 -
Flags: review?(evilpies)
Attachment #8921878 -
Flags: review?(evilpies) → review+
Comment on attachment 8921906 [details] [diff] [review]
Part 3 - Inline proto slot reads in Ion
Review of attachment 8921906 [details] [diff] [review]:
-----------------------------------------------------------------
Looks great. I am optimistic that this will help on real world content as well.
Attachment #8921906 -
Flags: review?(evilpies) → review+
Comment 10•7 years ago
|
||
Pushed by jandemooij@gmail.com:
https://hg.mozilla.org/integration/mozilla-inbound/rev/4b0d907b56a8
part 1 - Track preliminary object IC stubs better. r=evilpie
https://hg.mozilla.org/integration/mozilla-inbound/rev/3752c359fa86
part 2 - Teach scalar replacement about GuardGroup and GuardUnboxedExpando. r=nbp
https://hg.mozilla.org/integration/mozilla-inbound/rev/a903e6c2cf0f
part 3 - Inline slot reads on the prototype in Ion based on Baseline feedback. r=evilpie
Comment 11•7 years ago
|
||
bugherder |
https://hg.mozilla.org/mozilla-central/rev/4b0d907b56a8
https://hg.mozilla.org/mozilla-central/rev/3752c359fa86
https://hg.mozilla.org/mozilla-central/rev/a903e6c2cf0f
Status: ASSIGNED → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla58
You need to log in
before you can comment on or make changes to this bug.
Description
•