github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
00:01 leont left 00:09 Kaiepi left, leont joined 00:10 p6bannerbot sets mode: +v leont 00:11 Kaiepi joined 00:12 p6bannerbot sets mode: +v Kaiepi 00:21 leont left 00:32 Kaypie joined, Kaiepi left 00:33 p6bannerbot sets mode: +v Kaypie 00:56 Kaypie left, Kaypie joined 00:57 p6bannerbot sets mode: +v Kaypie 02:13 statisfiable6 left, notable6 left, unicodable6 left, releasable6 left, bisectable6 left, nativecallable6 left, squashable6 left, undersightable6 left, bloatable6 left, committable6 left, greppable6 left, reportable6 left, shareable6 left, coverable6 left, evalable6 left, quotable6 left, benchable6 left 02:14 notable6 joined, benchable6 joined, coverable6 joined, p6bannerbot sets mode: +v notable6 02:15 releasable6 joined, p6bannerbot sets mode: +v benchable6, reportable6 joined, p6bannerbot sets mode: +v coverable6, p6bannerbot sets mode: +v releasable6, undersightable6 joined, bisectable6 joined 02:16 p6bannerbot sets mode: +v reportable6, evalable6 joined, p6bannerbot sets mode: +v undersightable6, p6bannerbot sets mode: +v bisectable6 02:17 p6bannerbot sets mode: +v evalable6, unicodable6 joined, statisfiable6 joined, greppable6 joined, bloatable6 joined, committable6 joined, shareable6 joined, p6bannerbot sets mode: +v unicodable6, p6bannerbot sets mode: +v statisfiable6 02:18 p6bannerbot sets mode: +v greppable6, quotable6 joined, nativecallable6 joined, p6bannerbot sets mode: +v bloatable6, squashable6 joined, p6bannerbot sets mode: +v committable6, p6bannerbot sets mode: +v shareable6 02:19 lizmat left, p6bannerbot sets mode: +v quotable6, p6bannerbot sets mode: +v nativecallable6, p6bannerbot sets mode: +v squashable6 02:20 MasterDuke left 02:29 Kaypie left 02:30 Kaypie joined 02:31 p6bannerbot sets mode: +v Kaypie 03:20 Kaypie left 03:21 Kaypie joined, p6bannerbot sets mode: +v Kaypie 06:29 domidumont joined 06:30 p6bannerbot sets mode: +v domidumont 06:32 domidumont left 06:48 domidumont joined 06:49 p6bannerbot sets mode: +v domidumont 08:00 lizmat joined, p6bannerbot sets mode: +v lizmat 08:05 robertle joined, p6bannerbot sets mode: +v robertle 08:21 Kaypie left, Kaypie joined 08:22 p6bannerbot sets mode: +v Kaypie 08:56 Kaypie left 08:58 Kaiepi joined, p6bannerbot sets mode: +v Kaiepi 09:18 zakharyas joined, p6bannerbot sets mode: +v zakharyas 09:33 nine left 09:35 nine joined, p6bannerbot sets mode: +v nine 09:46 nine left 09:49 nine joined 09:50 p6bannerbot sets mode: +v nine 09:52 camelia joined 09:53 p6bannerbot sets mode: +v camelia 10:07 AlexDani` joined 10:08 p6bannerbot sets mode: +v AlexDani` 10:12 AlexDaniel left
Geth MoarVM: d40bac9f0a | (Jeremy Studer)++ (committed by Bart Wiegmans) | src/jit/x64/emit.dasc
Use arithmetic right shift in JIT of brshift_i

The arithmetic right shift will preserve the sign of the integer by ensuring that new bits shifted in match the initial sign bit.
10:20
MoarVM: 0c2b13a233 | (Jeremy Studer)++ (committed by Bart Wiegmans) | 6 files
Add exprjit integer multiplication op

  +1 template
