Closed Bug 1408058 Opened 2 years ago Closed 2 years ago

Investigate six-speed-super-es5 regression

Categories

(Core :: JavaScript Engine, defect, P3)

defect

Tracking

()

RESOLVED FIXED
mozilla58
Tracking Status
firefox57 --- wontfix
firefox58 --- fixed

People

(Reporter: evilpie, Assigned: jandem)

References

(Blocks 1 open bug)

Details

(Keywords: perf)

Attachments

(3 files)

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.
s/not/now/
Jan can you please assign this to someone appropriate?
Flags: needinfo?(jdemooij)
Priority: -- → P1
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.
Priority: P1 → P3
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
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)
This is just based on the code for GuardShape.
Attachment #8921881 - Flags: review?(nicolas.b.pierron)
Attachment #8921881 - Flags: review?(nicolas.b.pierron) → review+
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+
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
You need to log in before you can comment on or make changes to this bug.