github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
00:00 lizmat joined, p6bannerbot sets mode: +v lizmat 00:05 lizmat left 00:23 refi6413 joined 00:24 p6bannerbot sets mode: +v refi6413 00:29 refi6413 left 00:59 sandinmyjoints_ left 01:05 elisiano joined, elisiano left 01:13 nugax_ joined 01:14 p6bannerbot sets mode: +v nugax_ 01:19 nugax_ left 01:26 sveva65 joined 01:29 sveva65 left 01:43 Dewi23 joined, p6bannerbot sets mode: +v Dewi23 01:46 Dewi23 left 01:48 redfish18 joined, gerry66621 joined, p6bannerbot sets mode: +v redfish18 01:53 gerry66621 left, redfish18 left 05:06 sgnorptz joined 05:07 p6bannerbot sets mode: +v sgnorptz 05:11 sgnorptz left 05:16 avar left, avar joined, avar left, avar joined, p6bannerbot sets mode: +v avar 05:17 p6bannerbot sets mode: +v avar 05:27 fake_space_whale left 05:48 avar left, avar joined, avar left, avar joined, p6bannerbot sets mode: +v avar 05:49 p6bannerbot sets mode: +v avar 07:27 micah20 joined, micah20 left 08:01 Dominionionion25 joined 08:02 p6bannerbot sets mode: +v Dominionionion25 08:04 Dominionionion25 left 08:08 domidumont joined 08:09 p6bannerbot sets mode: +v domidumont 08:18 dogbert2 joined, p6bannerbot sets mode: +v dogbert2 08:21 dogbert2_ left 08:37 rdkr11 joined 08:38 p6bannerbot sets mode: +v rdkr11 08:45 rdkr11 left 08:51 Guest30869 joined 08:52 p6bannerbot sets mode: +v Guest30869, ankitpsaraogi joined 08:53 p6bannerbot sets mode: +v ankitpsaraogi, ankitpsaraogi left 08:54 Guest30869 left 09:01 koike14 joined 09:02 p6bannerbot sets mode: +v koike14 09:03 Jaex27 joined 09:04 p6bannerbot sets mode: +v Jaex27 09:06 koike14 left 09:08 Jaex27 left 09:46 Jefe12 joined 09:47 p6bannerbot sets mode: +v Jefe12 09:51 Jefe12 left 10:14 eb0t12 joined, p6bannerbot sets mode: +v eb0t12 10:19 eb0t12 left 10:27 Spydar0070 joined 10:28 p6bannerbot sets mode: +v Spydar0070, Spydar0070 left
Geth MoarVM/master: 12 commits pushed by (Timo Paulssen)++, (Bart Wiegmans)++
review: github.com/MoarVM/MoarVM/compare/9...ef0806464d
11:14
12:17 lizmat joined, p6bannerbot sets mode: +v lizmat
nine Looks like I've come across the first case where I have to change the actual compilation result. The result register kind of an nqp::if depends on the kind of the then and else branches. But I only know those after actually compiling them. So I may have to introduce intermediary registers. 12:24
timotimo nine: alternatively, use istrue_o and then if_i 12:48
spesh does that anyway, but of course if_o results in smaller .moarvm files 12:49
12:52 MasterDuke left
nine How would I use them there? 12:54
13:02 fake_space_whale joined 13:03 p6bannerbot sets mode: +v fake_space_whale 13:08 MinInux joined 13:12 MinInux left
timotimo actually, i'm not entirely sure what problem you're actually edscribing 13:14
i think i might have gotten it wrong
sorry about that
nine The result type of nqp::if($cond, $then) is either the type of $cond if $cond and $then have the same type or just obj. The result type of nqp::if($cond, $then, $else) is either the type of $then if $then and $else have the same type or again just obj. In cases where $cond and $then or $then and $else have different types we also need to coerce the result to obj. 13:18
My problem is that I only know the result type of $else after compiling it. So I don't know whether I need a coercer or not.
timotimo oh! 13:19
because the blocks return their result
i was thinking of the underlying bytecode %)
jnthn Also I think there's a void handling where the return values don't matter 13:28
nine There is, yes. Which doesn't exactly make the code easier to digest ;) 13:29
13:29 ZzZombo left 13:30 ZzZombo joined, p6bannerbot sets mode: +v ZzZombo
nine So I need an intermediary register for $then and coercion code which I emit after the $else and a goto in $else to jump over the $then coercer 13:30
jnthn Yeah, but the void context things have quite some nice performance impacts :) 13:32
13:48 robertle left 13:55 robertle joined 13:56 p6bannerbot sets mode: +v robertle 13:58 ZzZombo_ joined, p6bannerbot sets mode: +v ZzZombo_ 14:01 ZzZombo left, ZzZombo_ is now known as ZzZombo 14:12 Voldenet left 14:17 Voldenet joined, Voldenet left, Voldenet joined, p6bannerbot sets mode: +v Voldenet 14:18 p6bannerbot sets mode: +v Voldenet 14:39 robotbill24 joined, p6bannerbot sets mode: +v robotbill24 14:47 robotbill24 left 15:17 evrardjp17 joined 15:22 evrardjp17 left 15:49 Guest56189 joined 15:50 Guest56189 left 16:04 ggoebel joined, p6bannerbot sets mode: +v ggoebel 16:19 AlexDaniel left 16:20 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel 16:24 AlexDaniel left, AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel, AlexDaniel left 16:25 lizmat left
nine This whole if/then/else thing sucks enough to make me consider compiling into a separate bytecode buffer again 16:42
16:43 Maistho3 joined 16:44 p6bannerbot sets mode: +v Maistho3, Maistho3 left 16:45 MasterDuke joined, p6bannerbot sets mode: +v MasterDuke, MasterDuke left, MasterDuke joined, herbert.freenode.net sets mode: +v MasterDuke, p6bannerbot sets mode: +v MasterDuke 16:49 Enlik17 joined, p6bannerbot sets mode: +v Enlik17 16:52 Enlik17 left 16:53 highhopes joined 16:54 p6bannerbot sets mode: +v highhopes 16:56 highhopes left
nine Buuut....since I'm thinking of fixing up things afterwards already, would it be possible to fix up the register kind? That's really all that's dependent on the op's children. 16:58
Of course that's not enough, since I also would need the coercing code 17:02
Geth MoarVM: jstuder-gh++ created pull request #976:
Exprjit Templates (09/20/18)
17:35
MasterDuke .ask brrt for function calls in templates, would there ever be anything in the arglist other than cargs? if not, would it makes to try and remove some of that boilerplate? 17:49
yoleaux MasterDuke: I'll pass your message to brrt.
17:52 lizmat joined, p6bannerbot sets mode: +v lizmat 18:13 ArchDuke joined 18:14 ArchDuke left 18:52 domidumont left 19:30 patrimpas joined, p6bannerbot sets mode: +v patrimpas 19:35 patrimpas left 19:55 johskar15 joined, johskar15 left 20:11 bviktor joined
Geth MoarVM: e21836856f | (Samantha McVey)++ | 2 files
Fix some printf format type specifiers

