July report of the Raku Development Grant of Jonathan Worthington
Tue, 18-Aug-2020 by
Matthias Bloch
edit post
Jonathan writes:
As in [May](https://news.perlfoundation.org/post/jonathan-2020-05)
and [June](https://news.perlfoundation.org/post/jonathan-2020-06),
in July I continued my work on the unified dispatcher mechanism.
Unlike those rather productive months, July was vacation time, and
thus I was away from my keyboard for much of it. I did, however,
get some bits done.
One of the mechanisms that the unified dispatch mechanism will
replace is specializer plugins - a means to explain various language
constructs to the VM in a way that enables it to optimize them.
In some ways, specializer plugins are the thing that won; the new
dispatch mechanism takes those ideas, builds on them, does various
things better (hindsight considered helpful), and along the way
revisits various related areas of the VM and improves them.
This month, my `new-disp` branches reached the milestone of having
completely replaced the use of specializer plugins with the new
dispatch mechanism. Of note, I:
* Fixed a regression that came up when I ported qualified method
dispatch (`$obj.Foo::bar`) to the new dispatch mechanism
* Ported the assignment specializer plugin to the new dispatch
mechanism
* Removed all traces of specializer plugins from Rakudo, NQP, and
MoarVM
Work now moves on to moving other kinds of dispatch over to using
the new dispatcher mechanism. I took multiple dispatch as my next
focus, and moved things forward a little there, however there
remains a good amount left to go.
Finally, exercising the new dispatch mechanism in more cases showed
up a small number of bugs, which I fixed. These consisted of some
memory leaks and a segfault when GC-marking argument flattening
callstack frames.
July also saw me exhaust my remaining approved grant time (it's
convenient this happened in the same month I had vacation).
The call for community feedback on [another round](https://news.perlfoundation.org/post/jonathan-grant-extension-20-06)
has already taken place, so hopefully grant work will resume
during August.
```
8:03 Implementation work on new dispatch mechanism, as described above
Total reported time in this report: 8:03
Remaining approved hours on current grant period: 0:00
```
Comments (1)
Approved - Jonathan's work continues to improve the state of Rakudo/NQP/MoarVM, and as I understand it, a new round of funding will be available for him to draw on going forward. -Will Coleda (Grant Manager)