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
|