Before leaving on his much deserved break, Jonathan was able to carry forward the performance work ahead in September. (Aside from his work on the RakuAST grant).
01:20 Better specialize and JIT boolifcation of Num, so we
produce rather better machine code for it
11:35 Continue work on the new dispatch mechanism, with
a focus on dispatch resumption. Implemented a means
to indicate what state is needed to resume a dispatch
(for example, with `callsame` in a method, this is
the original dispatch arguments along with the method
name). Multiple dispatchers within a single dispatch
can decide what they need to retain (for example, if
a method dispatch does a multi dispatch to a wrapped
method, all 3 need state for handling `callsame`).
The mechanism is designed to minimize costs in the
common case that this information is ultimately not
needed. Also some initial wiring up of resume dispatch
callbacks, where the resumption logic will take place.
Total time worked: 12 hours 55 minutes