00:10 quotable6 joined
jnthn 'night o/ 00:11
AlexDaniel quotable6: ^‘m:’\s+\w+‘=’
quotable6 AlexDaniel, gist.github.com/a54e3d181ee4622084...7d030a9f80
AlexDaniel timotimo: ? it is safe to accept env variables even after the commit (e.g. HEAD MVM_SPESH_DISABLE=1) 00:12
that's from the whole irc history, almost
timotimo cool
i'll head to bed now
seeya later! 00:13
can't wait for brrt's talk :)
hope i'll get more continuous uninterrupted time for talk review tomorrow
01:14 evalable6 joined 01:21 colomon joined 01:51 ilbot3 joined 02:19 sivoais joined 02:20 lizmat joined 02:29 mtj_ joined 02:30 camelia joined 03:55 pharv_ joined 04:28 pharv_ joined 04:44 AlexDani` joined 07:03 lizmat joined 07:38 lizmat joined 07:49 lizmat joined 08:26 zakharyas joined 08:30 zakharyas joined 09:00 lizmat joined 09:02 pharv_ joined
jnthn morning o/ 09:15
09:18 lizmat joined 09:39 lizmat joined
nwc10 jgoo d * 09:52
yes, it's latted ^Hlagged :-)
brrt has just done a very good talk 09:53
jnthn latted? As opposed to americanod? :)
brrt++
nwc10 and a chunk of the room moved to flavio's talk on Perlito
10:10 lizmat joined
timotimo o/ 10:31
10:32 lizmat joined
jnthn o/ timotimo 10:34
timotimo i don't see brrt's talk on the facebook page :o
nwc10 I think that only the main room is being streamed live (and hence I'll guess captured by Facebook) 10:35
but there are cameras in all the rooms, and human servants making sure that they are happy 10:36
timotimo jnthn: how do you feel about .socket-host, .socket-port and .peer-host, .peer-port on IO::Socket::Async?
i'm convinced samcv's talk wasn't in the main room
jnthn timotimo: seems reasonable to me
nwc10 timotimo: schedule agrees with you: act.perlconference.org/tpc-2017-ams...2017-08-10 :-)
ie, only stuff in the left column will be live 10:37
timotimo except for samcv's talk which was live but not in the left column :) 10:38
nwc10 then there's something more nuanced than I first knew
timotimo reality is so messy!
jnthn: would a moar bump be safe right now? 10:41
jnthn timotimo: Should be. I'm doing memory leak hunting at the moment 10:47
timotimo fantastic, then i'll do the thing 10:49
finishing the spec test first
huh, fails in samemark and ignoremark, even though i'm on latest rakudo and merged my stuff into master 10:50
jnthn Yeah, I see them too :S 10:51
timotimo huh, IO::Socket::INET is also unhappy 10:52
i'll have to dig a bit deeper i suppose? 10:53
something going wrong with line breaks 10:56
oh the INET failure was already traced to a commit about "is default" vs "=" in the attributes in IO::Handle 11:14
11:17 dogbert17 joined
Geth MoarVM/master: 5 commits pushed by (Timo Paulssen)++ 11:18
11:27 brrt joined
brrt \o 11:30
timotimo o/ brrt 11:31
how'd your talk go?
brrt ehm, okay i guess :-)
timotimo heh.
brrt i hope people could make some sense out of it
nine++ helpfully reminded me of some words i forgot 11:32
timotimo english can be hard :)
11:34 markmont joined, lizmat joined
nine Talking can be hard :) 11:41
nwc10 sometimes talking is easy, but making sense is hard 11:42
(and knowing when to stop even harder)
brrt hehe 11:43
nine Ok, for those who weren't there: brrt did great :) Very interesting talk and very helpful. I really feel like I can contribute to the expression JIT now. 11:44
brrt thanks nine :-) 11:46
question.. i have 42.WHO.WHAT, and that is a (Stash) 11:47
42.WHO.WHAT.HOW doesn't work
should it?
timotimo m: say Stash.HOW
camelia No such method 'gist' for invocant of type 'Perl6::Metamodel::ClassHOW+{<anon>}'. Did you mean 'isa'?? in block <unit> at <tmp> line 1??
brrt heh, i see 11:49
i get 'no such method WHERE" 11:50
timotimo huh 11:56
brrt yeah
it's not spesh-sensitive 11:57
oh man, you bumped again, i need to merge again :-) 12:04
i'll never get any real work done :-P
timotimo sorry :< 12:05
12:11 brrt joined 12:19 tbrowder joined, timotimo joined, ggoebel joined 12:23 zakharyas joined
brrt hehe, i was kidding you know :-) 12:38
timotimo yeah
brrt hmm, i'm thinking of fixing jit-dump to work on windows 12:57
timotimo that's the thing that disassembles the jit blobs that we dump into a folder? 12:58
brrt yeah, no, it's the thing that drives other porgrams to generate and disassemble the jit blobs 12:59
:-)
it used to be part of jit-bisect
timotimo oh
brrt and one thing it does is set up a pipeline between objdump and jit-comparify-asm, and that doesn't work on windows 13:00
timotimo "comparify" <3 13:02
13:03 lizmat joined
brrt could also have called it diwm-for-difff, i guess 13:10
*dwim
13:30 lizmat joined 13:57 lizmat joined 14:00 lizmat joined 14:28 lizmat joined 15:08 lizmat joined 15:35 lizmat joined 15:41 dogbert17 joined 15:44 lizmat joined
Geth MoarVM: e0ac570401 | (Jonathan Worthington)++ | src/gc/collect.c
Don't set a bit we're meant to be clearing.

In the case this is an object that we're promoting because it has an object ID rather than having been seen in the nursery before, we'd end up setting the "seen in nursery" bit. It appears to have not really mattered, but could cause confusion down the road.
16:18
MoarVM: 7d38e51ce1 | (Jonathan Worthington)++ | src/io/asyncsocket.c
Harden listen_cancel against dupe calls.
MoarVM: 0d2e5f8cc0 | (Jonathan Worthington)++ | src/gc/collect.c
Revert "calloc a tospace instead of memset old fromspace."

In theory, this should have helped a good bit. It did make the numbers from callgrind look an awful lot better. However, further testing has been less encouraging; it seems it can cause increased memory use and, on more practical multi-threaded benchmarks, seems to be a slowdown.
16:32
16:36 lizmat joined
timotimo hm kind of makes sense that malloc and friends are locked for multithreading 16:54
16:58 brrt joined
timotimo this is strange, i'm looking at a specialization of postcircumfix:<[ ]> which has a param_rp_o left in it even though it's a certain specialization for an obj, obj callsite 18:17
and for some reason its checkarity is also still there, isn't that supposed to go away when we have a callsite we're specializing for? 18:18
18:31 ilmari[m] joined 18:32 harrow joined
jnthn timotimo: Hm, that is surprising. 19:03
A certain one, except for the non-interned callsite, should still rewrite to sp_getarg and friends ideally 19:04
timotimo right, i've just grabbed a sub from subway, but i'll look into this a bit later on 19:16
jnthn With meatballs? :) 19:17
jnthn hasn't had subway for...maybe a decade...
timotimo nah, just turkey & ham 19:21
20:06 ilmari[m] joined 20:23 markmont joined
timotimo anyway, the args stuff breaks off for the second parameter, which is a param_rp_i and the callsite has an obj there, but we don't have a type tuple 20:56
i wonder if in the absence of a type tuple it'd be fine to assume it's all right and do the sp_param_o and unbox? 21:00
MasterDuke thanks timotimo for the thumbs-up on github.com/MoarVM/MoarVM/pull/626, anyone else have input? 21:02
on a completely different topic, would it be possible for the default build of MoarVM to have both a regular and debug moar binary created? 21:07
and then have rakudo's perl6-gdb-m and perl6-valgrind-m use those?
jnthn MasterDuke: It'd mean compiling everything twice, pretty much 21:08
And linking
MasterDuke a couple times people have reported segvs and such and we've asked them to run perl6-(gdb|valgrind)0m but the output isn't very useful without moarvm 21:09
jnthn I know that not everyone has hardware that can do a clean MoarVM build in 5 seconds
MasterDuke *a moarvm built with debuging turned on
jnthn But it's not that much time
Maybe we should provide some script that can do a debug build of Moar?
MasterDuke i'm thinking about the pre-built packages provided by the distros 21:10
jnthn Ah
MasterDuke who really cares if those take an extra 30s to build?
jnthn Not sure we can do much there...
Uh, me?
I build MoarVM dozens of times a day... :) 21:11
But I also wonder how it'll work packaging wise
Hm, and do we even package the gdb/valgrind scripts?
MasterDuke yeah
jnthn Hmm
They aren't so useful without a debug build, but I'm not aware of what distros do in this regard 21:12
MasterDuke they run the same moar binary, but what if they ran a moar-debug instead?
timotimo how do distros like fedora have separate -dbg packages with debug symbols?
jnthn timotimo: Dunno, but that sounds worth looking into 21:13
timotimo objcopy --only-keep-debug "${tostripfile}" "${debugdir}/${debugfile}"
strip --strip-debug --strip-unneeded "${tostripfile}"
objcopy --add-gnu-debuglink="${debugdir}/${debugfile}" "${tostripfile}"
Geth MoarVM: the-eater++ created pull request #630:
Add unix socket support
21:15
eater \o/ 21:16
jnthn ooh
eater++
afk for a bit, will look at it after I'm back :) 21:17
eater this is my first time writing C, so yea feel free to give feedback
thanks :)(
timotimo the annswer, of course, is you can't just unbox_i for shits and giggles because it could be a num or str instead 21:21
and if we knew it'd be an Int-ish we'd have that in the type tuple
now why don't we have a type tuple, that's the real question i should be asking, perhaps
probably because the one i was looking at was the one that had hardly any hits :P 21:30
nope, it did have hundreds of hits 21:32
not a single type tuple recorded
i'm not sure how exactly that works
eater: did you see my very recent commit that adds support for getting the IP for the local and remote end of sockets? doesn't that require some changes to my code? 21:33
eater timotimo: no :o
21:33 mtj_ joined
timotimo oh! 21:33
this is syncsocket
not asyncsocket
important letter there :) 21:34
eater yeah, asyncsocket is a bit more complicated
timotimo just a lil :)
eater altho async also uses MVM_io_resolve_host_name
timotimo have to learn the uv api
oh, hmm, so if we pass a high port it'll get a unix domain socket instead and maybe b0rk 21:35
though since i pass the size of the struct it will pass it'll just not write anything, i'd expect
might want to make the code a bit robust for this
eater timotimo: hmmm, where do you do that? 21:36
timotimo for example in asyncsocket.c line 706 21:37
eater ah :')
timotimo i expect sockaddr_storage will also be big enough for domain sockets 21:38
but my push_name_and_port function, which lives at 482, doesn't expect that address family
eater hmm 21:39
this is gonna be fun :')
I mean, what port should I even return
timotimo Int
eater Int:U?
timotimo yup 21:40
there's code in the error handling branches that does that
it's super simple
the code would have to change a little, though 21:42
eater in what do you write C btw? 21:43
CLion is being a whiny bitch :')
timotimo vim
eater nice 21:44
timotimo because i'm a mad man
i'd like a bit more IDE for my C, actually
eater I started there too ye
timotimo BBL
eater o/
22:01 dogbert17 joined
eater anyway, i'll be off too, will look tomorrow at asyncsocket{,udp}.c 22:10
timotimo re 22:29
cool
thanks alot
do we have a way of invoking frames that doesn't log type tuples? 22:33
Geth MoarVM: 348b4262de | (Timo Paulssen)++ | src/io/asyncsocket.c
don't do something silly for unknown address families

like support for unix domain sockets which is coming soon
22:36
timotimo this should let us have domain sockets and not explode violently :)
it just won't give you a hostname 22:37
jnthn timotimo: A certain specialization is one that doesn't do any kind of type-based speculation 23:02
timotimo right 23:03
why do i see zero type tuples in the spesh stats?
i'll try a friend's ram to see if only my ram unit is broken or something in the more expensive rest of the laptop 23:05
jnthn Anywhere, or for a particular frame? 23:07
timotimo postcircumfix:<[ ]> for obj, obj 23:32
i have a workload that has CArray stuffs
23:33 lizmat joined
timotimo my friend's ram doesn't work in my device, so i busted the ram slot somehow 23:33
but his ram didn't take any damage and i'll sell the ram i had to the guy sat next to me 23:34
jnthn Such is hardware... 23:36
timotimo haha, it made his machine hang
jnthn Sold! :P 23:37
timotimo "sorry, no take-backs" 23:38
"you broke it, you pay it"
memtest has beautiful display errors 23:45
gonna drive home for some sleeps 23:47