00:06 mst joined
samcv i'm going to try and get some mvm coverage info 00:41
and get a coverage option for ./Configure.pl
using clang
timotimo cool 00:43
i just pushed up a new coverity build
you're not in the user list, want me to add you?
samcv yeah
new coverity build?
do we already have coverity?
timotimo yes
samcv and how can i see it if we do
timotimo scan.coverity.com/projects/paultco...b=overview - i don't think i can add you myself, you have to request access 00:44
samcv does it compile it specially?
timotimo yeah
they have some instructions on how to set up travis ci + coverity 00:45
but they also say you should only run the scan every couple of commits
like daily or something
oh, there's still my printf problem 00:46
samcv does it show you test coverage though of our test suite?
like what lines actually get used?
timotimo nope, not at all
samcv oh
yeah that's what i'm doing
timotimo it's just static code analysis
right
samcv both are useful
ah kk
timotimo they call it "cover"ity for some reason
samcv sounds cool? idk 00:47
timotimo i built the coverity build before your PR about compiler warnings got merged
not great timing
MasterDuke speaking about warning, i just got this after a pull from master: src/math/bigintops.c:16:72: warning: comparison of distinct pointer types lacks a cast 00:49
timotimo right
i made a partial fix for the problem in that line
but then other compilers started complaining 00:50
i'll just fix it last thing before bed.
MasterDuke is it possible to get all compilers ok with it?
samcv timotimo, gist.github.com/382c43cf0968becf56...b75f41fcda gist.github.com/382c43cf0968becf56...b75f41fcda
Geth MoarVM: 56cdf7906e | (Timo Paulssen)++ | src/math/bigintops.c
compare compatible pointers in adjust_nursery
samcv sorry double pasted
that is summary of nqp `make test` 00:51
timotimo can you filter out 3rdparty?
samcv yeah
timotimo looks interesting 00:52
this is clang, right?
MasterDuke no warnings now. ++s all around
timotimo clang's scan-build comes with an web app that lets you explore the data; how does this coverage tool present its findings?
samcv here gist.github.com/samcv/b6cfe4cc2ba6...70d338c4e4
timotimo apart from the overview you pasted i mean
samcv this is clang
uh this is the overall report
timotimo is that just grepped or does it also change the TOTAL at the bottom?
samcv gonna do a line based one
no it's grepped 00:53
the tool has like not very good documentation
timotimo my moarvm coverage tool has also very bad documentation :D
but i have far fewer users
samcv lol!
also here 00:58
<samcv> that is summary of nqp `make test`
oops
gist.githubusercontent.com/samcv/2...705a4569/-
will have to write something to filter out 3rd party but you can ctrl + F MoarVM/src 00:59
timotimo that's huge!
samcv yes
bigger than i thought
better to look at the coverage grepped summary and then request only specific file's coverage 01:00
timotimo probably, yeah
could also do with some slight coloration or something
samcv yeah 01:01
i get color in my terminal
timotimo ah, nice
samcv but my computer is lagging
because uh. huge
so much scroll
timotimo there must be some tool that'll nom a program's output and turn ansi coloration into html tags and such
oh yeah, all the scroll :|
samcv there is an html output
timotimo this format should be easy to awk
samcv but it doesn't work for summary
timotimo since it has a filename and then all lines that belong to that file come before the next double newline 01:02
hah, just from the build i uploaded now vs the one i uploaded before "fixed defects" gone up from 94 to 107
samcv so that's good? higher number? 01:03
timotimo yeah
MasterDuke timotimo: if i create a new thing, e.g., `my native foo is repr("P6int") is Int is nativesize( 8) is unsigned { };`, do i need to do some sort of ^compose somewhere?
timotimo it found some defects, and then it found that these defects are no longer there
that's nice
samcv we are just that good
timotimo MasterDuke: compose happens when the } gets parsed
if you go through the MOP, you'll have to do compose yourself. that'd be like my Mu $footype := SomeHOW.new_type(:name("foo")); $footype.^add_parent(Int); $footype.^set_nativesize(8); ... $footype.^compose(); 01:04
bedtime for me now \o 01:05
MasterDuke ah, had to create a class with an attribute of that type to get it to compose
later...
samcv wooo 01:17
you can do regex to determine what function names get printed
Geth MoarVM: b0778d6ffa | (Samantha McVey)++ | 2 files
Add new --coverage option for Configure.pl instructions in commit body

