00:57 nwc10 joined 00:59 geekosaur joined 04:01 AlexDaniel joined 05:01 AlexDaniel joined 05:30 brrt joined
brrt good * #moarvm 06:05
samcv good ** 06:23
brrt :-) 06:25
06:29 lizmat_ joined 07:54 zakharyas joined
timotimo o/ 09:15
dogbert17_ o/ timotimo, had your morning coffee yet? 09:20
timotimo i don't drink coffee :) 09:22
dogbert17_ tea?
timotimo not very often
dogbert17_ Red Bull :)
timotimo hardly ever
dogbert17_ how do you manage to stay sharp then ? 09:23
dogbert17_ wouldn't survive without coffee
timotimo have you ever seen me be sharp? :D
dogbert17_ sure 09:24
timotimo: have you also noticed that [Tux]'s code have gotten slower recently? 09:26
timotimo i didn't pay close attention, but i noticed it went below 5 and then above 5 again 09:27
dogbert17_ I wonder why, perhaps time to profile again 09:35
this code takes 5.6 s on my machine: 'for i in $(seq 1 10000); do echo 'hello,","," ",world,"!"'; done > /tmp/hello.csv; time perl6 -Ilib -MText::CSV test-t.pl </tmp/hello.csv' 09:48
Geth MoarVM/master: 5 commits pushed by (Timo Paulssen)++ 10:40
10:54 domidumont joined
timotimo aaw, annotations on spesh bytecode instructions have had 32bits of payload data until now ... but i want to introduce a filename/linenumber annotation, which requires 64bit 10:55
11:00 domidumont joined 11:03 brrt joined 11:29 AlexDaniel joined
timotimo i could also just keep the original pc around, then i could grab the line number out when i actually need it. though i need to walk the annotations data anyway to find the right instructions that actually have annotations for 'em 11:33
fantastic, got something that seems to work 11:37
oh, snap. now i'll have to measure more precisely how many slots have to go into the line_report_store :\ 11:43
brrt ohai timotimo 11:52
timotimo ohai brrt
how are you today? 11:55
Geth MoarVM/line_coverage_precision: ca26c9a65f | (Timo Paulssen)++ | 6 files
keep around line number annotations in spesh

this ought to decrease the number of lines considered uncovered even though lines immediately before them are covered and there's no clear way those could have been skipped.
12:03
timotimo d'oh 12:06
brrt working :-)
Geth MoarVM/line_coverage_precision: 8176035477 | (Timo Paulssen)++ | 6 files
keep around line number annotations in spesh

