While a number of intended deliverables for remain unmet, he's made significant contributions to the expression backend and has identified unexpected roadblocks to the remaining tasks that should yield to additional preparatory work. In light of this, the Grants Committee will be considering Bart's report below and voting on a payment for the currently accomplished work of 50% of the original amount requested. The Grants Committee will consider a revised ... read more |
Bart gave me this interim report on his grant: is essentially complete. Bart is currently finishing floating point support in conditional expressions. This is surprisingly nontrivial, he indicates, because of NaN, and because of condition code differences between floating point and integer comparisons. is nearing completion. Bart says it turned out to have a whole lot of overlap with the floating point support. He ... read more |
Bart reports the latest progress: Fixed a few windows-specific bugs Assigned a permissible-register set to live ranges, which makes it possible to combine values with distinct register requirements Ensured that when a value is spilled to make place for another, the released register is actually one that the new value can use. In other words, a bunch of register allocator work. Floating point support is close to being finished. He ... read more |
Bart received helpful comments on his blog posts last month that will move him ahead with intermediate representation optimization and register allocation. He writes: I'm still working on finalizing the floating point support for the JIT compiler, but I've also started work on the new register allocation algorithm. This wasn't strictly a deliverable, but I expect it will help the deliverable of improving code generation. MAJ ... read more |
Brrt reports that February was busy and short, but that he did some research on other implementations of register allocation that he can apply to MoarVM JIT. He notes the following conundrum that he has been thinking about. Maybe a reader can advise: I've also encountered a limitation in the optimization of the IR, which I'm trying to resolve. The issue is this, if I have a bunch of code ... read more |
Brrt is untangling the intricacies of floating point expressions so close to the metal in his He provides some of his insights Here is his brief report Last month, I've been busy with floating point support. Getting that ready involved two things: Getting the type system for the expression template precompiler ready. This works now, I'm happy with the result. Fixing the register allocator to support it. This works as ... read more |
Back in August 2018, André Walker reported on his initial work to revitalize the revitalizing of blogs.perl.org. He made the following report to the TPF Grants Committee on 14 Aug 2018 The latest report as of this post can be found here. Short update regarding grant progress. I have most of the major features I wanted to implement already in place, even if some are a bit rough. So it's ... read more |
André Walker reports significant progress on his bold attempt to revitalize blogs.perl.org. He made the following report to the TPF Grants Committee on 3 Jan 2019 I will also backpost another report André made to the Committee in Aug 2018 shortly. The work I set out to do for the grant on blogs.perl.org is almost complete. Here is a breakdown of what is done, what is missing for a first ... read more |
Brrt has hit the ground running on his MoarVM JIT Compiler grant. Here is his interim report: I wanted to start with floating point support, which has two subtasks: Ensure that DynASM encodes SSE instructions with variadic registers correctly. Ensure that the JIT itself accepts and works with floating point registers. I finished the first two of those tasks. For some context, x86-64 instruction encoding rules require an extra byte ... read more |