Rakudo.js update - working source maps and adhoc fixes

The biggest recent change is that source maps after many fixes now worked for code loaded of disk and are good enough to compile the setting with them.
Interestingly despite of being of crucial importance only a few test depend on working line numbers in stack traces.
Work on rakudo.js has been focused on bugfixing and adding some remaining bits and pieces.
Stuff worked on varies widely. Things worked on range from lowlevel stuff such as and uint16 and uint8 support to more high level things like using last in a NEXT block.
I have implemented bare bones CStruct and CUnion reprs.
A pesky and tedious internal change has been that calling convention has been changed to match semantics of other backends more.
When calling between different HLL languages (like NQP and Perl 6) native return values are now boxed by the caller.
The tests that remain in the subset that Rakudo.js is for now focusing on are now mainly stuff that fails due to weird things being done in the Rakudo compiler itself.
Hopefully that means that some work on the js backend will now help the moarvm one too.
As an example I recently found at that some scientific notations literals are parsed incorrectly (and it was masked by a floating point stringification bug). Once the nqp::div_In op is fixed on MoarVM backend rakudo.moar will be able to use the fixed developed for the js backend.
Now I plan to focus on updating the js branch and cleanup the adaptation I have done to Rakudo itself so the branch is a state ready for a merge into master.

Leave a comment

About Paweł Murias

user-pic This is my JavaScript backend for Rakudo/NQP blog.