Open Bug 1346178 Opened 7 years ago Updated 2 years ago

Consider compiling Ion IC code less eagerly


(Core :: JavaScript Engine: JIT, enhancement, P2)




Performance Impact low


(Reporter: jandem, Unassigned)


(Blocks 2 open bugs)


(Keywords: perf)

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.
P2 - we should at least try to do some measurements the coming weeks.
Keywords: perf
Priority: -- → P2
Whiteboard: [qf:p3]
Performance Impact: --- → P3
Whiteboard: [qf:p3]
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.