github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
00:05 AlexDaniel left 00:38 AlexDaniel joined 00:40 MasterDuke joined 00:42 MasterDuke_ joined, MasterDuke_ left, MasterDuke_ joined
MasterDuke_ ugexe: did you mean getlex_* ? 00:44
00:45 MasterDuke left
ugexe MasterDuke_: no getlexref_*, which is legojit but not exprjit github.com/MoarVM/MoarVM/blob/6c78...3589-L3598 00:56
MasterDuke_ interesting, doesn't seem to match interp.c github.com/MoarVM/MoarVM/blob/6c78...4486-L4490 01:10
01:14 lucasb left 01:24 AlexDaniel left
ugexe what doesn't match? i'm not sure how to really compare them other than they both have uint16s 01:29
MasterDuke_ it looks to me like in interp.c it's just calling MVM_nativeref_lex_s() with the two given arguments, but in graph.c it's calling it with the .lex.outers and .lex.idx of the first given argument 01:40
the nqp op only takes one argument github.com/perl6/nqp/blob/master/d...#getlexref 01:41
ah, the nqp op is actually mapped to getlexref_ns, which does in fact call MVM_nativeref_lex_name_s() with only one argument 01:44
ugexe so everything is correct yeah? 01:54
MasterDuke_ well, i still dont't understand why the difference between interp.c and graph.c. but why the nqp op is difference makes sense 01:57
ugexe: btw, did you run spectests with all those templates you PRed? 01:58
ugexe yeah 01:59
the only PR im not sure on is the return_s one, and there are notes on it
MasterDuke_ it looks like brrt isn't gonna get a chance to look at them soon. do you have a commit bit? if not do you want me to merge them? 02:00
ugexe i don't have a commit bit, but yeah if you want to merge some now is a good time 02:01
i imagine there might be a merge conflict for some once others are merged due to ordering
MasterDuke_ ok, i'll give them a once over and merge unless i see something obviously off. probably leave the return_* one for someone else though 02:04
ugexe cool. i expect a performance increase of 5000% 02:08
most of these barely show up with 10000 iterations of reading/parsing META6.json. so its mostly superficial 02:12
show up as bailing^ 02:13
i also checked the above routine to make sure the bails were gone afterwards 02:27
Geth MoarVM: 0b45ec7b78 | (Nick Logan)++ (committed using GitHub Web editor) | src/jit/core_templates.expr
Add replace exprjit template
02:28
MoarVM: 45e6851f7e | MasterDuke17++ (committed using GitHub Web editor) | src/jit/core_templates.expr
Merge pull request #1076 from ugexe/patch-11

Add replace exprjit template
MoarVM: 6421e512cb | (Nick Logan)++ (committed using GitHub Web editor) | src/jit/core_templates.expr
Add resume exprjit template
02:32
MoarVM: 9f0180fb5b | MasterDuke17++ (committed using GitHub Web editor) | src/jit/core_templates.expr
Merge pull request #1077 from ugexe/patch-12

Add resume exprjit template
MoarVM: d568e681e7 | (Nick Logan)++ (committed using GitHub Web editor) | src/jit/core_templates.expr
Add typeparameterized exprjit template
02:35
MoarVM: 21d815850a | MasterDuke17++ (committed using GitHub Web editor) | src/jit/core_templates.expr
Merge pull request #1079 from ugexe/patch-14

Add typeparameterized exprjit template
MoarVM: e1dc1b3994 | (Nick Logan)++ | 2 files
Add fileno_fh legojit and exprjit template
02:36
MoarVM: 47bb50118e | MasterDuke17++ (committed using GitHub Web editor) | 2 files
Merge pull request #1082 from ugexe/jit-fileno-fh

Add fileno_fh legojit and exprjit template
MasterDuke_ ugexe: merged the ones that didn't have conflicts, commented on some others 02:44
ugexe thanks 02:46
03:01 travis-ci joined
travis-ci MoarVM build passed. MasterDuke17 'Merge pull request #1082 from ugexe/jit-fileno-fh 03:01
travis-ci.org/MoarVM/MoarVM/builds/511286246 github.com/MoarVM/MoarVM/compare/2...bb50118e66
03:01 travis-ci left
ugexe MasterDuke_: so MVMint64 is not .64? 03:34
.i64^
er, thats not what i want to say 03:36
oh i think you were saying i should be using an int instead of a ptr 03:37
I resolved some merge conflicts. Remember you can squash and merge from github.com now so as to avoid the master merges 03:52
MasterDuke_ right, that would make things simpler 04:17
Geth MoarVM: 0c6b3b1b2a | (Nick Logan)++ (committed by MasterDuke17) | src/jit/core_templates.expr
Add indexingoptimized exprjit template (#1078)

  * Add indexingoptimized exprjit template
  * Fix int/ptr thinko
04:19
MoarVM: 9e5196d8b5 | (Nick Logan)++ (committed by MasterDuke17) | src/jit/core_templates.expr
Add typeparameterat exprjit template (#1080)
MoarVM: 3c2e98d4bf | (Nick Logan)++ (committed by MasterDuke17) | src/jit/graph.c
Add istty_fh legojit (#1084)
04:20
MoarVM: 645a70c0db | (Nick Logan)++ (committed by MasterDuke17) | 2 files
Add backtrace and backtracestrings lego and exprjit template (#1085)
04:25
04:43 travis-ci joined
travis-ci MoarVM build passed. Nick Logan 'Add istty_fh legojit (#1084)' 04:43
travis-ci.org/MoarVM/MoarVM/builds/511308398 github.com/MoarVM/MoarVM/compare/9...2e98d4bfc6
04:43 travis-ci left 04:56 travis-ci joined
travis-ci MoarVM build passed. Nick Logan 'Add backtrace and backtracestrings lego and exprjit template (#1085)' 04:56
travis-ci.org/MoarVM/MoarVM/builds/511309515 github.com/MoarVM/MoarVM/compare/3...5a70c0db62
04:56 travis-ci left 06:27 robertle left 07:31 domidumont joined 09:52 robertle joined 10:01 yoleaux left
lizmat so are we good for a MoarVM bump ? 11:08
timotimo not really all that keen on putting a cpp file into moarvm's build system :| 11:25
lizmat which is the cpp file ? and why is it in there now ? 11:26
timotimo there's this library called "tracy"
it's basically telemeh, but a whole lot better in almost every way, and it comes with a viewer tool that is also very good and something telemeh should have gotten but didn't yet 11:27
lizmat so if I bump MoarVM now, it will get in there indefinitely ? 11:29
timotimo oh no
i've not yet done anything for it
lizmat ok, so your remark had nothing to do with my question about bumping ? 11:30
timotimo oh, that's right
lizmat ok :-)
timotimo i don't have anything against a bump 11:31
lizmat is bumping 11:33
11:40 zakharyas joined
timotimo i do have more pressing issues than getting tracy integrated with moarvm, though 12:16
12:31 MasterDuke_ left
timotimo would it be fine to explode in the heap snapshot profiler with an MVM_panic or MVM_oops if something goes wrong? 13:17
lizmat what would be the alternative ? 13:19
timotimo well, it wouldn't be too good to throw an exception, because that would just happen at any random point 13:20
but it could stop in its tracks and leave the partial file 13:21
and just continue running the program without the profiler 13:22
or it could stop the profiler, delete the file, and continue
lizmat wouldn't the file potentially have pointers as to why it died ? 13:35
timotimo the kinds of errors we could encounter are "hard drive full", "compression errored out somehow", "memory ran out", stuff like that
lizmat Hmmm... I'm a proponent of fail early, fail often 13:36
13:46 AlexDaniel joined 13:58 lucasb joined 14:01 squashable6 left 14:02 discord6 left 14:03 squashable6 joined 14:16 brrt joined 14:17 zakharyas left 14:33 brrt left, brrt joined
brrt ohai #moarvm 14:42
jnthn o/ brrt
brrt ohai jnthn 14:44
I was wondering if you read my post on the reverse linear scan allocator 14:45
jnthn brrt: No, it's open in a tab for me to read when I get a spare moment :) 14:46
(Those have been a bit hard to come by in the last days) 14:47
15:02 zakharyas joined 15:21 MasterDuke joined, MasterDuke left, MasterDuke joined
MasterDuke jnthn, brrt: hope you don't mind i merged ugexe's PRs that looked fine to me. this PR of mine is very slightly more involved, does anyone have a thought/comment about it? github.com/MoarVM/MoarVM/pull/1073 15:23
15:26 discord6 joined 15:34 robertle left 15:37 brrt left
timotimo maybe this time around i'll figure out why "only record a snapshot when a full collection happened" caused crashes last time ... 15:39
MasterDuke re www.nntp.perl.org/group/perl.perl6...g6640.html , `put FatPi.new(309).base(2)` takes 0:00.61elapsed and 114772maxresident. but `put FatPi.new(310).base(2)` takes 59:43.47elapsed and 4212608maxresident before dying with 'MoarVM panic: Memory allocation failed; could not allocate 135193648 bytes' 15:53
and the second case can be reproed without using Math::Sequences::Integer 15:55
16:01 brrt joined
MasterDuke output from ~1m of perf recording gist.github.com/MasterDuke17/a87e9...84b3a77231 16:08
16:49 discord6 left, discord6 joined 16:51 domidumont left 17:03 domidumont joined 17:05 brrt left 17:16 robertle joined 18:05 zakharyas left 19:20 zakharyas joined 19:26 brrt joined 20:01 zakharyas left 20:14 domidumont left 20:16 zakharyas joined
MasterDuke what's needed to jit param_op_* ? 20:36
brrt a refactor 20:39
either that, or I need to understand the SysV ABI and windows ABI better 20:40
iirc, they return a 2-register struct 20:41
and I think in the SysV ABI, that's supposed to be returned in the register pair rax:rcx
but I can't find documentation evidence that this is supposed to be soe
and I certainly haven't been able to find what microsoft promises
ugexe if you give more details perhaps someone else can find it. i've been the "figure out this undocumented microsoft shit" guy before 20:43
brrt it should be called 'small struct return value' 21:00
dogbert17 brrt: I'm probably way off base but are you looking for stuff like this? www.uclibc.org/docs/psABI-x86_64.pdf 21:38
21:53 brrt left 21:54 zakharyas left
ugexe stackoverflow.com/questions/390684...r-the-hood (this is about windows) 21:56
gcc.godbolt.org/ seems like a useful tool if you dont have easy access to a windows machine 22:03
22:13 robertle left
AlexDaniel ugexe++ 22:56
(for doing the tough work) 22:57