Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2017-03-27

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
00:23 samcv night timotimo
00:25 TimToady joined #moarvm
01:48 ilbot3 joined #moarvm
01:48 Topic for #moarvm is now https://github.com/moarvm/moarvm | IRC logs at  http://irclog.perlgeek.de/moarvm/today
02:47 agentzh joined #moarvm
03:24 vendethiel- joined #moarvm
05:27 domidumont joined #moarvm
06:14 domidumont joined #moarvm
06:45 brrt joined #moarvm
07:44 zakharyas joined #moarvm
09:02 brrt good *, #moarvm
09:02 yoleaux2 26 Mar 2017 18:08Z <Zoffix> brrt: if a largish method that's called thousands of times doesn't get speshed/jitted is there a way to find out what's preventing it?
09:25 jnthn o/ brrt
09:25 yoleaux2 25 Mar 2017 21:12Z <lizmat> jnthn: how threadsafe is nqp::p6firstflag ?
09:25 yoleaux2 26 Mar 2017 18:24Z <Zoffix> jnthn: what are your thoughts on removing $*SPEC and all the IO::Spec* in v6.d? We'd treat all the OSes as mostly-same rather than mostly-differn. e.g. we'd use "/" as path separator on all OS's
09:25 brrt \o jnthn
09:26 brrt .tell Zoffix that the usual way is to look at the JIT log and find the 'bail' entry corresponding to the JIT log of that frame
09:26 yoleaux2 brrt: I'll pass your message to Zoffix.
09:26 brrt the jit log is a pain point anyway
09:26 brrt it should be much less sucky than it is
09:27 jnthn .tell lizmat p6firstflag has no thread-related handling, though for the sake of hyper/race we should only really be setting it in one thread anyway, I'd think
09:27 yoleaux2 jnthn: I'll pass your message to lizmat.
09:33 brrt minor update; i figured that i can postpone general purpose register requirement handling for CALL, since CALL returns to %rax, and %rax isn't allocatable anyway, so adding a move is cheap
09:33 zakharyas joined #moarvm
13:01 brrt jnthn, you wrote the profiler right
13:01 brrt would it be possible to stash somewhere in the information for a frame we failed to JIT, the reason for this failure?
13:02 jnthn brrt: Yes, should be
13:02 AlexDaniel joined #moarvm
13:03 brrt alright, that would be something interesting
13:06 jnthn Would just need to extend the data structure to be able to store that, then get it to spit that data out
13:06 jnthn And, finally, have the profiler UI display it
13:12 raschipi joined #moarvm
14:01 raschipi left #moarvm
14:12 vendethiel joined #moarvm
14:15 Zoffix What's the trick to make line_based_coverage_pr branch work again? Something to do with updating ops... CONFLICT (content): Merge conflict in lib/MAST/Ops.nqp
14:51 Zoffix .tell timotimo yo. Teach a man to fish. How do I unbust the coverage branch when new ops are added?
14:51 yoleaux2 Zoffix: I'll pass your message to timotimo.
14:53 timotimo Zoffix: just resolve the conflict (if any) in src/core/oplist, then run tools/update_ops.p6
14:53 yoleaux2 14:51Z <Zoffix> timotimo: yo. Teach a man to fish. How do I unbust the coverage branch when new ops are added?
14:54 timotimo because that program is what generates lib/MAST/Ops.nqp and others
15:06 Geth ¦ MoarVM: zoffixznet++ created pull request #564: Fix breakage due to new ops
15:06 Geth ¦ MoarVM: review: https://github.com/MoarVM/MoarVM/pull/564
15:07 Zoffix Looks like it worked, though it tells me can't automatically merge into the original line_based_coverage_pr
15:10 timotimo i think instead of merging your PR i'll just do it locally again and force-push it
15:10 timotimo that's why i made the _pr branch anyway, so that i can forcepush over it
15:11 Zoffix Sounds good.
15:12 geekosaur joined #moarvm
15:25 brrt joined #moarvm
15:41 geekosaur joined #moarvm
16:07 geekosaur joined #moarvm
16:11 geekosaur joined #moarvm
16:14 geekosaur joined #moarvm
16:16 geekosaur joined #moarvm
16:21 geekosaur joined #moarvm
16:29 geekosaur joined #moarvm
17:16 zakharyas joined #moarvm
17:49 domidumont joined #moarvm
17:57 Zoffix timotimo: BTW another in coverage branch breakage was due to libtomath you know the whole thing where you have to delete it...
18:10 timotimo yes. jeez.
18:10 timotimo i should have checked it out into libtommath_own or something
18:10 timotimo and waited for half a year until everybody has that for sure
18:10 timotimo and only then rm libtommath
18:14 [Coke] libtommath-1, -2, -3
18:48 Zoffix "coverage report read: 0 lines covered."
18:48 Zoffix :( looks like it's still busted
18:49 Zoffix possibly need to teach it what lines SETTING::src/core/Any.pm mean
18:49 * Zoffix looks
18:49 timotimo could very well be, yeah
18:55 ZofBot joined #moarvm
20:12 vendethiel joined #moarvm
20:16 * Zoffix writes parse_coverage_report.p6 from scratch...
20:16 Zoffix The current version doesn't fit my brain :(
20:17 timotimo that's fine
20:18 Zoffix Like I don't get what the annotation files does.
20:18 timotimo it gives us all lines that have an annotation on them
20:18 timotimo i.e. throws out empty lines, and other things we wouldn't ever be able to reach
20:19 Zoffix Ah
20:29 Zoffix heh, cool use of dynamic vars to keep all the markup at the end :) TIL you can do that
20:30 * Zoffix used to use subs for that
20:31 timotimo oh, i see what you mean
20:31 timotimo i'm not sure i came up with that
20:31 Zoffix hm
20:31 Zoffix Illegal post-declaration of dynamic variable '$*markup';
20:31 Zoffix earlier access must be written as CALLERS::<$*markup>
20:31 Zoffix I guess it isn't as awesome as I thought :P
20:32 Zoffix Ah, but it works if you use it from within a sub. Interesting.
20:33 timotimo oh, huh
20:33 timotimo yeah
20:33 timotimo wait what :)
20:33 Zoffix m: say $*foo; my $*foo = 42
20:33 camelia rakudo-moar 5ca924: OUTPUT: «===SORRY!=== Error while compiling <tmp>␤Illegal post-declaration of dynamic variable '$*foo';␤earlier access must be written as CALLERS::<$*foo>␤if that's what you meant␤at <tmp>:1␤------> say $*foo; my $*foo⏏ = 42␤    expecti…»
20:33 timotimo oh, i guess it's because it's used in a frame but then later defined
20:33 Zoffix m: sub MAIN { say $*foo }; my $*foo = 42
20:33 camelia rakudo-moar 5ca924: OUTPUT: «42␤»
20:33 timotimo right, that makes sense
20:34 timotimo you can't access the dyanmically outer $*foo in af rame that also defines its own $*foo
20:41 Ven joined #moarvm
20:46 samcv jnthn, what do you think about this PR? https://github.com/MoarVM/MoarVM/pull/563
20:49 timotimo that is such a safe PR that i'd totally have just committed it to master :S
20:49 samcv lol timotimo
20:50 samcv was more curious what he thought of naming the function MVM_exception_throw_utf8 and putting it in utf8.c and the header file. but it's probably fine
20:51 samcv i will merge it then timotimo :P
20:51 timotimo oh?
20:51 timotimo wait
20:51 samcv oh
20:51 samcv ok
20:52 timotimo if it's called MVM_exception_* i'd expect it to be in exception.c
20:53 timotimo ugh, naming things
20:54 samcv yeah
20:55 timotimo MVM_string_utf8_throw_encoding_exception?!
20:55 samcv maybe MVM_failed_to_encode_utf8_codepoint lol
20:55 samcv yeah timotimo  that sounds okishhh but string makes it seem like it might be somewhere else
20:55 samcv MVM_utf8_throw_encoding_exception
20:56 samcv you okay with ^?
20:56 timotimo that sounds OK
20:57 samcv will stash my work for MVM_string_index_ignore_case and make that change
20:57 timotimo because MVM_exception makes it sound like it belongs to the exception framework, but i think it belongs closer to the utf8 encoding stuff
20:58 samcv yeah. was thinking that could be true which is why i PR'd it
20:59 samcv will make those errors much nicer at least
20:59 samcv not sure if we fail encoding any other conditions i haven't added in
20:59 samcv those are the big two i think? could always try going from 0..*
20:59 timotimo i thought the pr was just about building that message, i should really have checked the actual code >_<
20:59 samcv LOL
20:59 samcv heh
21:00 samcv i wish git diff didn't show `a/src/strings/utf8.h` and showed like `src/strings/utf8.h` so i could just copy and paste it
21:01 timotimo yeah, but patches have to be like that >_<
21:01 timotimo hysterical raisins
21:01 samcv yeah. i know. but... that's what the diffpatch is for or whatever it is called
21:01 timotimo just "patch"
21:01 samcv yeah
21:01 timotimo you have to always give it -p 1 so that it chops off the a or b
21:02 samcv i looked hard to see if there were a way to do it. closest i found was some git diff wrapper to add COLORS
21:02 samcv though maybe could hack that to do what i want
21:02 timotimo but git diff already adds color?!?
21:03 samcv whatever is more color than that
21:03 samcv is what it is i think
21:03 timotimo oh
21:03 samcv i think it's this https://github.com/so-fancy/diff-so-fancy
21:04 timotimo oh it also somewhat does --word-diff
21:04 samcv oh damn it does what i want
21:04 samcv that looks neat. can copy and paste the name of the modified file too
21:06 samcv it's written in perl 5
21:06 timotimo neato
21:06 samcv will bookmark that
21:07 samcv for when i'm bored and have time to spend on mostly useless things
21:07 timotimo fantastic
21:18 Ven_ joined #moarvm
21:26 Ven_ joined #moarvm
21:49 samcv h-how. it works perfectly. well i guess that's not bad
21:49 samcv that indexic seems to work perfectlly on the first run (not relying on eqatic). yay
21:50 samcv i will not complain
21:52 samcv hopefully can make it go down from being 3.3x slower and maybe even make it faster
21:52 timotimo ooooh
21:52 timotimo faster is always good
21:52 samcv i have it perfectly matching 'blahst' ~~ m:i/st/ though :)
21:53 samcv before it always failed unless it was the 1st character
21:53 samcv and doesn't lc/fc in perl 6 now at least on the nqp side
22:01 timotimo very good
22:15 vendethiel joined #moarvm
22:16 samcv timotimo, can you do case insensitive regex easily in nqp? and how?
22:16 jnthn samcv: Gotta rest now but quickly glanced it...it looks ok to me modulo one tiny comment
22:16 samcv trying to bechmark
22:16 timotimo the regex engine is 100% shared between rakudo and nqp
22:17 lizmat and another Perl 6 Weekly hits the Net: https://p6weekly.wordpress.com/2017/03/27/2017-13-ios-not-the-same/
22:17 samcv but. how in nqp code do i do it
22:17 jnthn /:i foo/ should work in NQP too
22:17 samcv i know that. heh. magically i fix nqp and then all our ligature regex tests work. hmm wasn'tt working for me. hmm
22:17 samcv oh wait i got it i think
22:18 * jnthn heads sleepwards
22:18 samcv ok. same amount of time old vs new at least on nqp
22:19 lizmat good night, jnthn
22:19 * lizmat is going for some rest as well
22:19 samcv ok it's not slower than before on nqp
22:19 samcv with my changes
22:27 MasterDuke timotimo: not sure if i'd call it progress, but now getting `Cannot invoke this object (REPR: Null; VMNull)` in Metamodel.moarvm:create_BUILDPLAN
22:38 timotimo cool, diff please?
22:39 MasterDuke https://gist.github.com/MasterDuke17/5bcd7b0413473cf5fe46dbad9763a857
22:40 MasterDuke and `add_bindattr_op('bindattr_u', 'bindattr_u', 'bindattrs_u', $MVM_reg_uint64);` in src/vm/moar/QAST/QASTOperationsMAST.nqp
22:41 MasterDuke ugh, plus a whole bunch of (semi)random changes in moar
22:47 Voldenet joined #moarvm
22:47 Voldenet joined #moarvm
23:26 vendethiel- joined #moarvm

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary