Faster JavaScript: loops that call a small stateful closure
A speed improvement for one of the most common patterns on the web: a loop that repeatedly calls a small function which remembers a value between calls, a counter, an accumulator, an iterator step, a stateful callback. These used to get no benefit from the engine's just-in-time compiler at all, because the loop fell back to the slow interpreter the moment the called function updated a captured variable. The engine now compiles them, and such loops run about three times faster (measured 2.8 to 3.5x on counters, accumulators and multi-variable closures). This is the shape behind a huge amount of real code, event tallies, animation steppers, reducers, memoizers, so pages that lean on it feel snappier. The change is held to the engine's usual correctness bar: it was checked against tens of thousands of randomly generated programs run both compiled and interpreted, with identical results required, so speed never comes at the cost of a wrong answer. Code that does not use this pattern is unchanged. The JavaScript performance aspect moves 49 to 50; the overall platform score stays at 70.