Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2018-01-01

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:00 buggable 🎺🎺🎺 It's time for the monthly Accidental /win Lottery 😍😍😍 We have 1 ballots submitted by 1 users! DRUM ROLL PLEASE!...
00:00 buggable And the winning number is 99! Congratulations to samcv! You win a can of WD40!
00:01 timotimo congrats, samcv
00:01 timotimo btw, can we allow surrogate pairs in our utf8 encoder so i can support json properly in json::fast? ;_;
00:01 samcv woah
00:01 samcv \o/
00:01 samcv at least i have won something on my vacation
00:12 Ven`` joined #moarvm
00:32 Ven`` joined #moarvm
00:38 timotimo actually, scratch that, i should encode it as two \uXXXX escapes instead
00:38 timotimo not sure what i was thinking there
00:44 timotimo wowza, my test suite already contains a test where the combiner that is on a outside-16bit-character is itself an outside-16bit-character
00:49 timotimo (it's a flag thingie i believe?)
00:57 timotimo m: say "\c[REGIONAL INDICATOR SYMBOL LETTER H]" ~~ /<[\x[1000]..\x[10FFFF]]>/
00:57 camelia rakudo-moar e5b4f37f1: OUTPUT: «「🇭」␤»
00:57 timotimo m: say "\c[REGIONAL INDICATOR SYMBOL LETTER H, REGIONAL INDICATOR SYMBOL LETTER R]" ~~ /<[\x[1000]..\x[10FFFF]]>/
00:57 camelia rakudo-moar e5b4f37f1: OUTPUT: «Nil␤»
00:57 timotimo i beg your pardon?
01:00 timotimo m: say "\c[REGIONAL INDICATOR SYMBOL LETTER H, REGIONAL INDICATOR SYMBOL LETTER R]" ~~ /<[\x[0]..\x[10FFFFF]]>/
01:00 camelia rakudo-moar e5b4f37f1: OUTPUT: «Nil␤»
01:00 timotimo surely there's a bug here
01:09 timotimo m: say "\c[REGIONAL INDICATOR SYMBOL LETTER H, REGIONAL INDICATOR SYMBOL LETTER R]" ~~ /:m <[\x[1000]..\x[10FFFFF]]>/
01:09 camelia rakudo-moar e5b4f37f1: OUTPUT: «「🇭🇷」␤»
01:09 Ven`` joined #moarvm
02:29 Zoffix joined #moarvm
02:59 ilbot3 joined #moarvm
02:59 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
03:46 Ven`` joined #moarvm
04:11 Kaiepi joined #moarvm
06:59 piojo_ joined #moarvm
07:33 piojo_ joined #moarvm
08:08 piojo_ joined #moarvm
08:51 geospeck joined #moarvm
09:40 committable6 joined #moarvm
09:59 domidumont joined #moarvm
10:24 domidumont joined #moarvm
11:03 Zoffix left #moarvm
11:04 piojo_ joined #moarvm
11:09 domidumont joined #moarvm
11:35 nine New year, new chance to get inline_in_place up and running.
11:36 nine What I've found out so far: NQP's build fails with "compunitcodes requires an MVMCompUnit". That's apparently caused by exists_stage getting inlined into compile in HLL::Compiler.
11:37 nine exists_stage seems to be one of the few methods that use an explicit "return" instruction even in normal control flow (incidentally, "compile" is another one).
11:39 nine This raises suspicion about throwpayloadlex or more concrete search_for_handler_from. If that finds the wrong handler, the mysteriously wrong return value of "compile" could be explained.
12:16 nine Actually I shouldn't be surprised about that. After all I still append the inlinee's handlers to the handlers table. So they are gonna be searched last. Which in turn means that the caller's handlers will be found instead.
12:33 piojo_ joined #moarvm
13:09 statisfiable6 joined #moarvm
13:11 nativecallable6 joined #moarvm
13:30 jnthn nine: Did you rebase your work on HEAD, 'cus towards the end of the year I reworked a bunch of exception handler + inlining stuff?
13:33 nine jnthn: yes, that's where this new issue comes from. I already strongly suspected a handler issue but forgot most of that during my month long not entirely voluntary programming hiatus.
13:34 nine But at least I'm now sure about which code exactly gets broken. That reduces the search space considerably.
13:35 nine I'm currently investigating whether it's possible to retain the current "copy and extend the handlers table" scheme.
13:38 nine That would e.g. be possible by searching the handlers table in reverse, retaining the latest found matching handler and on encountering an MVM_EX_INLINE_BOUNDARY returning that match.
13:40 jnthn It should be possible, with the introduction of the MVM_EX_INLINE_BOUNDARY thing
13:41 jnthn I guess you removed the "duplicate the caller's handlers" thing?
13:42 nine Actually not yet
13:45 nine I assume those are currently just redundant and won't hurt. So it seems safer to fix the "finding wrong handler" issue first and getting to a stable base before changing that code.
13:49 jnthn Perhaps so, yes.
13:49 jnthn Just wondering if they could interfere in some way, but can't immediately think of one.
13:49 jnthn Glad to see you back working on this, anyways. nine++ :)
14:07 geospeck joined #moarvm
15:36 nine Just reversing the search order really messes up all the skip logic
15:42 releasable6 joined #moarvm
15:45 jnthn Reversing the search order makes no sense to me; the point of the search is to find the innermost handler.
15:47 nine Well the idea was that as inlined handlers are appended to the table, a reverse search would find them first. It's of course more complicated than that because we want to find the _first_ innermost handler. So we need to continue to search until we hit the MVM_EX_INLINE_BOUNDARY.
15:48 nine Err....does the MVM_EX_INLINE_BOUNDARY mark the start or the end of an inlinee??
15:53 jnthn Oh...I see the issue, because there was no overlap before appending them was fine. I guess maybe we need to prepend them now.
15:53 jnthn It marks the end of it
15:53 jnthn Effectively, the boundary
15:54 jnthn The commit introducing it had some explanatory comments, if you didn't already see them
15:56 nine Actually the explanations are in the comments above the code :)
15:58 nine And I have no idea why I completely ignored this: "Upon reaching an (or, in the case of skip_first_inline, a second) inline boundary indicator, there are two cases that apply. We take the inline that we are leaving"
15:58 nine It doesn't get much more explicit than that and should leave no doubt as to what a boundary marks
16:09 nine Prepending the handlers is where I get to deal with outdated handler index annotations all over the place, isn't it?
16:17 jnthn Oh, right, yes.
16:18 jnthn I guess that is why I appended them ;) But it shouldn't be too hard to go through and bump
16:19 jnthn In fact, it's just a change of tweakery: now we have to bump the inlinee's indexes, we'd instead now bump the inliner's indexes
16:19 jnthn So there should already be code doing this than can be repurposed
16:19 jnthn Take care of updating the dead handlers table also, if there are any
16:19 jnthn Gotta go for a bit, bbl
16:21 domidumont joined #moarvm
16:23 Ven`` joined #moarvm
16:25 geospeck joined #moarvm
16:48 geospeck joined #moarvm
16:57 squashable6 joined #moarvm
16:57 reportable6 joined #moarvm
16:57 zakharyas joined #moarvm
16:59 Ven`` joined #moarvm
17:22 bloatable6 joined #moarvm
17:22 coverable6 joined #moarvm
17:22 benchable6 joined #moarvm
17:39 bisectable6 joined #moarvm
17:54 geospeck joined #moarvm
18:11 Kaiepi joined #moarvm
18:14 MasterDuke joined #moarvm
18:34 quotable6 joined #moarvm
18:34 releasable6 joined #moarvm
18:34 squashable6 joined #moarvm
18:34 benchable6 joined #moarvm
18:34 bloatable6 joined #moarvm
18:37 AlexDaniel squashable6: next
18:37 squashable6 AlexDaniel, ⚠🍕 Next SQUASHathon in 3 days and ≈15 hours (2018-01-06 UTC-12⌁UTC+14). See https://github.com/rakudo/rakudo/wiki/Monthly-Bug-Squash-Day
18:48 zakharyas joined #moarvm
19:04 zakharyas joined #moarvm
19:07 unicodable6 joined #moarvm
19:18 Kaiepi joined #moarvm
19:24 Kaiepi joined #moarvm
19:39 greppable6 joined #moarvm
19:40 Geth ¦ MoarVM: MasterDuke17++ created pull request #773: Use FSA for string storage
19:40 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/pull/773
20:46 geospeck joined #moarvm
20:58 evalable6 joined #moarvm
21:30 Kaiepi joined #moarvm
22:01 leont joined #moarvm
22:02 lizmat and another Perl 6 Weekly hits the Net: https://p6weekly.wordpress.com/2018/01/01/2018-01-perl-6-alerts/
23:45 quotable6 joined #moarvm

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary