Closed Bug 1617114 Opened 4 years ago Closed 4 years ago

Don't always create a CallObject when a home-object is needed or when within derived class constructors

Categories

(Core :: JavaScript Engine, enhancement)

enhancement
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla75
Tracking Status
firefox75 --- fixed

People

(Reporter: anba, Assigned: anba)

Details

Attachments

(1 file)

Call objects were initially required for super property accesses and super() calls (cf. https://hg.mozilla.org/mozilla-central/rev/a3f6306dd05e64ea03f427652680151f89357e99 and https://hg.mozilla.org/mozilla-central/rev/f6598d998f3e), but with https://hg.mozilla.org/mozilla-central/rev/5555defbbd01b3629496097dc8f403c9c4de60f8 this shouldn't be the case anymore. Omitting the call object gives a noticeable performance improvement when new'ing derived class constructors (2x faster), because these still run in baseline-only due to SpreadSuperCall.

Pushed by dvarga@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/32cbb163eca6
Don't require a CallObject when a home-object is needed or when within derived class constructors. r=jandem
Status: ASSIGNED → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla75
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: