Method calls get up to speed, and Ask spreads its sources
More of both this release: the engine speeds up a shape it used to leave behind, and Ask your reading answers from more of what you read. First, speed. The part of the engine that speeds up hot code already inlined plain function calls, but the way almost all real code is actually written -> calling a method on an object, where the method reaches back for one of the object's own fields (think 'return price times this.rate') -> was still running the slow way, because the engine had no model for that 'this'. A tight loop of those calls ran barely faster sped-up than plain. Now it models a read-only receiver: the same loop runs about two and a half times faster, on par with a plain function call. It stays honest -> a method that writes back to the object, or a field behind a getter, still takes the careful path, and the fast path is proven equal to the plain interpreter across thousands of fuzzed programs. The engine gate holds at 6375 of 6375. Second, memory. Ask your reading, the on-device box that answers questions from pages you have actually read, used to be able to fill its whole answer from a single page if that page happened to score well -> burying everything else you read on the topic. Now it deliberately spreads across sources, so a question you read about in three places gets answered from three places, which is the whole point of asking your reading instead of re-reading one tab. And it stops chopping sentences in the wrong place: a decimal like 1.5, a web address, or 'Dr.' no longer splits a sentence in half before it reaches the answer.