[00:07] *** reportable6 left
[01:10] *** reportable6 joined
[01:52] *** ggoebel_ joined
[01:52] *** ggoebel left
[02:26] *** frost joined
[03:45] *** linkable6 left
[03:45] *** evalable6 left
[03:47] *** linkable6 joined
[06:07] *** reportable6 left
[06:09] *** reportable6 joined
[07:15] *** quotable6 left
[07:15] *** bloatable6 left
[07:15] *** bisectable6 left
[07:15] *** notable6 left
[07:15] *** unicodable6 left
[07:15] *** committable6 left
[07:15] *** coverable6 left
[07:15] *** benchable6 left
[07:15] *** greppable6 left
[07:15] *** linkable6 left
[07:15] *** reportable6 left
[07:15] *** shareable6 left
[07:15] *** releasable6 left
[07:15] *** squashable6 left
[07:15] *** nativecallable6 left
[07:15] *** statisfiable6 left
[07:15] *** sourceable6 left
[07:15] *** tellable6 left
[07:16] *** notable6 joined
[07:16] *** committable6 joined
[07:16] *** nativecallable6 joined
[07:16] *** tellable6 joined
[07:16] *** linkable6 joined
[07:17] *** reportable6 joined
[07:17] *** bloatable6 joined
[07:17] *** bisectable6 joined
[07:18] *** squashable6 joined
[07:18] *** coverable6 joined
[08:16] *** shareable6 joined
[08:16] *** benchable6 joined
[08:17] *** unicodable6 joined
[08:18] *** statisfiable6 joined
[09:15] *** sourceable6 joined
[09:16] *** releasable6 joined
[09:31] *** TheAthlete joined
[09:48] *** evalable6 joined
[10:16] *** greppable6 joined
[10:53] *** lizmat_ joined
[10:54] *** TempIRCLogger__ joined
[10:55] *** TempIRCLogger left
[10:57] *** lizmat left
[10:58] *** TempIRCLogger__ left
[10:58] *** TempIRCLogger joined
[11:17] *** quotable6 joined
[11:53] *** Altai-man joined
[12:02] *** lizmat_ left
[12:03] *** lizmat joined
[12:07] *** reportable6 left
[13:07] *** linkable6 left
[13:07] *** evalable6 left
[13:21] *** lizmat left
[13:23] *** lizmat joined
[13:23] *** TempIRCLogger__ joined
[13:24] *** TempIRCLogger left
[13:27] *** TempIRCLogger__ left
[13:27] *** TempIRCLogger joined
[13:49] *** [Coke] left
[14:10] *** linkable6 joined
[14:24] *** frost left
[16:10] *** reportable6 joined
[16:50] *** guifa joined
[16:50] <guifa> Altai-man: I golfed it!

[16:51] <Altai-man> guifa, great work! Now ticket time. :)

[16:51] <guifa> m: class A { has int32 $.b is rw }; sub foo(int32 $c is rw) { $c += 1 }; my $a = A.new: :0b; foo $a;

[16:51] <camelia> rakudo-moar cb16f7ecc: OUTPUT: «Bytecode validation error at offset 50, instruction 9:␤operand type 32 does not match register type 24 for op decont_i in frame foo␤  in block <unit> at <tmp> line 1␤␤»

[16:59] <MasterDuke> m: class A { has int32 $.b is rw }; sub foo(int32 $c is rw) { $c += 1 }; my $a = A.new: :0b; foo $a.b;

[16:59] <camelia> rakudo-moar cb16f7ecc: OUTPUT: «Bytecode validation error at offset 50, instruction 9:␤operand type 32 does not match register type 24 for op decont_i in frame foo␤  in block <unit> at <tmp> line 1␤␤»

[16:59] <MasterDuke> m: class A { has int $.b is rw }; sub foo(int $c is rw) { $c += 1 }; my $a = A.new: :0b; foo $a.b;

[16:59] <camelia> rakudo-moar cb16f7ecc: ( no output )

[17:00] <MasterDuke> maybe nine++'s work on unsigned natives will also end up fixing that

[17:09] *** evalable6 joined
[17:38] <dogbert17> looks like the optimizer might be involved in some fashion, try running with --optimize=0

[17:51] <timo> turning the optimizer off completely requires --optimize=off ftr

[17:53] <guifa> MasterDuke: ah noted.  Unfortunately for this code I can't just use int, but I can definitely write in a work around for this particular function and comment it accordingly 

[18:08] *** reportable6 left
[18:10] *** reportable6 joined
[18:25] <nine> chance is good, yes

[18:30] *** Altai-man left
[18:46] <guifa> alright report filed.  thanks for feedback, knowing the source I'll adjust my code for the time being

[19:24] *** guifa left
[19:27] <Geth> ¦ MoarVM: 48f584c4fb | (Daniel Green)++ | src/core/coerce.c

[19:27] <Geth> ¦ MoarVM: Use faster itoa implementation

[19:27] <Geth> ¦ MoarVM: 

[19:27] <Geth> ¦ MoarVM: On my system this version consistently was faster than the existing one

[19:27] <Geth> ¦ MoarVM: when running the benchmark from https://github.com/miloyip/itoa-benchmark

[19:27] <Geth> ¦ MoarVM: 

[19:27] <Geth> ¦ MoarVM: This was also still the case in a trivial benchmark of NQP and Raku

[19:27] <Geth> ¦ MoarVM: code. For example,

[19:27] <Geth> ¦ MoarVM: `MVM_SPESH_BLOCKING=1 ./nqp-m -e 'my str $s; my int $i := 0; my $n := nqp::time; while $i++ < 10_000_000 { $s := $i }; say(nqp::div_n(nqp::time - $n, 1000000000e0)); say($s)'`

[19:27] <Geth> ¦ MoarVM: reports ~0.56 before and ~0.43 after. Using callgrind (though just up

[19:27] <Geth> ¦ MoarVM: to 1_000_000) I see ~958,400,000 instructions before and ~873,700,000

[19:27] <Geth> ¦ MoarVM: instructions after.

[19:27] <Geth> ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/48f584c4fb

[19:27] <Geth> ¦ MoarVM: 06170c9733 | MasterDuke17++ (committed using GitHub Web editor) | src/core/coerce.c

[19:27] <Geth> ¦ MoarVM: Merge pull request #1618 from MasterDuke17/use_faster_itoa_implementation

[19:27] <Geth> ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/commit/06170c9733

[19:52] <MasterDuke> nine: i suspect a nativecall problem here https://gist.github.com/melezhik/812837c045325cb33526fab049059316 originally it was sensitive to MVM_SPESH_DISABLE=1, but now it's been golfed further and still aborts even with spesh disabled

[20:31] <nine> yes, speshed code looks bogus

[20:35] <nine> loc_10_obj doesnt make sense as return register ofbthat sp_runnativecall_o op

[20:49] <MasterDuke> added valgrind output (all with spesh disabled)

[20:50] *** guifa joined
[22:12] *** TheAthlete left
[23:04] *** discord-raku-bot left
[23:13] *** discord-raku-bot joined