Fix two in main.c that were causing warnings on clang. Fix some others that were not giving warnings, but should have been specified as unsigned, though they should never become big enough for that to actually matter.
20:12
20:14 bviktor left
Geth MoarVM: jstuder-gh++ created pull request #977:
Implement shift ops for exprjit
20:26
20:30 Guest84395 joined 20:31 p6bannerbot sets mode: +v Guest84395 20:37 Guest84395 left 20:43 robertle left 20:55 lrvick21 joined, p6bannerbot sets mode: +v lrvick21 20:56 CEnnis9110 joined 20:57 AlexDaniel joined, p6bannerbot sets mode: +v AlexDaniel, CEnnis9110 left 20:59 lrvick21 left 21:30 oCorvo joined 21:31 p6bannerbot sets mode: +v oCorvo 21:33 oCorvo left 21:46 admiralspark8 joined 21:47 p6bannerbot sets mode: +v admiralspark8 21:49 admiralspark8 left
samcv what is this? JIT ERROR: Negative offset for dynamic label 8 21:59
it occured when i tried to call a method that doesn't exist for that type 22:00
No such method 'base' for invocant of type 'Str'. Did you mean any of these?
timotimo well, that's pretty bad 22:04
jnthn Looks like a "the impossible happened" kind of error... 22:05
Can check if it's expr-JIT sensitive with MVM_JIT_EXPR_DISABLE=1 22:06
22:13 sandinmyjoints_ joined, p6bannerbot sets mode: +v sandinmyjoints_ 22:14 sandinmyjoints__ joined, p6bannerbot sets mode: +v sandinmyjoints__
samcv sec 22:16
jnthn: yeah that gets rid of the error
code in question:
m: for <PRIMARY SECONDARY TERTIARY> { say 0x385.uniprop("MVM_COLLATION$_".base(16)) }
camelia No such method 'base' for invocant of type 'Str'. Did you mean any of these?
Hash
asec
hash
take

in block <unit> at <tmp> line 1
samcv working on updating us to unicode 11 22:17
jnthn samcv++ 22:20
timotimo cool 22:22
samcv i'm glad there was nothing wrong with the collation, it just had a minor issue regenerating the file. because diving into that would be a huge pain
jnthn Looks like some grapheme clustering changes, alas. 22:24
samcv i'm still amazed at how well it works. and there's only one function which looks a bit ugly
jnthn: yep
i have that fixed afaik already
jnthn Though from the glimpse I took at it, it looked like it might just be a simpliciation.
timotimo imgur.com/sW017ei - super crappy early look at my current task
jnthn But maybe I'm just being an optimist :)
samcv yeah i had to change some things
jnthn NaN% :D 22:25
samcv it *did* make it simpler. my hours of time wasted! now i have to get rid of my code to workaround "should not break within emoji (you may have to modify these rules)"
timotimo yeah, the columns will be replaced by allocation-related columns
samcv something to that effect. i remember i thought the language used was humorous
Further customization of this rule may be necessary for best behavior of emoji zwj sequences [UTS51] 22:26
that's it
jnthn hah, I loved that...
Might as well have said "Good luck with this!"
timotimo can zwj become the new ffs ...
samcv ffs?
timotimo for f's sake
samcv ah that's what i guessed but
wasn't 100% sure 22:27
timotimo just make zwj an expletive
doesn't even matter what you invent for the expanded version
jnthn: you don't happen to have another blog post just about ready to release? :D 22:33
jnthn No, 'fraid not :) 22:37
Didn't decide what the next one will be about yet :)
timotimo that's fair 22:38
22:46 wloncom3 joined 22:50 wloncom3 left
jnthn sleep & 22:57
evalable6 Use of uninitialized value of type Callable in numeric context
in block <unit> at /tmp/9…
jnthn, Full output: gist.github.com/7dc88ddf9678d1d4fb...bd97ca4afb
geekosaur .oO { bottle it, stupid bot } 22:58
22:58 evidlo26 joined
timotimo %) 22:58
22:59 p6bannerbot sets mode: +v evidlo26 23:03 evidlo26 left 23:05 n9nes joined, n9nes left 23:23 MrElendig29 joined 23:24 p6bannerbot sets mode: +v MrElendig29, MrElendig29 left 23:32 avar left, avar joined, avar left, avar joined, p6bannerbot sets mode: +v avar 23:33 p6bannerbot sets mode: +v avar