this ought to decrease the number of lines considered uncovered even though lines immediately before them are covered and there's no clear way those could have been skipped.
timotimo force-pushed %)
brrt how are you 12:09
timotimo i'm all right
i finally tackled this task that i've been putting off for so long 12:10
MasterDuke_ nice 12:25
timotimo: should 2baad5f706 make profiling faster? 12:30
timotimo it could
Geth MoarVM/line_coverage_precision: 3f2d62ffb7 | (Timo Paulssen)++ | src/instrument/line_coverage.c
fix off-by-one and uninitialized read
12:33
timotimo i imagine entries in the list it uses to hold the nodes to visit might be smaller than stack frames for the recursive function 12:35
but there's some overhead from reallocing and such
huh 12:37
MasterDuke_ btw, speaking of telemetry. i know where i saw it demoed before. in one of jonathan blow's videos he was using it to talk about the performance of his compiler. the view was pretty slick 12:43
Geth MoarVM/line_coverage_precision: 71f3d57982 | (Timo Paulssen)++ | src/instrument/line_coverage.c
use the right pair of vars in skip check
timotimo ah yeah, i'd expect jonblow to know of telemetry
and yeah, the real secret sauce isn't in what we've got in moar now 12:44
MasterDuke_ oh also, i get a lot of warnings when compiling moar 12:45
timotimo oh yeah 12:46
now that i put the header file in it actually knows what the first argument to the interval ops is
i should def fix that
MasterDuke_ there are also a couple printf format ones
timotimo mhh
why can't i just pass a pointer to an intptr_t argument :| 12:47
JimmyZ timotimo: I think it misses MVM_ prefix in telemeh.h 12:49
timotimo oh, yeah, i put it into moar.h 12:50
i should def rename it to fit
Geth MoarVM: eb9ae8ddc1 | (Timo Paulssen)++ | 16 files
rename telemetry stuff to fit mvm naming conventions
12:54
MoarVM: 45bbbb3d99 | (Timo Paulssen)++ | 4 files
make threadId MVMThreadContext*, and cast to intptr_t otherwise
12:56
timotimo MasterDuke_: what are those warnings?
MasterDuke_ i'll rebuild with your most recent changes 12:57
src/main.c:198:14: warning: implicit declaration of function ā€˜getpidā€™ [-Wimplicit-function-declaration]
timotimo oh, yes 12:58
i had something for that, didn't i?!
MasterDuke_ format warnings gist.github.com/MasterDuke17/a08c5...f6ebc5170b
timotimo ah 12:59
only in moar.c
Geth MoarVM: 4e82051102 | (Timo Paulssen)++ | src/main.c
get includes for getpid and _getpid into main.c as well
timotimo what's the problem with ' ' on %x? 13:02
Geth MoarVM: 46f9034d53 | (Timo Paulssen)++ | 4 files
uintptr makes more sense than intptr.
13:03
MoarVM: e0de50213c | (Timo Paulssen)++ | src/profiler/telemeh.c
get moar.h for MVMThreadContext
13:04
MoarVM: 31ffb9eb2d | (Timo Paulssen)++ | src/profiler/telemeh.c
use proper format code for long long int.
timotimo what's it look like now? 13:05
MasterDuke_ just the %x one, which i don't understand either
timotimo oh yikes
travis is very unhappy about my atomic stuff 13:06
Geth MoarVM: c280bad6c7 | (Timo Paulssen)++ | src/profiler/telemeh.c
make c89 happy with for loop variable
timotimo let's see it catch up 13:07
it's a bit problematic that travis won't tell us up front when things get borken. i wonder why that is? 13:10
did we mess up the irc report options or something?
MasterDuke_ yeah, it hasn't reported in a while
timotimo it could have told me my code won't compile 13:11
also, i'm confused: why did it compile locally even though there was a for(unsigned int i;...) in the code?
i thought we put a --std in our makefile?
MasterDuke_ nope 13:12
timotimo huh.
i'll do some errands-y stuff instead of watching travis do its thing ā€¦
MasterDuke_ build/check.mk.in:53: gcc -fsyntax-only -std=c99 -Werror -Wall -Wextra $(NOGCC:%=-Wno-%) $(CFLAGS) $(CINCLUDES) $< 13:15
timotimo huh
okay, AFK for now
but how does travis get the c89 one and we get the c99 one?! 13:16
i think i need someone to replace the __ATOMIC stuff with stuff from libatomic_ops 13:17
at least i'm getting travis emails 13:47
MasterDuke_ oh yeah, i just started getting them the past day or two 13:48
timotimo we might want to consider removing the "install latest llvm" stuff when we're setting CC=gcc 13:49
or maybe only do that for coverage
that wasn't so hard ... 13:59
(or maybe i broke it) 14:02
Geth MoarVM: c113b2b8d8 | (Timo Paulssen)++ | src/profiler/telemeh.c
use libatomic_ops instead of __atomic and friends
14:08
MoarVM: f8303a3039 | (Timo Paulssen)++ | src/core/nativecall_libffi.c
missed one uintptr_t cast. thanks, travis!
timotimo this ought to make travis happy
samcv: the first 1m20s are spent on all jobs updating llvm, even if we're using gcc to build ... 14:11
why do we have apple configs with gcc? 14:45
ah, the exclusion was apparently b0rked 14:48
Geth MoarVM: c01b48efc1 | (Timo Paulssen)++ | src/profiler/telemeh.c
old clang versions don't have __rdtscp. stub it in that case.
14:54
timotimo d'oh 14:56
Geth MoarVM: 532d24e6c9 | (Timo Paulssen)++ | src/profiler/telemeh.c
add missing #endif
timotimo oh, hmm. i also have to put in a check that it only gets tried at all if it's x86 architecture 15:11
ugh. clang doesn't set __has_builtin(__rdtscp) 15:20
15:20 domidumont joined
timotimo so i'll have to check clang versions m( 15:20
Geth MoarVM: 2ffe729763 | (Timo Paulssen)++ | src/profiler/telemeh.c
use the builtin name clang actually recognizes for rdtscp
15:23
MoarVM: 3c99ffba92 | (Timo Paulssen)++ | src/profiler/telemeh.c
put in a fallback for __rdtscp on non-x86 platforms
15:39
MoarVM: 1e5fc5b696 | (Timo Paulssen)++ | src/profiler/telemeh.c
use PRI constant for uintptr, kick out " ", is undef behaviour.
15:40 nwc10 joined
timotimo ugh, mac osx doesn't have clock_gettime 15:48
Geth MoarVM: d8c45cfd53 | (Timo Paulssen)++ | src/profiler/telemeh.c
correct check for rdtsc to rdtscp

both should be always be either available or not, but be correct about it.
15:55
MoarVM: 75fff20a09 | (Timo Paulssen)++ | src/profiler/telemeh.c
use libuv to get highres monotonic time

