The everyday array loop gets compiled
A small change that reaches an enormous amount of real code. The most common way to loop over a list in JavaScript is "for i from 0 while i is less than the list's length" -> and reading that length, on every pass, was quietly keeping the whole loop off Floati's fast path. Now Floati recognises a list's length directly, so this everyday loop shape compiles like the rest. Because so much page code is exactly this shape, it is one of the higher-impact speed-ups so far: in our benchmarks a straightforward sum over a million-element list written the usual way runs about twice as fast, where before it did not speed up at all. It reads the length exactly as the interpreter would, including when the loop is growing the list as it goes, and anything that is not a plain list falls back to the normal path unchanged. The full engine test suite passes identically with the speed-up switched on and off.