Only adding a tile that takes two registers for now, as that is the only way the op is being used currently.
10:22
MoarVM: 43c5cd4aa7 | (Jeremy Studer)++ (committed by Bart Wiegmans) | docs/jit/overview.org
Add mul exprjit op to documentation
10:27 brrt joined 10:28 p6bannerbot sets mode: +v brrt
brrt good * 10:28
I've taken it on myself to start merging or closing branches
lizmat brrt++ 10:30
timotimo that's brave 10:40
releasable6: status 10:41
releasable6 timotimo, Next release will happen when it's ready. 2 blockers. 80 out of 169 commits logged (āš  1 warnings)
timotimo, Details: gist.github.com/10352423573b198456...cb19a6d392
AlexDani` brave indeed :D 10:50
10:50 AlexDani` is now known as AlexDaniel
dogbert11 what cool features/opts will these branches add? 11:03
11:14 domidumont left
brrt meh, I just let everyone panic when it's broken again 11:28
:-D
in seriousness, we should probably want a not-too-large backlog of PRs
timotimo true, i've made a couple in the recent past, too, that should probably be merged, dropped, or re-done 11:29
brrt yes 11:31
github.com/MoarVM/MoarVM/pull/979 - this one 11:32
Geth MoarVM/master: 5 commits pushed by (Jeremy Studer)++, (Bart Wiegmans)++ 11:39
timotimo that's on hold until our post-inlining optimization pass can be replaced by the regular one 11:43
nine brrt: do you have an idea what was wrong with these? github.com/MoarVM/MoarVM/commit/db...7ab57a1615 11:44
brrt nope, not me 11:45
I feel like that should be safe
11:46 Kaiepi left
brrt maybe it's to do with the extend / trunc business 11:46
as in, they may not be wrong per se, but they may expose wrongness in how we handle truncation and extending
I don't know. I'm theorizing
nine: do you have an example of what was going wrong with them? 11:53
nine brrt: you may be right. I've reverted my patch and am building rakudo currently. So far no issue. I remember compilation breaking with those templates present. 11:54
brrt here's hoping it works 11:59
nine Looking good :) 12:02
brrt \o/ 12:04
12:11 zakharyas left 12:38 leont joined 12:39 p6bannerbot sets mode: +v leont 12:50 leont left 13:01 domidumont joined 13:02 p6bannerbot sets mode: +v domidumont, brrt left
Geth MoarVM: 8c67e1697e | (Stefan Seifert)++ | src/jit/core_templates.expr
Revert "Remove broken expr JIT templates"