This only works with clang. To configure: Configure.pl --compiler=clang --coverage --optimize=0 --debug=3
Then run the code you want to test the coverage with ENV var ... (17 more lines)
01:22
samcv now you guys can all play around with it
samcv very nice :) 01:23
01:48 ilbot3 joined 03:13 vendethiel- joined 03:42 travis-ci joined
travis-ci MoarVM build canceled. Samantha McVey 'Try enabling coverage reporting testing' 03:42
travis-ci.org/samcv/MoarVM/builds/216610873 github.com/samcv/MoarVM/compare/b0...e74aca8153
03:42 travis-ci left 03:45 travis-ci joined
travis-ci MoarVM build canceled. Samantha McVey 'Try enabling coverage reporting testing' 03:45
travis-ci.org/samcv/MoarVM/builds/216610873 github.com/samcv/MoarVM/compare/b0...e74aca8153
03:45 travis-ci left 03:48 travis-ci joined
travis-ci MoarVM build failed. Samantha McVey 'Do somethings' 03:48
travis-ci.org/samcv/MoarVM/builds/216611784 github.com/samcv/MoarVM/compare/d8...08e74b9da4
03:48 travis-ci left
samcv gonna disable those messages in my personal repository where i'm testing things. travisci follows the irc thigs in the file 03:51
04:42 harrow joined 05:46 domidumont joined 05:52 domidumont joined 05:54 brrt joined 06:06 brrt joined 06:22 vendethiel joined 06:54 brrt joined
Geth MoarVM/even-moar-jit: b26d9e6b5b | (Bart Wiegmans)++ | docs/jit/plan.org
Plan finding holes in live ranges

This should solve the 'garbage restore' problem efficiently. Requires basic block analysis. Note that this is necessary because I've chosen to use restore-spilling arround CALL, and that if I had used 'full spills' instead it can never happen. Live and learn...
06:59
07:19 domidumont joined 07:33 zakharyas joined
brrt hey, weird idea folksā€¦.. maybe we can put a jumplist in the data section 08:23
lizmat wouldn't that be problematic on newer CPU's with data / code protection features ? 08:27
lizmat is woefully outdated on such matters 08:28
brrt well, no, because, a): the 'data' section is still in executable space 08:40
(it's on the same page)
doesn't have to be, but that's what it is
and b): it's an indirect jump based on loading data, meaning you never execute the jumplist, you just jump to the address specified in it 08:41
it's arguably very low priority
timotimo samcv: did you look at gcov at all yet? it's gcc's coverage and profiling thingie 09:17
09:29 ilmari[m] joined 10:30 dogbert17_ joined
Geth MoarVM/line_based_coverage_pr: 22 commits pushed by (Timo Paulssen)++, (Daniel Green)++, (Zoffix Znet)++
review: github.com/MoarVM/MoarVM/compare/6...ed1a885cf8
10:48
timotimo want to make sure it still builds and everything
yeah, builds and nqp's "make test" with coverage log enabled doesn't crash or anything 10:51
should i pull the "merge" trigger? 10:53
brrt i can't judge for that.. 10:56
timotimo i will. travis also +1'd it :P 11:14
Geth MoarVM/master: 23 commits pushed by (Timo Paulssen)++, (Daniel Green)++, (Zoffix Znet)++, timo++
review: github.com/MoarVM/MoarVM/compare/b...0744814189
11:17
timotimo boom
brrt bada-bing, bada-bang
timotimo gave it a nice long-ish description, too
Zoffix \o/ 11:39
And I'll PR the fixed and faster parser in ~12hours
timotimo nice 11:42
12:09 geekosaur joined
Geth MoarVM/even-moar-jit: 93ff77b174 | (Bart Wiegmans)++ | docs/jit/plan.org
Document automatic unconditionalizing

A value first computed in a conditional branch and used in a different conditional branch or indeed in any basic block that is not followed solely by the conditional is at risk of never being computed. We have the 'let rooting hack' to ensure that the computation is ordered before the conditional block (and hence available anywhere), but that's hacky, error-prone and would not work for dynamically generated tree fragments. So I've documented a way to order node computations automatically.
15:37
16:24 zakharyas joined 17:48 AlexDaniel joined 17:56 ilmari_ joined, btyler joined 20:46 timo joined 20:47 timo1 joined 20:55 ggoebel joined 21:12 MasterDuke joined
Voldenet Does moarvm support nonblocking await?? 22:47
timotimo yup 22:48
it's just continuations
same as gather/take 22:49
Geth MoarVM: zoffixznet++ created pull request #570:
Fix coverage parser
22:53
Zoffix Done
Zoffix calls it a night and goes to shoot things in Andromeda o/
timotimo have fun! 23:01
samcv full information about generating coverage, and coverage with html here github.com/samcv/MoarVM-cover 23:15
have up to generating report overviews done. after a break, possibly tonigth i'm gonna try working on best arguments and things to generate a full line by line report. but the majority of work is done and in the repo. will let you know when i have the final part done 23:16