github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
00:59
shareable6 joined,
p6bannerbot sets mode: +v shareable6
01:50
MasterDuke left
01:58
MasterDuke joined,
p6bannerbot sets mode: +v MasterDuke,
MasterDuke left,
MasterDuke joined,
herbert.freenode.net sets mode: +v MasterDuke,
p6bannerbot sets mode: +v MasterDuke
02:54
disi joined
02:55
disi is now known as Guest68038,
p6bannerbot sets mode: +v Guest68038
02:59
Guest68038 left
04:58
FuzzySockets joined
05:00
FuzzySockets left
05:12
Ben6426 joined
05:13
Ben6426 left
05:29
brrt joined
05:30
p6bannerbot sets mode: +v brrt
05:51
greppable6 joined
05:52
p6bannerbot sets mode: +v greppable6
05:55
lizmat left
06:27
Sharker joined,
Sharker left
|
|||
brrt | \o | 06:28 | |
06:30
lizmat joined
|
|||
brrt | .tell jnthn i'll have a look at the gist | 06:31 | |
yoleaux | brrt: I'll pass your message to jnthn. | ||
07:02
TehNut joined
07:06
TehNut left
07:45
zakharyas joined,
p6bannerbot sets mode: +v zakharyas
07:49
lizmat left
08:04
zakharyas left
08:05
zakharyas joined
08:06
p6bannerbot sets mode: +v zakharyas
08:14
GigabytePro12 joined,
p6bannerbot sets mode: +v GigabytePro12
08:16
GigabytePro12 left
08:22
norkle27 joined
08:23
p6bannerbot sets mode: +v norkle27
08:27
LambdaComplex21 joined
08:28
p6bannerbot sets mode: +v LambdaComplex21,
LambdaComplex21 left
08:30
norkle27 left
08:48
macky joined
08:49
p6bannerbot sets mode: +v macky,
macky left
08:52
ZzZombo joined,
p6bannerbot sets mode: +v ZzZombo
|
|||
samcv | timotimo: did the slides show up properly with that link? | 08:57 | |
09:00
brrt left
09:05
zakharyas left,
zakharyas joined
09:06
p6bannerbot sets mode: +v zakharyas
09:07
sophiya joined
09:08
p6bannerbot sets mode: +v sophiya,
sophiya left
|
|||
nine | Seems to me that having a release branch and keeping master open for development would be the better strategy overall. That way we can keep the normal development workflow with feature branches and don't have to rely on all involved people to know not to push to master. So in essence, people wouldn't have to know or care about the release process unless they really want to get a fix into the release - which | 09:28 | |
yoleaux | 15 Aug 2018 16:40Z <brrt> nine: that's an interesting case for the jit optimizer... I want to make it so that we can use spesh facts that correspond to nodes | ||
nine | seems to be the exception anyway. | ||
09:29
L2358 joined
09:30
p6bannerbot sets mode: +v L2358,
L2358 left
09:39
L0j1k21 joined
09:40
L0j1k21 left
|
|||
Geth | MoarVM/postrelease-opts: e6104a7d01 | (Jonathan Worthington)++ | src/jit/x64/emit.dasc Use mov64 to load a pointer; brrt++ |
09:43 | |
09:46
lizmat joined
09:47
p6bannerbot sets mode: +v lizmat
10:01
lizmat left
10:04
zakharyas left,
mniip8 joined
10:05
p6bannerbot sets mode: +v mniip8
10:07
mniip8 left
|
|||
jnthn | Stage parse : 45.864 | 10:10 | |
Today's new low :) | |||
(with commit I'll push in a moment, after spectesting) | 10:11 | ||
10:13
zakharyas joined
10:14
p6bannerbot sets mode: +v zakharyas
|
|||
Geth | MoarVM/postrelease-opts: 4bda18a426 | (Jonathan Worthington)++ | 4 files Lower unbox of P6[int|num|str] This aids the performance of NQP code, which uses these rather than P6opaque-based box types. Also includes a fix for the interpretation of sp_get_s, which I can only figure has never been exercised before as it was utterly broke. |
10:16 | |
jnthn | Righty, now to see if I can get faster unbox of bigints too | 10:18 | |
10:21
lizmat joined
10:22
p6bannerbot sets mode: +v lizmat
10:31
lizmat left
10:38
johnpark_pj joined
10:39
p6bannerbot sets mode: +v johnpark_pj
10:42
johnpark_pj left
|
|||
Geth | MoarVM/postrelease-opts: 2cc53306e1 | (Jonathan Worthington)++ | 11 files Lower the unboxing of a bigint in a P6opaque Now, if it's a small bigint (fits within 32 bits), we just pull it right out without having to make a function call. We only make a call in the case there's a real mp_int that we need to range check and take the value from. |
10:52 | |
jnthn | Yes, I can :) | ||
Geth | MoarVM/hllbool: 6 commits pushed by (Stefan Seifert)++ | 10:56 | |
10:56
ZzZombo left
11:04
zakharyas left,
zakharyas joined
11:05
p6bannerbot sets mode: +v zakharyas
11:09
CrunchyChewie7 joined
11:10
p6bannerbot sets mode: +v CrunchyChewie7
11:11
CrunchyChewie7 left
11:14
zakharyas left
|
|||
Geth | MoarVM/postrelease-opts: 3edfdf2b91 | (Jonathan Worthington)++ | src/6model/reprs/P6opaque.c Use a cheaper op for str/num P6opaque box bind We know that the body of the object will always be the direct one, not a replacement version of it, so we can simply bind directly into that without paying for the cost of the indirection. |
11:15 | |
dogbert17 | jnthn: you're on a roll today, impressive | 11:17 | |
11:25
lizmat joined,
p6bannerbot sets mode: +v lizmat
11:30
lizmat left
11:33
lizmat joined,
lizmat left
11:37
lizmat joined
11:38
p6bannerbot sets mode: +v lizmat
11:41
lizmat left
12:15
RichiH8 joined,
RichiH8 left
|
|||
timotimo | ooh, that last one could maybe be made a more general opt that spesh knows about; when things just got created, the p6o versions could be lowered automatically | 12:17 | |
12:20
lagbox24 joined
12:21
lagbox24 left
|
|||
timotimo | samcv: the slides work well | 12:31 | |
jnthn | timotimo: Yeah, already pondered that :) | 12:33 | |
Didn't quite figure where to put it though | 12:34 | ||
12:47
lutoma12 joined,
lutoma12 left
12:49
jelly11 joined
12:50
p6bannerbot sets mode: +v jelly11,
stmuk joined
12:51
p6bannerbot sets mode: +v stmuk
12:53
stmuk_ left
12:57
jelly11 left
13:02
lizmat joined
13:03
p6bannerbot sets mode: +v lizmat
|
|||
Geth | MoarVM/postrelease-opts: a302b04bbf | (Jonathan Worthington)++ | 10 files Don't enforce write barrier when boxing The object was only just created. It must be in the nursery, since that's a rule for using `fastcreate`. Thus it can not be a gen2 object pointing to a nursery object, which is when the barrier would trigger. |
13:16 | |
13:18
zakharyas joined,
p6bannerbot sets mode: +v zakharyas
13:21
lizmat left
|
|||
nine | Oh, it looks like hllbool already makes stage parse a bit faster. Even without any more advanced spesh optimizations. | 13:25 | |
13:26
lizmat joined
|
|||
timotimo | huh, but how? | 13:26 | |
13:27
p6bannerbot sets mode: +v lizmat
|
|||
jnthn also wonders | 13:28 | ||
nine | JIT compilation | 13:32 | |
timotimo | huh, but p6bool should have been at least compiled to C function calls | ||
i.e. not bail the frames completely | |||
timotimo looks at the jit impls | 13:33 | ||
jnthn | I thought extops compiled to C function calls | ||
But yeah, can help | |||
timotimo | yes, they normally do | ||
jnthn | (to get rid of the function call) | ||
nine | Maybe also the spesh optimization turning hllbool of a known value into a set. | ||
Of course it may just be benchmarking noise | |||
timotimo | hm, i wonder how often that even happens | 13:34 | |
pro tip: we could use the spesh_comments mechanism to find out :) :) | |||
nine: usually we'd compare ins->info->opcode against MVM_OP_* rather than comparing ins->info against MVM_op_get_op(MVM_OP_*) | 13:35 | ||
(in optimize_hllbool) | |||
dogbert17 | jnthn: that last fix might contain a bug | 13:36 | |
Geth | MoarVM/hllbool: 4 commits pushed by (Stefan Seifert)++ | 13:37 | |
nine | timotimo: oh thanks! I forgot fixing that | ||
jnthn | dogbert17: Details? | ||
(Was an opt rather than a fix) | |||
dogbert17 | Literally all spectests fails | ||
timotimo | hah | 13:38 | |
jnthn | Looked good here | ||
dogbert17 | now, that's odd | ||
jnthn | Platform? | ||
Also make sure you rebuild Rakudo | 13:39 | ||
Or the extops | |||
*or at least | |||
dogbert17 | ok, I did only rebuild MoarVM | 13:40 | |
yeah, looks better after a Rakudo rebuild, sorry for the noise | 13:43 | ||
jnthn | np :) | 13:44 | |
13:44
lizmat left
|
|||
dogbert17 | I usually get away with rebuilding MoarVM only. I guess specific changes requires a Rakudo rebuild as well | 13:45 | |
jnthn | Yeah, things that add spesh ops can | ||
13:46
lizmat joined,
Guest42469 joined
|
|||
timotimo | github.com/MoarVM/MoarVM/issues/293 - if someone wants to improve that situation | 13:46 | |
13:47
p6bannerbot sets mode: +v lizmat,
p6bannerbot sets mode: +v Guest42469
|
|||
jnthn | I think we're making progress towards improving it my getting rid of the extops... :) | 13:47 | |
13:47
johtso joined
|
|||
timotimo | true | 13:48 | |
13:48
johtso left,
Guest42469 left
|
|||
dogbert17 | only two files failed now - with 'Parse errors: No plan found in TAP output'. This time it was t/spec/S04-statement-parsing/hash.t and t/spec/S32-basics/xxPOS-native.t | 13:50 | |
running these tests solo uncovers nothing nor does valgrind | 13:51 | ||
jnthn | D'oh, my new inline size decision algorithm produces negative sizes... | 13:52 | |
timotimo | whoops | ||
jnthn | oh, I guess it has to approximate in one case...heh | ||
13:58
lizmat left
|
|||
jnthn | Grr...that attempt helps some micro-benchmarks, but hurts CORE.setting and similar quite a bit | 14:03 | |
14:03
zakharyas left
14:04
zakharyas joined
14:05
p6bannerbot sets mode: +v zakharyas
|
|||
jnthn | dogbert17: Yeah, I've been seeing the odd thing that fails like that, it varies between run and has happened for a while on that branch | 14:13 | |
Geth | MoarVM/postrelease-opts: 498f189297 | (Jonathan Worthington)++ | 3 files Subtract nested inlinees when checking inline size So that if we do nested inlines, they don't contribute to the size of the overall thing. This seems to be on the most part a win: various Perl 6 microbenchmarks run faster, spectest seems unimpacted, there is a slight impact on spectest compilation time but nothing enormous. |
14:15 | |
dogbert17 | jnthn: I have one gist showing this behaviour: gist.github.com/dogbert17/2d499ec5...9c7db6107b | 14:19 | |
14:19
lizmat joined
14:20
p6bannerbot sets mode: +v lizmat
|
|||
jnthn | hmmm | 14:20 | |
14:22
MasterDuke left
|
|||
timotimo | a recording made with rr might be useful | 14:23 | |
do you just need to run it often enough to reproduce it? | |||
14:24
lizmat left
|
|||
dogbert17 | timotimo: the gisted SEGV came from t/spec/S03-operators/buf.t, I usually have to run the system under load to make it appear | 14:35 | |
timotimo | maybe it's time to try out rr's chaos mode | 14:36 | |
though it doesn't do any multithreading of its own, right? | |||
only the spesh thread? | |||
dogbert17 | why do I get the feeling that the gist was utterly useless :-) | 14:38 | |
timotimo | the oh, i could have seen it from the "info threads" output | 14:39 | |
i just looked at the one code line; i've seen that same thing before, too | |||
the sc_idx somehow gets to be a wildly out-of-bounds value | |||
dogbert17 | I believe that is indeed the case | 14:42 | |
timotimo | we have the case, now let's go for the cause | 14:44 | |
dogbert17 | ran a new spectest including jnthn's latest commit, this time t/spec/S03-operators/autoincrement.t failed with Parse errors: No plan found in TAP output | 14:46 | |
it's definitely random and seems to happen early during the program run | 14:47 | ||
14:47
hiya26 joined
14:48
p6bannerbot sets mode: +v hiya26
14:49
hiya26 left
|
|||
dogbert17 | timotimo: got it again, sc_idx = 32181872 | 14:53 | |
unfortunately I had forgot to turn off the JIT this time | 14:54 | ||
there's an assert commented out a few rows above, 367 /*assert(REPR(new_addr));*/, perhaps I should reenable that | 15:00 | ||
15:04
zakharyas left
|
|||
dogbert17 | no, that was a bad idea | 15:04 | |
timotimo | haha | 15:05 | |
15:05
zakharyas joined
|
|||
timotimo | perhaps it doesn't hold for STables themselves? or maybe frames get to be in there, too? | 15:05 | |
15:06
p6bannerbot sets mode: +v zakharyas
15:09
lizmat joined
15:10
p6bannerbot sets mode: +v lizmat,
lizmat left
|
|||
dogbert17 | damn, now it failed at another location | 15:24 | |
jnthn | Yeah, soemthing's up...I'll bug hunt it probably next week though :) | ||
dogbert17 | here's a gist, perhaps there might be a clue in there | 15:26 | |
gist.github.com/dogbert17/988ea189...d2d94c102d | |||
timotimo | interesting, so the entry that's in there seems to have an object id, though that could also be reading bogus memory to come up with that idea | 15:27 | |
Geth | MoarVM/postrelease-opts: 560df3dbc6 | (Jonathan Worthington)++ | src/spesh/optimize.c Turn hllize to set if the change is a no-op This not only avoids a little work, but also eliminates an op that might prevent inlining. |
15:49 | |
16:02
zakharyas left
|
|||
jnthn | Aside from microbenchmark improvements, it seems postrelease-opts brings a ~8% wallclock improvement in one real-world application too | 16:27 | |
Enough for now. Maybe a little more optimization fun over the weekend. We'll see :) | 16:31 | ||
o/ | |||
16:42
pierte joined,
pierte left
18:13
MasterDuke joined,
p6bannerbot sets mode: +v MasterDuke
18:14
MasterDuke left,
MasterDuke joined,
herbert.freenode.net sets mode: +v MasterDuke,
p6bannerbot sets mode: +v MasterDuke
18:25
zakharyas joined,
p6bannerbot sets mode: +v zakharyas
18:26
tesu15 joined
18:27
p6bannerbot sets mode: +v tesu15,
tesu15 left
18:35
EXCEPTS joined
18:36
p6bannerbot sets mode: +v EXCEPTS
18:37
EXCEPTS left
18:45
RichiH13 joined,
p6bannerbot sets mode: +v RichiH13
18:47
RichiH13 left
18:58
stmuk_ joined
18:59
p6bannerbot sets mode: +v stmuk_
19:00
zakharyas left,
stmuk left
19:30
thomasb9511 joined
19:31
p6bannerbot sets mode: +v thomasb9511
19:32
thomasb9511 left
19:55
diakopter left
20:07
Kaiepi left,
Kaypie joined
20:08
p6bannerbot sets mode: +v Kaypie
20:37
d__b joined
20:38
p6bannerbot sets mode: +v d__b,
d__b left
|
|||
MasterDuke | timotimo: i don't think MVM_dump_bytecode_stackframe(tc, 1) is what i want | 21:23 | |
the annotations in what it dumps are all in src/Perl6/*, but i'm hoping for stuff in src/core/* | 21:24 | ||
21:41
y0sh11 joined
21:42
p6bannerbot sets mode: +v y0sh11
21:47
drakythe joined
21:48
p6bannerbot sets mode: +v drakythe
21:50
drakythe left,
y0sh11 left
21:57
ski_ joined,
p6bannerbot sets mode: +v ski_
22:04
ski_ left
22:28
Syfer joined,
p6bannerbot sets mode: +v Syfer
22:29
Syfer left
22:31
ruunyan joined,
ruunyan left
22:45
Connecting joined
22:46
p6bannerbot sets mode: +v Connecting
22:48
Connecting left
22:49
janus23 joined
22:50
p6bannerbot sets mode: +v janus23
22:55
janus23 left
22:59
Kaiepi joined,
Kaypie left,
p6bannerbot sets mode: +v Kaiepi
23:00
Kaiepi left
23:01
Kaiepi joined,
p6bannerbot sets mode: +v Kaiepi
23:06
stmuk joined,
p6bannerbot sets mode: +v stmuk
23:07
pringlecake joined,
p6bannerbot sets mode: +v pringlecake
23:08
stmuk_ left,
pringlecake left
23:37
e27 joined,
e27 left,
mpmc23 joined,
p6bannerbot sets mode: +v mpmc23
23:38
mpmc23 left
23:46
hoelzro left
|