🦋 Welcome to the IRC channel of the core developers of the Raku Programming Language (raku.org #rakulang). This channel is logged for the purpose of history keeping about its development | evalbot usage: 'm: say 3;' or /msg camelia m: ... | log inspection situation still under development | For MoarVM see #moarvm
Set by lizmat on 22 May 2021.
00:03 reportable6 left 00:05 reportable6 joined 02:06 squashable6 left 03:06 linkable6 left, evalable6 left 03:07 evalable6 joined, squashable6 joined 03:21 frost joined 04:34 releasable6 left, statisfiable6 left, shareable6 left, squashable6 left, unicodable6 left, benchable6 left, committable6 left, quotable6 left, bisectable6 left, notable6 left, sourceable6 left, reportable6 left, nativecallable6 left, bloatable6 left, coverable6 left, evalable6 left, greppable6 left, tellable6 left, nativecallable6 joined 04:35 squashable6 joined, greppable6 joined, reportable6 joined, coverable6 joined 04:36 shareable6 joined, statisfiable6 joined 05:08 linkable6 joined 05:34 evalable6 joined 05:35 committable6 joined, quotable6 joined 05:36 sourceable6 joined 06:02 reportable6 left 06:36 bisectable6 joined, unicodable6 joined 06:37 bloatable6 joined 07:34 tellable6 joined, releasable6 joined 07:36 benchable6 joined 08:04 reportable6 joined 08:29 Xliff left 08:36 lizmat_ joined, TempIRCLogger__ left 08:37 lizmat left, [Coke]_ joined, TempIRCLogger joined, sena_kun joined, lizmat_ left, lizmat joined 08:38 Geth left 08:39 Geth joined, [Coke] left 09:35 notable6 joined 09:48 patrickb joined
Geth rakudo/new-disp: 02480f3efb | (Jonathan Worthington)++ | 2 files
Remove unused attributes in Routine

  * `$!dispatcher_cache` seems entirely unused anywhere at all (now?)
  * `$!dispatch_cache` is unused on MoarVM
10:24
10:30 discord-raku-bot left, discord-raku-bot joined
Geth rakudo/new-disp: 14b160060d | (Jonathan Worthington)++ | 3 files
Incorporate $!onlystar into Routine $!flags

It was a separate attribute before because the legacy multi-dispatch caching strategy needed that. Now that is gone, and it can go into flags, saving another 8 bytes off every Routine (and clone of one).
10:39
10:42 JimmyZ joined
patrickb o/ 10:43
10:48 JimmyZ left 11:27 Xliff joined 11:36 JimmyZ joined 12:03 reportable6 left 12:04 reportable6 joined 13:04 evalable6 left, linkable6 left 13:21 JimmyZ left 14:06 linkable6 joined
Geth rakudo/new-disp: 1499e64261 | (Jonathan Worthington)++ | 13 files
Remove Scalar containers caller side when possible

Add a bit field to Signature that indicates which arguments are readonly. Use it in the dispatcher in order to remove values from Scalar containers on the caller side, rather than leaving it to the callee. See the large comment inside the commit explaining the multiple advantages this provides.
There cost of doing this is that we run the risk of .VAR getting unwrapped both by this *and* in the callee. To avoid this, have .VAR do the wrapping inside of a special ScalarVAR.
14:06
14:24 frost left 14:45 patrickb left, patrickb joined 14:49 patrickb left, patrickb joined 14:51 patrickb left, patrickb joined 14:53 patrickb left, patrickb joined 14:55 patrickb left, patrickb joined 14:57 patrickb left 14:58 patrickb joined 15:04 patrickb left, patrickb joined 15:06 patrickb left, patrickb joined 15:07 evalable6 joined 15:08 patrickb left 15:09 patrickb joined 15:10 patrickb left 15:11 patrickb joined 15:13 patrickb left, patrickb joined 15:15 patrickb left, patrickb joined 15:19 patrickb left, patrickb joined 15:23 patrickb left
Geth rakudo: vrurg++ created pull request #4532:
Clarify some edge cases of using nominalizables
15:33
15:52 [Coke]_ is now known as [Cke, [Cke is now known as [Coke] 16:05 discord-raku-bot left, linkable6 left 16:06 discord-raku-bot joined
Geth nqp/new-disp: 6d1a3fbbdf | (Jonathan Worthington)++ | 2 files
Use `my constant` somewhat in QAST compiler

These are a bit quicker to access, and serialized so they don't need any setup work at startup.
17:06
nqp/new-disp: 18d0d227c0 | (Jonathan Worthington)++ | src/vm/moar/QAST/QASTOperationsMAST.nqp
Avoid lots of dispatch program creation at startup

The QAST operations setup previously made a method call for every single op. This resulted in producing a dispatch program that was only used once ever. For most simple mappings, we can instead use a constant table of them and add them in a loop. This knocks a few percent off startup time, plus avoids the wasted memory of a bunch of single-use dispatch programs and callsites.
17:07 linkable6 joined 18:02 reportable6 left 18:33 notna joined
Geth rakudo/new-disp: 11 commits pushed by (Elizabeth Mattijsen)++
review: github.com/rakudo/rakudo/compare/1...caf34c4a8e
18:54
19:05 reportable6 joined 19:15 notna left 20:37 linkable6 left, evalable6 left 20:39 linkable6 joined
Geth rakudo/new-disp: 8 commits pushed by (Elizabeth Mattijsen)++ 21:27
21:29 discord-raku-bot left, discord-raku-bot joined 21:39 evalable6 joined
Geth rakudo/disp_drop_multiple_args_at_once: daecc1a431 | (Timo Paulssen)++ | src/vm/moar/dispatchers.nqp
Use new dispatcher-drop-n-args syscall

Can reduce allocations of temporary MVMCapture and MVMCallsite objects.
21:40
rakudo: timo++ created pull request #4533:
Use new dispatcher-drop-n-args syscall
22:05 sena_kun left
Geth nqp/disp_drop_multiple_args_at_once: fda44c5974 | (Timo Paulssen)++ | 2 files
use dispatcher-drop-n-args syscall in nqp dispatchers
22:09
nqp: timo++ created pull request #739:
use dispatcher-drop-n-args syscall in nqp dispatchers
22:10
23:59 evalable6 left, linkable6 left