github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
01:12 Kaiepi joined 01:32 nwc10 left 02:58 lizmat left
Geth MoarVM: Kaiepi++ created pull request #886:
Implement JIT templates for 10 ops (27/06/18) (WIP)
04:28
05:00 Kaiepi left 05:06 Kaiepi joined 05:17 lizmat joined 05:23 AlexDaniel left, AlexDaniel joined
Kaiepi does p6doc -f grep segfault for anyone else on the latest moar? 05:24
05:33 MasterDuke left
Kaiepi nvm, worked out which commit was causing it 05:34
Geth MoarVM: Kaiepi++ created pull request #888:
Fix Configure.pl version detection
05:39
05:51 brrt joined 06:20 nwc10 joined
brrt Kaiepi: reviewed your fixes. thanks for adding them, they need minor work 06:22
Kaiepi aight 06:25
07:08 brrt left 07:36 domidumont joined 07:41 domidumont left, robertle_ joined, domidumont joined 08:02 lizmat left 08:09 AlexDaniel left, zakharyas joined 08:20 lizmat joined 08:23 zakharyas left 08:34 domidumont left 08:43 domidumont joined 08:45 zakharyas joined 09:03 brrt joined
jnthn brrt++ 09:10
Will merge that later today; got some other stuff to take care of first
brrt awesome 09:33
10:05 domidumont left 10:27 Kaypie joined, Kaiepi left 10:41 Merfont joined, Kaypie left 10:43 brrt left 10:49 brrt joined 10:56 ilogger2 joined 12:18 ggoebel joined 12:59 zakharyas joined 13:36 AlexDaniel joined 14:55 domidumont joined 15:01 brrt joined 15:03 domidumont left 16:23 synopsebot joined 16:37 domidumont joined 16:44 Kaiepi joined
brrt Kaiepi: there's a bunch of bugs I spotted in your PR 16:52
I hope my description of them is clear
Kaiepi it is 16:55
17:01 brrt left 17:14 zakharyas left 17:45 brrt joined
samcv brrt: does expr jit have bitshifft ops? 17:49
i wanted to jit abs_i but i'm not sure how because of that
Geth MoarVM: 4dcea89158 | (Samantha McVey)++ | src/jit/core_templates.expr
Add expr jit template for rand_i
17:50
samcv also curious if it lets me have a temporary integer variable since that needs it
brrt doesn't have it yet, i think. want to know how to add them? ;-) 17:51
samcv yes!
Geth MoarVM: e3f60b6502 | (Samantha McVey)++ | src/core/interp.c
Make the abs_i op more readable in interp.c

Since one of the created variables relies on the other, it's confusing when they are both declared on the same line (with the comma).
Put them on two lines so it's easier to read.
17:52
18:02 Kaiepi left, Kaiepi joined
brrt okay, so, three step process. let me get the right things in place 18:03
first, open src/jit/expr_ops.h
there's a macro-defined list in there. the details aren't all that important now, it's a cute trick I picked up from LuaJIT 18:04
you'll see a bunch of statements like '_(AND, 2, 0, REG, UNSIGNED),'
there, you'll need to add some name, like 'SHIFTLEFT' or 'SHIFT_RIGHT', or something that makes sense to you 18:05
timotimo shrixtyfour 18:06
18:07 travis-ci joined
travis-ci MoarVM build passed. Samantha McVey 'Add expr jit template for rand_i' 18:07
travis-ci.org/MoarVM/MoarVM/builds/397459565 github.com/MoarVM/MoarVM/compare/9...cea89158a5
18:07 travis-ci left
brrt ą² _ą²  18:10
timotimo you know, shift right, integer, sixtyfour bits 18:11
samcv shrixtyfour :P haha 18:12
brrt that is so java :-P
timotimo oh, you mean like ShiftRightIntegerFactory::forSixtyFourBits?
samcv woah there 18:13
brrt no, ishiftr_1
samcv: where?
timotimo iShiftr 2.0 Beta
sounds very hipster webservicy
brrt shift-right.js 18:14
anyway
18:14 Kaiepi left
timotimo docker pull rightshift:latest 18:14
samcv ishftr.js/10/5 will shift 10 right by 5
it will be a very important server. though probably we can do it with JSOn request instead
18:15 Kaiepi joined
samcv and call out to that url when doing the expr jit op 18:15
brrt ishfrt.js/v2/10/5.json
:-D
timotimo we already have messagepack bundled with moarvm 18:16
that format is much more efficient
18:16 travis-ci joined
travis-ci MoarVM build passed. Samantha McVey 'Make the abs_i op more readable in interp.c 18:16
travis-ci.org/MoarVM/MoarVM/builds/397460335 github.com/MoarVM/MoarVM/compare/4...f60b6502b4
18:16 travis-ci left
brrt It is somewhat more efficient, but when I measured (admittedly years ago) the difference was not quite shocking 18:17
Sereal is pretty good
anyway
samcv: first item is name, second item is number of arguments, third item is number of parameters, fourth item is the 'type' of the result, first item is what-to-do-with-size-difference flag 18:18
samcv ok 18:20
brrt for a left shift operator, that'd be something like _(SHL, 2, 0, REG, UNSIGNED) 18:24
samcv brrt: basically i'm adding abs_i. i need a temp variable. how do i do that 18:44
timotimo with let?
brrt uh, lemme see
samcv ok well i fixed my gradle issue. it wasn't gradle but the file too long error was because some commands in my shell function were printing to stdout which made it be the return value of the function 18:45
brrt hehe
yes, let will work in this case (abs_i) 18:46
samcv idk maybe easier to multiply it by -1 if the number is negative
than doing all this work :P
haha
not as efficient though
brrt not sure if i've implemented multiply already 18:47
samcv heh
what about negation of an integer?
brrt hmm. not sure about that either 18:49
funnily enough, not really a common operation
easy enough to do
anyway, once i'm done with the guide, you'll be able to add them in no time
19:03 lizmat joined
Geth MoarVM: 411f73fdce | (Bart Wiegmans)++ | docs/jit/how-to-add-an-missing-expression-operator.org
[Docs] Add JIT documentation describing how to add a tile

Per samcv++'s request, this is how you add a new tile.
19:13
brrt i hope that's enough to help you on your way 19:14
19:19 brrt left
samcv thanks :) 19:22
19:35 domidumont left 19:39 brrt joined 19:41 brrt left 20:05 ggoebel left 20:20 ggoebel joined 20:43 brrt joined
lizmat I wonder if jnthn could give a good explanation of MoarVM's JIT to news.ycombinator.com/item?id=17411393 21:45
21:55 brrt left 22:41 MasterDuke joined
jnthn lizmat: Not sure what I could really add there, or if it's even on topic. "A similar issue occurs in any dynamic language (JavaScript, Lua, Perl, etc) that uses generic dictionaries for assigning and loading functions." But Perl 6 doesn't have that situation; it's design carefully sticks methods in a different place than the package Stash, so they're not stored in our generic Hash data structure. 22:43
yoleaux 14:59Z <lizmat> jnthn: could you please have a look at GH #1959
jnthn R #1959 22:44
R#1959
synopsebot R#1959 [open]: github.com/rakudo/rakudo/issues/1959 Empty set()/bag()/mix() do not return a unique object
jnthn oh, that was asked a while ago, and I commented on it since then :)
23:59 lizmat left