At present, markExtensibleParents marks all functions contained within an extensible scope (a function with a direct eval call or function statements) as having an extensible parent. However, the analysis which marks functions as being appropriate for the null closure or flat closure optimizations could tell us when a contained function doesn't actually use its scope chain, and needn't be marked. markExtensibleParents should consult this information. Unfortunately, that information seems to be unreliable at the moment (bug 617609). When that problem is fixed, markExtensibleParents should be updated.
Thoughts about whether this should block? It shouldn't be much work at all, but I don't know how much benefit it would provide. Probably not much on our popular benchmarks, which I understand don't make much use of higher-order functions. Perhaps more on real-world libraries that are closure-happy.
(I'd nominate, but it seems a little discussion amongst interested parties might be nice before this bug shows up in triage meetings.)
All this code is gone now. (Whether procrastination is a fault or a virtue depends on to what it is applied.)
Status: NEW → RESOLVED
Last Resolved: 6 years ago
Resolution: --- → INVALID
You need to log in before you can comment on or make changes to this bug.