This reverts commit db23381f695d5e477052d0973ed1107ab57a1615.
Apparently these templates were actually victims - probably of the broken trunc templates.
13:14
13:25 Ven`` joined 13:26 p6bannerbot sets mode: +v Ven`` 13:28 brrt joined 13:29 p6bannerbot sets mode: +v brrt 13:43 zakharyas joined, p6bannerbot sets mode: +v zakharyas 13:45 Ven`` left 13:59 brrt left
timotimo here's an interesting thing 14:01
timing-attack resistant string comparison
hm, we might be able to do that with eqat
lizmat nine: does the revert imply that we have a borked Moar on master Rakudo ? 14:14
dogbert11 using some trickery it was finally possible to repro the 'Deuplicate label' bug, this time on a 64 bit system 14:23
looks like this: gist.github.com/dogbert17/c42ad0f8...3bda3e3ce5 14:24
14:32 domidumont1 joined 14:33 p6bannerbot sets mode: +v domidumont1 14:36 domidumont left 14:55 Ven`` joined, p6bannerbot sets mode: +v Ven`` 15:49 Ven`` left 15:54 Ven`` joined 15:55 p6bannerbot sets mode: +v Ven`` 16:13 domidumont1 left 16:24 robertle left 17:11 robertle joined 17:12 p6bannerbot sets mode: +v robertle 17:41 Ven`` left 17:52 leont joined, p6bannerbot sets mode: +v leont 17:58 Ven`` joined 17:59 p6bannerbot sets mode: +v Ven`` 18:04 Ven`` left 18:19 domidumont joined, p6bannerbot sets mode: +v domidumont 19:03 zakharyas left 19:55 Ven`` joined 19:56 p6bannerbot sets mode: +v Ven`` 19:59 Ven`` left 20:26 domidumont left 20:38 robertle left 21:13 brrt joined 21:14 p6bannerbot sets mode: +v brrt
brrt \o 21:19
any big fallout from my recent merges?
lizmat no spectest fallout, even without nine's revert 21:25
brrt :-) 21:34
that's good to hear
I'm thinking of buying a new laptop. Any advice? 21:35
It's not going to be a macbook
jnthn Are there laptops other than macbooks and thinkpads? :P
lizmat brrt: I have no idea...
timotimo i've been drooling over the google pixel slate, but it's not available in germany, and possibly not in the netherlands either, and i'm not sure if it's the kind you would want 21:37
jnthn I guess by now nearly everything is SSD, and the only other advice is "no, the amount of RAM you think is enough never will be" :)
timotimo oh yes, get 32 gigs, or you'll regret it
well, ok, i'm currently stuck with 4 gigs, so even 8 would be a relief ... 21:38
lizmat is stuck at 16G :-) 21:40
brrt thinkpads are kind of expensive... 21:41
most laptops are still 8G
timotimo do you have any specific requirements? like, if you want to do cuda/openCL/machine learning you'll definitely want a discrete gpu in there, but probably not :) 21:44
brrt I have a project for which I want to apply some machine learning... but I don't want to have to install nvidia drivers 21:47
timotimo i guess that's fair 21:48
can always rent a gpu vm somewhere
brrt i need a bunch of memory for java work that I'm doing 21:49
I'm always oscillating between 'java makes sense and is alright' and 'I hate everything about java'
for instance, much of the JVM is sanely designed
Actually, the only real problem I have is that people treat it like a nicer C++, whereas it's really a less-nice perl that runs a bit faster 21:50
timotimo i've got a 2d cellular automaton piece of code that currently just replaces each cell's value with the value of the cell to the bottom-right of it, and that gives me between 75 and 115 frames per second for a 320x240 cells grid (including rendering) 21:51
brrt is that perl6?
timotimo yes 21:52
brrt that's not so bad
timotimo otherwise it'd be a lot faster ;)
brrt hehehehe
timotimo also, it's rather verbose code
now i want to have "for every row, change which direction it takes the value from)
s/\)$/"/
but the "super clever way" didn't do it :|
brrt I sometimes wonder, in a very unofficial capacity at that, what a vm would look like that was designed to use a JIT from the ground up 21:53
things I'd do:
- have an assembly-language intepreter
timotimo oh lord
this is amazing
brrt - have much smaller string ops, and put much more responsibility on the caller for their usability
btw, what's the super clever way 21:54
timotimo my $interested := ($up-left, $up-mid, $up-right, ...).pick
i had to use my $interested := ($up-left, $up-mid, $up-right, ...)[^8 .pick] instead
that could perhaps be considered a bug 21:55
that it deconts somewhere in there
brrt the reason an assembly-language inteprreter is nice is that it allows you to sync the representation for the JIT and the interpreter
which is otherwise really hard
timotimo uploading a gif right now 21:56
i.imgur.com/pvsQLPg.gifv 21:57
22:00 dogbert21 joined, p6bannerbot sets mode: +v dogbert21 22:02 dogbert2_ left
brrt that's pretty cool 22:07
timotimo i've just made it cooler, but also surprised myself 22:08
i.imgur.com/N6PUFa4.gifv 22:10
oh, i know what's going wrong 22:11
since i'm immediately rewriting the current cell's value, if things are trying to move down-right, they'll just immediately always read the earlier value and it just propagates through the entire cell 22:13
same with downwards or rightwards
i'll have to double-buffer these rows
uploading the workingv ersion 22:28
i.imgur.com/uy3Kves.gifv 22:37
i forgot to actually put the link here
22:37 brrt left
timotimo cool, pulling that list of variables out of the loop makes it a bunch faster, even though it only does it every 80 rows * columns 23:15
not an absolute bunch
just a little bunch
removing the printing of time for both steps made it faster, or at least it feels like it 23:55
a "perf record" for some reason outputs a whole lot of MVM_interp_run 23:56