samcv night timotimo 00:23
00:25 TimToady joined 01:48 ilbot3 joined 02:47 agentzh joined 03:24 vendethiel- joined 05:27 domidumont joined 06:14 domidumont joined 06:45 brrt joined 07:44 zakharyas joined
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?
jnthn o/ brrt 09:25
yoleaux2 25 Mar 2017 21:12Z <lizmat> jnthn: how threadsafe is nqp::p6firstflag ?
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
brrt \o jnthn
.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.
brrt the jit log is a pain point anyway
it should be much less sucky than it is
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.
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
09:33 zakharyas joined
brrt jnthn, you wrote the profiler right 13:01
would it be possible to stash somewhere in the information for a frame we failed to JIT, the reason for this failure?
jnthn brrt: Yes, should be 13:02
13:02 AlexDaniel joined
brrt alright, that would be something interesting 13:03
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
And, finally, have the profiler UI display it
13:12 raschipi joined 14:01 raschipi left 14:12 vendethiel joined
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:15
.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.
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?
timotimo because that program is what generates lib/MAST/Ops.nqp and others 14:54
Geth MoarVM: zoffixznet++ created pull request #564:
Fix breakage due to new ops
15:06
Zoffix Looks like it worked, though it tells me can't automatically merge into the original line_based_coverage_pr 15:07
timotimo i think instead of merging your PR i'll just do it locally again and force-push it 15:10
that's why i made the _pr branch anyway, so that i can forcepush over it
Zoffix Sounds good. 15:11
15:12 geekosaur joined 15:25 brrt joined 15:41 geekosaur joined 16:07 geekosaur joined 16:11 geekosaur joined 16:14 geekosaur joined 16:16 geekosaur joined 16:21 geekosaur joined 16:29 geekosaur joined 17:16 zakharyas joined 17:49 domidumont joined
Zoffix timotimo: BTW another in coverage branch breakage was due to libtomath you know the whole thing where you have to delete it... 17:57
timotimo yes. jeez. 18:10
i should have checked it out into libtommath_own or something
and waited for half a year until everybody has that for sure
and only then rm libtommath
[Coke] libtommath-1, -2, -3 18:14
Zoffix "coverage report read: 0 lines covered." 18:48
:( looks like it's still busted
possibly need to teach it what lines SETTING::src/core/Any.pm mean 18:49
Zoffix looks
timotimo could very well be, yeah
18:55 ZofBot joined 20:12 vendethiel joined
Zoffix writes parse_coverage_report.p6 from scratch... 20:16
The current version doesn't fit my brain :(
timotimo that's fine 20:17
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
i.e. throws out empty lines, and other things we wouldn't ever be able to reach
Zoffix Ah 20:19
heh, cool use of dynamic vars to keep all the markup at the end :) TIL you can do that 20:29
Zoffix used to use subs for that 20:30
timotimo oh, i see what you mean 20:31
i'm not sure i came up with that
Zoffix hm
Illegal post-declaration of dynamic variable '$*markup';
earlier access must be written as CALLERS::<$*markup>
I guess it isn't as awesome as I thought :P
Ah, but it works if you use it from within a sub. Interesting. 20:32
timotimo oh, huh 20:33
yeah
wait what :)
Zoffix m: say $*foo; my $*foo = 42
camelia ===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ā€¦
timotimo oh, i guess it's because it's used in a frame but then later defined
Zoffix m: sub MAIN { say $*foo }; my $*foo = 42
camelia 42
timotimo right, that makes sense
you can't access the dyanmically outer $*foo in af rame that also defines its own $*foo 20:34
20:41 Ven joined
samcv jnthn, what do you think about this PR? github.com/MoarVM/MoarVM/pull/563 20:46
timotimo that is such a safe PR that i'd totally have just committed it to master :S 20:49
samcv lol timotimo
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:50
i will merge it then timotimo :P 20:51
timotimo oh?
wait
samcv oh
ok
timotimo if it's called MVM_exception_* i'd expect it to be in exception.c 20:52
ugh, naming things 20:53
samcv yeah 20:54
timotimo MVM_string_utf8_throw_encoding_exception?! 20:55
samcv maybe MVM_failed_to_encode_utf8_codepoint lol
yeah timotimo that sounds okishhh but string makes it seem like it might be somewhere else
MVM_utf8_throw_encoding_exception
you okay with ^? 20:56
timotimo that sounds OK
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
samcv yeah. was thinking that could be true which is why i PR'd it 20:58
will make those errors much nicer at least 20:59
not sure if we fail encoding any other conditions i haven't added in
those are the big two i think? could always try going from 0..*
timotimo i thought the pr was just about building that message, i should really have checked the actual code >_<
samcv LOL
heh
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:00
timotimo yeah, but patches have to be like that >_< 21:01
hysterical raisins
samcv yeah. i know. but... that's what the diffpatch is for or whatever it is called
timotimo just "patch"
samcv yeah
timotimo you have to always give it -p 1 so that it chops off the a or b
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
though maybe could hack that to do what i want
timotimo but git diff already adds color?!?
samcv whatever is more color than that 21:03
is what it is i think
timotimo oh
samcv i think it's this github.com/so-fancy/diff-so-fancy
timotimo oh it also somewhat does --word-diff 21:04
samcv oh damn it does what i want
that looks neat. can copy and paste the name of the modified file too
it's written in perl 5 21:06
timotimo neato
samcv will bookmark that
for when i'm bored and have time to spend on mostly useless things 21:07
timotimo fantastic
21:18 Ven_ joined 21:26 Ven_ joined
samcv h-how. it works perfectly. well i guess that's not bad 21:49
that indexic seems to work perfectlly on the first run (not relying on eqatic). yay
i will not complain 21:50
hopefully can make it go down from being 3.3x slower and maybe even make it faster 21:52
timotimo ooooh
faster is always good
samcv i have it perfectly matching 'blahļ¬†' ~~ m:i/st/ though :)
before it always failed unless it was the 1st character 21:53
and doesn't lc/fc in perl 6 now at least on the nqp side
timotimo very good 22:01
22:15 vendethiel joined
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
samcv trying to bechmark
timotimo the regex engine is 100% shared between rakudo and nqp
lizmat and another Perl 6 Weekly hits the Net: p6weekly.wordpress.com/2017/03/27/...-the-same/ 22:17
samcv but. how in nqp code do i do it
jnthn /:i foo/ should work in NQP too
samcv i know that. heh. magically i fix nqp and then all our ligature regex tests work. hmm wasn'tt working for me. hmm
oh wait i got it i think
jnthn heads sleepwards 22:18
samcv ok. same amount of time old vs new at least on nqp
lizmat good night, jnthn 22:19
lizmat is going for some rest as well
samcv ok it's not slower than before on nqp
with my changes
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:27
timotimo cool, diff please? 22:38
MasterDuke gist.github.com/MasterDuke17/5bcd7...ad9763a857 22:39
and `add_bindattr_op('bindattr_u', 'bindattr_u', 'bindattrs_u', $MVM_reg_uint64);` in src/vm/moar/QAST/QASTOperationsMAST.nqp 22:40
ugh, plus a whole bunch of (semi)random changes in moar 22:41
22:47 Voldenet joined 23:26 vendethiel- joined