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
|