Consider compiling Ion IC code less eagerly

RESOLVED INACTIVE

Status

()

Core
JavaScript Engine: JIT
P2
normal
RESOLVED INACTIVE
a year ago
23 hours ago

People

(Reporter: jandem, Unassigned)

Tracking

(Blocks: 2 bugs, {perf})

Firefox Tracking Flags

(Not tracked)

Details

(Whiteboard: [qf:p3])

(Reporter)

Description

a year ago
Ion IC code is not shared (unlike Baseline) so compiling Ion IC code sometimes shows up in profiles.

With CacheIR we could do the following for Ion ICs: after generating CacheIR, instead of compiling IC code immediately, we could allocate a stub without JIT code (and probably add it to a separate "pending" list). Then we could wait until we see the same lookup a few more times (same IR + stub fields, we already have code to determine that) and at that point we could compile the CacheIR to JIT code.

This should be pretty easy to do and might be a nice win for megamorphic sites (we will currently attach a number of specialized stubs that probably won't be used much) or ICs that hit only a few times. We should do some measurements to see how common these cases are.
(Reporter)

Comment 1

a year ago
P2 - we should at least try to do some measurements the coming weeks.
Keywords: perf
Priority: -- → P2
Blocks: 1307062
Whiteboard: [qf:p3]

Comment 2

23 hours ago
Per policy at https://wiki.mozilla.org/Bug_Triage/Projects/Bug_Handling/Bug_Husbandry#Inactive_Bugs. If this bug is not an enhancement request or a bug not present in a supported release of Firefox, then it may be reopened.
Status: NEW → RESOLVED
Last Resolved: 23 hours ago
Resolution: --- → INACTIVE
You need to log in before you can comment on or make changes to this bug.