github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
00:06 dalek left 01:40 Kaiepi left 01:59 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke, MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke 04:37 lizmat left 05:20 lizmat joined, p6bannerbot sets mode: +v lizmat 06:32 robertle joined, p6bannerbot sets mode: +v robertle 07:42 robertle left 09:05 AlexDaniel left 09:27 brrt joined 09:28 p6bannerbot sets mode: +v brrt 09:35 domidumont joined, p6bannerbot sets mode: +v domidumont 09:56 Geth left
brrt \o 10:21
I now think most of the issues we're having may be related to signs 10:22
10:28 brrt left, brrt joined 10:29 p6bannerbot sets mode: +v brrt
dogbert11 hello brrt 10:35
10:35 brrt left 11:53 squashable6 left, releasable6 left, statisfiable6 left, reportable6 left, bisectable6 left, unicodable6 left, bloatable6 left, undersightable6 left, shareable6 left, greppable6 left, nativecallable6 left, evalable6 left, committable6 left, notable6 left, quotable6 left, benchable6 left, coverable6 left, nativecallable6 joined, quotable6 joined, notable6 joined, greppable6 joined, committable6 joined, evalable6 joined, coverable6 joined, bloatable6 joined, bisectable6 joined, benchable6 joined, benchable6 left, bisectable6 left, committable6 left, evalable6 left, quotable6 left, releasable6 joined, reportable6 joined, unicodable6 joined, releasable6 left, reportable6 left, unicodable6 left, coverable6 left, bloatable6 left, notable6 left, greppable6 left, nativecallable6 left 11:54 p6bannerbot left, p6bannerbot joined, ChanServ sets mode: +o p6bannerbot 12:40 Kaiepi joined 12:41 p6bannerbot sets mode: +v Kaiepi 13:23 dogbert2_ left
timotimo that's a bad sign? 13:43
dogbert11 it's a sign of the times 13:46
14:13 brrt joined, p6bannerbot sets mode: +v brrt 14:21 brrt` joined 14:22 p6bannerbot sets mode: +v brrt` 14:23 brrt left, dogbert2_ joined 14:24 p6bannerbot sets mode: +v dogbert2_, brrt` is now known as brrt
brrt test case; trunc is dead 14:44
gist.github.com/bdw/0dd3ece19d8771...2fb7ce1216
timotimo nqp-m: gist.github.com/bdw/0dd3ece19d8771...2fb7ce1216 14:45
camelia ERROR
at <tmp>:12 (<ephemeral file>:<mainline>)
from gen/moar/stage2/NQPHLL.nqp:1685 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:eval)
from gen/moar/stage2/NQPHLL.nqp:1928 (/home/camelia/rakudo-m-inst-1/share/nqp/lib/NQPHLL.moarvm:evā€¦
15:09 brrt left 15:10 robertle joined 15:11 p6bannerbot sets mode: +v robertle
dogbert11 hmm, that doesn't look very good 15:57
dogbert11 tries to figure out when this happened ... 16:01
timotimo use bisectable with a "run" command to invoke nqp-m 16:03
dogbert11 is that the way to do it? 16:08
16:19 zakharyas joined 16:20 p6bannerbot sets mode: +v zakharyas
timotimo it's *a* way to do it :) 16:21
you could of course do it manually if you like
i wouldn't like it ;)
16:21 zakharyas left 16:22 zakharyas joined 16:23 p6bannerbot sets mode: +v zakharyas
dogbert11 I'm trying manueal ATM and as you write it's not very fun :) 16:37
16:44 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel
dogbert11 perhaps AlexDaniel will solve this quicker but here's what we have so far 16:45
nqp commit github.com/perl6/nqp/commit/8476ec...9948ca6c67 is broken 16:46
I got it wrong immediately github.com/perl6/nqp/commit/8476ec...9948ca6c67 is working but github.com/perl6/nqp/commit/4acf85...2272c3cc7f does not 16:47
AlexDaniel e: chdir ā€˜sandboxā€™; run ā€˜wgetā€™, ā€˜gist.githubusercontent.com/bdw/0dd...trunc.nqpā€™ 16:52
dogbert11 between the two we have nine's recent work in nqp and MoarVM which doesn't lend itself to bisection
AlexDaniel c: HEAD chdir ā€˜sandboxā€™; run ā€˜wgetā€™, ā€˜gist.githubusercontent.com/bdw/0dd...trunc.nqpā€™
where are the bots O_o
dogbert11 perhaps they ran away :)
AlexDaniel dogbert11: banned 16:54
dogbert11 how come 16:55
MVM_JIT_EXPR_DISABLE=1 seems to resolve the problem 16:56
AlexDaniel timotimo: btw do you know about this? gist.github.com/AlexDaniel/88b38af...3df31dd431 16:57
basically it bisects with builds from whateverable, but locally 16:58
so you can run any code you need
timotimo cool, thanks 16:59
bookmarked
AlexDaniel I wish somebody turned it into App::Bisect module, or something like that 17:00
timotimo CoreHackers may be the right namespace for that 17:02
AlexDaniel or that, ya 17:03
yoleaux 17:01Z <lizmat> AlexDaniel: I've documented all of my commits for this release (I think)
AlexDaniel timotimo: ah, also you'll need to read some comments in this file if you decide to use it github.com/perl6/whateverable/blob...on.pm6#L29 17:17
lizmat .ask samcv how hard would it be to create a "nqp::iterleft" op on an nqp::iterator object that would tell you how many elements can still be produced by the iterator 17:23
yoleaux lizmat: I'll pass your message to samcv.
lizmat that would allow us to make all Mappy iterators to easily become PredictiveIterators 17:24
samcv lizmat, for hashes specifically?
yoleaux 17:23Z <lizmat> samcv: how hard would it be to create a "nqp::iterleft" op on an nqp::iterator object that would tell you how many elements can still be produced by the iterator
timotimo how should it behave when the count is unknown? 17:25
we could have different "modes" of iterators in the future
lizmat return -1 ? 17:26
samcv lizmat, also i can do that for hashes
yes 17:27
lizmat I mean, if it can be done as a cheap operation...
(very) cheap
samcv well actually. hmm
lizmat if not, then just scratch the idea :-) 17:28
what happens if you do nqp::elems on an nqp hash ?
samcv we can quickly know how many are in the other buckets but i don't think we know where in the current bucket we are
timotimo for a hash it might have to count how often it has been iterated so far
samcv lizmat, that is very fast. it just returns the hash's count in the hash struct
timotimo because, yeah, you can't easily tell what you're pointing at at the moment
you can, however, just iterate the iterator to the finish line to figure out how long it takes, lol
lizmat samcv: so maybe an 'nqp::iterdone' op that produces the number values produced ? 17:30
but I guess you're not keeping that now, are you ?
timotimo well 17:31
the first entry in MVMIter is uint32 mode; there's a 32bit wide gap after that before the pointer to the target
and we only have two different modes at the moment anyway :)
oh
fourm odes
samcv yeah no we don't keep how far we've gone 17:32
timotimo in arrays we do, though, because that's how we go from one to the next there :)
"unsigned", is that a 32bit int? 17:33
lizmat gotcha... :-)
samcv: ok, so scratch the idea, it's probably not worth it
timotimo fwiw, just unbox_i on the iterator could give the number of iterations so far 17:34
so there doesn't even have to be a new op
17:34 zakharyas left
lizmat hmmm... I don't think we use nqp::iterator on arrays in core 17:35
it's all based on atpos
timotimo we probably do if we "for @foo" in nqp code
17:46 virtualsue joined 17:47 p6bannerbot sets mode: +v virtualsue, virtualsue left 17:50 bisectable6 joined 17:51 p6bannerbot sets mode: +v bisectable6, committable6 joined, evalable6 joined, p6bannerbot sets mode: +v committable6 17:52 p6bannerbot sets mode: +v evalable6, notable6 joined 17:53 reportable6 joined, p6bannerbot sets mode: +v notable6, p6bannerbot sets mode: +v reportable6, unicodable6 joined 17:54 releasable6 joined, p6bannerbot sets mode: +v unicodable6, p6bannerbot sets mode: +v releasable6
lizmat m: my @a = ^10; use nqp; my $i := nqp::iterator(nqp::getattr(@a,List,q/$!reified/)); nqp::while($i,nqp::say(nqp::iterval(nqp::shift($i)))) 17:55
camelia This is not an iterator, it's a P6opaque (Scalar)
in block <unit> at <tmp> line 1
lizmat timotimo: ^^^ what am I doing wrong ?
timotimo forgot a decont 17:56
also
i'm not sure nqp::shift($i) returns the iterator itself
17:58 quotable6 joined
lizmat m: my @a = ^10; use nqp; my $i := nqp::iterator(nqp::getattr(@a,List,q/$!reified/)); nqp::while($i,nqp::stmts(nqp::shift($i),nqp::say(~nqp::iterval($i)))) 17:58
camelia 0
1
2
3
4
5
6
7
8
9
lizmat whee 17:59
17:59 p6bannerbot sets mode: +v quotable6
AlexDaniel c: HEAD chdir ā€˜sandboxā€™; run ā€˜wgetā€™, ā€˜gist.githubusercontent.com/bdw/0dd...trunc.nqpā€™ 18:00
committable6 AlexDaniel, gist.github.com/9fc76730444284fcad...221d5f5531
lizmat m: my @a = ^10 .reverse; use nqp; my $i := nqp::iterator(nqp::getattr(@a,List,q/$!reified/)); nqp::while($i,nqp::say(~nqp::shift($i)))
camelia 9
8
7
6
5
4
3
2
1
0
lizmat looks like nqp::shift already returns the next value
AlexDaniel c: HEAD run <nqp-m sandbox/trunc.nqp>
committable6 AlexDaniel, gist.github.com/accf0a11a05cfa166a...e6e6d09e72
timotimo cool 18:01
in that case, it's probably only necessary for hashes
or maybe even in that case you just need iterkey 18:02
18:02 benchable6 joined, p6bannerbot sets mode: +v benchable6
AlexDaniel c: 2018.10 run <nqp-m sandbox/trunc.nqp> 18:02
committable6 AlexDaniel, Ā¦2018.10: Ā«Ā»
AlexDaniel bisect: old=2018.10 run <nqp-m sandbox/trunc.nqp>
bisectable6 AlexDaniel, Bisecting by exit code (old=2018.10 new=86ce4f4). Old exit code: 0 18:03
AlexDaniel hey that was easy?
bisectable6 AlexDaniel, bisect log: gist.github.com/65bb18fee0661dcfb5...18f124e6f8
AlexDaniel, (2018-10-30) github.com/rakudo/rakudo/commit/b8...08b1c37fe8
AlexDaniel c: b8176dc5bf^,b8176dc5bf run <nqp-m sandbox/trunc.nqp>
committable6 AlexDaniel, gist.github.com/92fc2e97799fc869f8...79930c606b
AlexDaniel who was looking for it? dogbert11? timotimo?
timotimo dogbert i think
AlexDaniel brrt?
.tell brrt bisected: colabti.org/irclogger/irclogger_lo...11-17#l196 18:04
yoleaux AlexDaniel: I'll pass your message to brrt.
AlexDaniel is there a ticket for it?
timotimo probably not yet
dogbert11 well that commit does quite a lot :) 18:06
timotimo yeah, we can't really bisect in between bumps yet 18:07
since whateverable builds rakudos up front, and it'd be immense to build them with every in-between commit up front
AlexDaniel no, I almost did it actually
the code started to get very hairy though, so I abandoned my attemptā€¦ 18:08
so yeah, it's not an issue and we can and should do it
someone just has to write some nice code for it :)
btw it's not M Ɨ N Ɨ R, it's just M + N 18:12
as in we don't have to try all combinations, just shift the *_VERSION a bit on bumps 18:13
github.com/perl6/whateverable/issues/40
18:14 bloatable6 joined 18:15 p6bannerbot sets mode: +v bloatable6 18:16 coverable6 joined 18:17 p6bannerbot sets mode: +v coverable6 18:18 greppable6 joined 18:19 p6bannerbot sets mode: +v greppable6 18:20 zakharyas joined, squashable6 joined
dogbert11 holy shit, I think I found it 18:20
18:20 p6bannerbot sets mode: +v zakharyas
lizmat dogbert11++ 18:20
dogbert11 it seems to be this one github.com/MoarVM/MoarVM/commit/2c...2b4b131976
18:21 p6bannerbot sets mode: +v squashable6
dogbert11 haven't done assembler since the 68000 days 18:21
18:21 shareable6 joined
dogbert11 something for nine or brrt or timotimo I guess 18:22
18:22 p6bannerbot sets mode: +v shareable6 18:24 Kaiepi left, zakharyas left 18:25 Kaiepi joined 18:26 p6bannerbot sets mode: +v Kaiepi 18:27 zakharyas joined 18:28 p6bannerbot sets mode: +v zakharyas 18:33 statisfiable6 joined
AlexDaniel I'm very tired today so I'll go to bed soon. See you all tomorrow! 18:33
18:34 p6bannerbot sets mode: +v statisfiable6
lizmat good night, AlexDaniel++ 18:35
18:37 nativecallable6 joined 18:38 p6bannerbot sets mode: +v nativecallable6 18:50 undersightable6 joined 18:51 p6bannerbot sets mode: +v undersightable6
lizmat timotimo samcv did some benchmarks, but any different between an atpos based iterator and one based one nqp::iterator is lost in the noise 19:14
so I'm not going to pursue that atm
(as somehow it also breaks the install process when I do that change) 19:15
19:34 zakharyas left
timotimo OK 19:34
19:35 MasterDuke left 19:41 domidumont left 20:11 lizmat left 20:13 lizmat joined, p6bannerbot sets mode: +v lizmat 21:03 domidumont joined, p6bannerbot sets mode: +v domidumont 21:20 domidumont left 22:35 Kaiepi left, Kaiepi joined 22:36 p6bannerbot sets mode: +v Kaiepi
nine dogbert11: how did you end up with that commit? With the expr JIT disabled brrt++'s testcase works fine. Same when I just comment out the expr JIT template for trunc_i16. 22:37
22:40 patrickb joined
nine dogbert11: now the weird thing is that I think, my lego JIT implementation of trunc_i16 is just as wrong. It does exactly what the expr JIT template claims to do. I think, trunc_i16 should actually be exactly the same as extend_i16. We probably just emit a trunc_i16 in places where we really do use only the lower 16 bits. 22:40
22:40 p6bannerbot sets mode: +v patrickb
dogbert11 hello nine 22:52
there are three files changed in that commit. I took the ones from the provious commit anf copied them to master. Real shady :) 22:54
*previous
I then wiped the rakudo install dir and rebuilt everything 22:56
probably not the best way to go about things 23:00
23:02 patrickb left