since mac osx doesn't have clock_gettime
timotimo man, this was about 100x more work than i initially thought 15:56
MasterDuke_ heh, but you seem to be making quick work of it 15:58
timotimo *shrug* 16:00
only because a friend is helping me
why do i keep pushing code without trying to compile first 16:01
i wish i had kept it in a branch for longer, then i could amend and forcepush ā€¦
Geth MoarVM: 526c5512e4 | (Timo Paulssen)++ | src/profiler/telemeh.c
remove accidentally remaining timespec struct stuff
16:12
timotimo well, travis is green across the board 17:02
so that's good
17:39 spebern joined
spebern hi, did anyone have some time to look at my code regarding the new native call representation for storing structs in a single memory block? I'm pretty sure there could be some improvement 18:00
yoleaux 20 Mar 2017 01:03Z <timotimo> spebern: i didn't see anyone suggest it, but here's how to have an array of structs: github.com/jonathanstowe/NativeHelpers-Array
18:00 MasterDuke_ joined
spebern timotimo: thanks for that suggestion, I will take a look 18:01
jnthn spebern: It looked interesting, I'm just a tad overloaded still 18:04
So didn't get to give it a close look yet, sorry
spebern no problem, there certainly are more important things 18:05
are there any plans of having arrays with fixed size/shape? 18:06
samcv so many failing modules jnthn :( 18:34
just woke up
jnthn samcv: How many is "so many"? 18:35
samcv uh
327?
jnthn samcv: I suspect in some cases the bit rot goes back over a year
Zoffix Also: how of them haven't been updated since before Dec 2015 :)
*how many
samcv go here and search hack.p6c.org/~samcv/install_log_live.txt ā€œĀ»Ā» (FAILā€
or timeout works too i guess. but for ones only failing 18:36
well. still we shouldn't have failing modules in any cose
it's a bad experience
Zoffix Yes, people do crack jokes about half of our ecosystem being broken
samcv it... may not be wrong
TimToady there's a joke about omelets in there somewhere
samcv they're delicious? 18:37
:P
TimToady I do wonder what percentage of those modules are broken due to reliance on untested "features"
it's quite likely that we were right back at the beginning when we said we'd eventually need about 4 times as many spectests as we have... 18:38
Zoffix I see a lot of failures with ===> Install [FAIL] ... ... no such file or directory 18:39
And just checked one of the modules and it has .pm in the provides META, but the actual file is .pm6
geekosaur ...showing your age? I don't think I;ve seen that saying in anything newer than the 30s
:p
TimToady my 30s were a long time ago, fershure 18:40
timotimo huh, 30 seconds ago? 18:41
geekosaur maybe he's moving at 0.9999c 18:42
Zoffix $ grep -FR '===> Install [FAIL]' install_log_live.txt | wc -l
25
I bet 24 of those are due to incorrect `provides` sections in META
timotimo feels good when so many dists have probably not been installed once :) 18:43
samcv i count 327
using 'Ā»Ā» (FAIL'
instead of ===> Install [FAIL]
way more than 25 failing modules 18:44
Zoffix My hypothesis holds so far :) Will send PRs fixing all `provides` in MEAT
*META
samcv yes that will be very good :) anything that makes less fail is very double plus good 18:45
timotimo TOFU.json
Zoffix .tell Util there are some unmerged PRs that've been marinating for months. Do you mind merging them? github.com/MattOates/Text--Homoglyph/pulls 18:46
yoleaux Zoffix: I'll pass your message to Util.
timotimo samcv: do you know of any way to make the "apt" section of the travis.yml only run for some builds? 18:48
samcv YES
is this to speed up our builds? 18:49
jnthn Zoffix: I think MattOates is Ulti, not Util
samcv it is possible. i will look at it after i get my tea
brb
[Coke] chuckles at MEAT.provides
timotimo the gcc builds take about 3min 30s maybe? and the first 1m 10s of that is mostly apt stuff 18:50
Zoffix oops 18:51
.seen Ulti
yoleaux I saw Ulti 15 Apr 2017 06:22Z in #perl6: <Ulti> you can specify the release but I rarely have problems building head
Zoffix .tell Ulti there are some unmerged PRs that've been marinating for months. Do you mind merging them? github.com/MattOates/Text--Homoglyph/pulls
yoleaux Zoffix: I'll pass your message to Ulti.
Zoffix .tell Util sorry, mistaken identity. :)
yoleaux Zoffix: I'll pass your message to Util.
jnthn I use the pun "ulti-matt" to remember which is which :P
Zoffix :D
heh, oops, one of the failures is my module RT::REST::Client. I didn't even know it was failing 18:58
I... didn't even know I made a Perl 6 RT::REST::Client :S
"Latest commit d6eba88 on Jul 31, 2016"... that was before I quit drinking... 18:59
jnthn Does that explain making an RT::REST::Client in the first place, or forgetting about it? :) 19:00
Zoffix I guess forgetting about it :)
timotimo was probably for perl6.fail? 19:01
Zoffix Probably, but I ended up writing it in Perl 5. Forget why 19:03
I guess Mojolicious
timotimo ok, mayhaps 19:04
Zoffix I lied. I submitted what I could, but this is boring. Dists with INSTALL FAIL that I didn't look at gist.github.com/zoffixznet/8bc1bc2...3cf7759a5d 19:24
The boring part is realizing half these dists are abandoned
We need mst PAN 19:25
shadow.cat/blog/matt-s-trout/mstpan-1/
timotimo yeah :| 19:26
19:41 lizmat joined 19:52 AlexDaniel joined