Welcome to the main channel on the development of MoarVM, a virtual machine for NQP and Rakudo (moarvm.org). This channel is being logged for historical purposes.
Set by lizmat on 24 May 2021.
00:06 reportable6 left 00:08 reportable6 joined 01:08 benchable6 left, linkable6 left, notable6 left, sourceable6 left, squashable6 left, greppable6 left, reportable6 left, quotable6 left, nativecallable6 left, statisfiable6 left, unicodable6 left, committable6 left, coverable6 left, bloatable6 left, bisectable6 left, evalable6 left, tellable6 left, releasable6 left, shareable6 left, sourceable6 joined, quotable6 joined 01:09 tellable6 joined, squashable6 joined, greppable6 joined, unicodable6 joined 01:10 notable6 joined 01:11 statisfiable6 joined, reportable6 joined, bloatable6 joined, bisectable6 joined 01:45 frost joined 02:08 committable6 joined 02:10 nativecallable6 joined, coverable6 joined, releasable6 joined 02:36 frost left 02:49 frost joined 03:08 discord-raku-bot left, discord-raku-bot joined 03:10 benchable6 joined 03:41 frost left 04:09 frost joined 04:11 shareable6 joined 04:18 frost left 05:56 greppable6 left, coverable6 left, notable6 left, nativecallable6 left, statisfiable6 left, quotable6 left, sourceable6 left, bloatable6 left, squashable6 left, bisectable6 left, reportable6 left, tellable6 left, unicodable6 left, releasable6 left, committable6 left, benchable6 left, shareable6 left 05:57 shareable6 joined, reportable6 joined, bloatable6 joined, coverable6 joined 05:59 benchable6 joined, nativecallable6 joined, sourceable6 joined, quotable6 joined 06:07 reportable6 left 06:09 reportable6 joined
nine MasterDuke: everything the optimizer does, makes compilation take longer 06:37
Nicholas good *, * 06:38
06:57 committable6 joined 06:58 squashable6 joined, releasable6 joined 06:59 greppable6 joined, tellable6 joined 07:09 linkable6 joined
nine Good Friday! (We've already decided that Friday exists in IRC) 07:14
Nicholas "while stocks last" 07:42
07:58 statisfiable6 joined 08:11 evalable6 joined 08:14 frost joined 08:19 frost left, moon-child left, moon-child joined 08:25 frost joined 08:59 bisectable6 joined
MasterDuke nine: no argument there. but if you're squaring numbers you're probably doing something math-heavy, and would be ok for a slight slowdown in compilation for a speedup in runtime 09:16
hopefully after rakuast we can better separate what's currently done in the optimizer. break apart correctness checking and performance optimization and make the optimization(s) opt-in/out-able 09:42
09:56 notable6 joined
MasterDuke backing up to removing the fsa and the double free. valgrind with --trace-children=yes doesn't get them, which is annoying. but asan does 10:01
gist.github.com/MasterDuke17/72c0b...9ad3cec7aa 10:02
happening in/because of MVM_6model_set_debug_name, which i took the mutex out of because i switched to using the linked list with looping on MVM_trycas 10:03
10:05 linkable6 left 10:44 Techcable left 10:58 linkable6 joined 10:59 unicodable6 joined
MasterDuke ok, added the mutex back to MVM_6model_set_debug_name and now everything passes 11:09
times look pretty much the same as on master 11:16
lizmat something I just found, that I found counter-intuitive: 11:55
sub a(Callable:D $a) { $a } creates 10 bytes of bytecode
sub a(&a) { &a } creates *50* bytes of bytecode 11:56
is there any reason for that discrepancy?
12:07 reportable6 left 12:10 reportable6 joined 12:21 Altai-man joined 12:26 Techcable joined
Geth MoarVM: nwc10++ created pull request #1644:
Add missing `static` qualifiers to various private functions
jnthnwrthngtn lizmat: Well, everything has a reason, but it probably isn't a good one :) 13:24
lizmat yeah, that's why I figured I'd ask :-) 13:41
btw, the bytecode sizes are what the spesh log reported using -MSIL
is there a way to directly introspect bytecode size ?
jnthnwrthngtn moar --dump bytecode-file.moarvm 13:49
And you can get one of those by --target=mbc --output=bytecode-file.moarvm to Rakudo, I think
The inlining numbers are to be taken with a pinch of salt because they are actually after specialization 13:50
Well, they might be :)
lizmat ok
jnthnwrthngtn Some are, some aren't
The one that mentions it being a call to something unspecialized certainly is the unspecialized size
lizmat so I guess Callable:D $foo speshializes better than &foo 13:51
14:03 Altai-man left 14:08 Altai-man joined 14:52 frost left 15:22 frost joined
Geth MoarVM/master: 11 commits pushed by (Nicholas Clark)++, (Jonathan Worthington)++
review: github.com/MoarVM/MoarVM/compare/1...2de6d1d09f
MoarVM: MasterDuke17++ created pull request #1645:
Remove the fixed size allocator (FSA)
15:30 Techcable left 15:31 Techcable joined
Nicholas forgot to say (and before I forget again) mimalloc on ppc32 grumbles a lot (to stderr) about large alloacations that it thinks are bogus, and then follows up with another message to the effect of "OK, actually it wasn't bogus". Lots and lots 16:01
16:01 Kaipi left
Nicholas mimalloc on sparc32 fails assertions 16:01
16:01 Kaipi joined
Nicholas optional for the win 16:01
mainly beacuse I don't like debugging mimalloc 16:02
16:22 frost left
nine Nicholas: wow, now I'm really glad I asked. I thought that if anything atomic_load_explicit would be more expensive (because what could be cheaper than a MOV of equivalent?), but figured knowing is better than suspecting. Reading that it can actually be cheaper after all is a very nice surprise. 16:24
And this uncovered one of the many x86 biases I've gathered over the years...
17:25 TempIRCLogger left, TempIRCLogger joined 17:26 TempIRCLogger left, TempIRCLogger joined, TempIRCLogger left, TempIRCLogger joined 17:41 Altai-man left 17:43 discord-raku-bot left, discord-raku-bot joined 18:06 reportable6 left 19:09 reportable6 joined 20:22 discord-raku-bot left, discord-raku-bot joined