github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
00:25
leont left
00:54
Altai-man_ joined
00:56
sena_kun left
02:13
AlexDani` joined
02:15
AlexDaniel left
02:28
vrurg left
02:29
vrurg joined
02:32
vrurg_ joined
02:33
vrurg left
02:55
sena_kun joined
02:56
Altai-man_ left
03:37
vrurg_ is now known as vrurg
04:54
Altai-man_ joined
04:56
sena_kun left
|
|||
nwc10 | good *, #moarvm | 06:16 | |
Geth | MoarVM/prefer-lexical_names_list: c70587551a | (Nicholas Clark)++ | 3 files Where possible, iterate over lexical_names_list instead of lexical_names. The former is an array, the latter a hash. Given that they have the same contents, it's much simpler to iterate over the list. |
06:24 | |
MoarVM/prefer-lexical_names_list: 4d0da364d2 | (Nicholas Clark)++ | 7 files Wrap all access to lexical_names with MVM_get_lexical_by_name. This permits us to easily tweak the storage format. The "Indexes were formerly stored off-by-one" comment related to code before 2013, back when hashes were implemented with the Apache Portable Runtime. I don't think that it's useful to retain it. :-) |
|||
MoarVM/prefer-lexical_names_list: 3658e4cd1f | (Nicholas Clark)++ | 2 files Don't make a lookup hash for lexical names for frames with few lexicals. If there are 5 or fewer lexicals in the static frame, don't create a lookup hash for them. Instead, find them by a linear scan of the list. For a short list, this won't be slower, and we save some memory. The value 5 is an educated guess - there might be a better cut-over point. ... (5 more lines) |
|||
nwc10 | a rebase | ||
06:55
sena_kun joined
06:57
Altai-man_ left
07:32
zakharyas joined
07:50
leont joined
08:54
Altai-man_ joined
08:57
sena_kun left
09:56
AlexDani` is now known as AlexDaniel,
AlexDaniel left,
AlexDaniel joined
|
|||
Kaiepi | i'm adding ops for getsockname and getpeername, since happy eyeballs requires a way of getting a source address used for a connection and the way that source/peer addresses are handled with IO::Socket::INET and IO::Socket::Async is pretty adhoc atm | 10:33 | |
i know they need to go somewhere in struct MVMIOOps in order to work with both sync and async sockets, but i'm not sure whether they belong more in struct MVMIOSockety, struct MVMIOIntrospection, or something like struct MVMIOAddressable instead | 10:34 | ||
since they're introspective socket ops, but async sockets don't use struct MVMIOSockety, and not everything that uses struct MVMIOIntrospection is a socket, i'm leaning more towards the latter | 10:37 | ||
10:55
sena_kun joined
10:56
patrickb joined
10:57
Altai-man_ left
11:24
zakharyas left
|
|||
Kaiepi | is tools/update_ops.p6 failing on master for anyone else? | 11:36 | |
MasterDuke | `Cannot parse operand ':confprog'` ? | 11:53 | |
timotimo | oh? that should have gotten in there many months ago | 11:59 | |
support for that | |||
ah i see it's possibly a problem in rakudo itself | 12:15 | ||
Geth | MoarVM: eafa7b3918 | (Ben Davies)++ | 2 files Ensure MoarVM includes the correct 3rdparty libuv objects on *BSD 3rdparty builds of libuv didn't include the same objects that libuv itself does. This shouldn't affect MoarVM as it currently stands, but may cause problems in the future should uv_random or uv_interface_addresses ever be used. |
12:47 | |
MoarVM: 43b9962773 | (Jonathan Worthington)++ (committed using GitHub Web editor) | 2 files Merge pull request #1314 from Kaiepi/libuv-bsd Ensure MoarVM includes the correct 3rdparty libuv objects on *BSD |
|||
12:54
Altai-man_ joined
|
|||
Geth | MoarVM/master: 4 commits pushed by (Nicholas Clark)++, (Jonathan Worthington)++ | 12:56 | |
12:56
sena_kun left
12:57
Altai-man_ is now known as sena_kun
|
|||
Geth | MoarVM: 0racle++ created pull request #1315: Declare loop var before loop |
13:10 | |
MoarVM: c177e85cc1 | (Daniel Green)++ | 2 files Remove two unused variables These aren't used anymore after github.com/MoarVM/MoarVM/pull/1307 |
13:14 | ||
13:21
zakharyas joined
13:26
mst left,
mst joined,
ChanServ sets mode: +o mst
13:30
mst left,
mst joined,
mst left,
mst joined,
ChanServ sets mode: +o mst
13:31
greppable6 left
13:32
greppable6 joined,
greppable6 left
13:34
greppable6 joined
13:35
greppable6 left,
greppable6 joined
13:36
greppable6 left
13:38
greppable6 joined
|
|||
dogbert17 | jnthn: not to destroy your afternoon but in case you missed it: Commit github.com/MoarVM/MoarVM/commit/32...2becb8e59, which fixed a perf regression, made the SEGV in Spreadsheet::XLSX return. | 14:02 | |
jnthn | :-( | 14:04 | |
OK, well, screw it | |||
Better just work on the dispatch stuff, which will lead to deleting that code anyway | |||
dogbert17 | agreed :-) | 14:05 | |
jnthn | The whole invocation spec mechanism is getting thrown out | ||
dogbert17 | Very cool | 14:06 | |
jnthn | In fact, the whole load of code in optimizing invokes gets simpler, because the dispatch program encodes how to find the VM-level bytecode reference anyway | 14:07 | |
So it won't have to do the whole lot of figuring that out | |||
dogbert17 | sounds like it could be faster than the current impl. | 14:08 | |
nwc10 | jnthn: t/moar/53-dispatch.t fails test 20 for me currently. I assume that that's known. | 14:09 | |
jnthn | Yes, but I don't know exactly why, or when that started to happen. | ||
nwc10 | OK. "Me neither". (currently) | ||
jnthn | Currently figuring out how to handle flattening and callsite interning and all that fun | 14:10 | |
Which blocks a few things | |||
dogbert17 | You need coffee | ||
jnthn | Already had enough today...onto tea already :) | 14:11 | |
If I drink too many coffees I don't tend to feel all that good | |||
vrurg | In some respect tea isn't better than coffee. I can't drink it a lot. | 14:13 | |
tellable6 | 2020-06-11T15:48:08Z #raku <melezhik> vrurg_ RakuDist fails for the latest release of Vikna, i don't know, may be just docker related - rakudist.raku.org/sparky/report/debian/298 | ||
jnthn | vrurg: I'm drinking chamomile or mint tea, which is perhaps less bad :) | ||
Hm, that spelling looks odd | |||
vrurg | jnthn: oh, sure it is! Except that I'm sleepy enough without their help. :) | 14:14 | |
nwc10 | jnthn: and for new-disp, rakudo goes SEGV somewhere in the setting: | 14:24 | |
#0 0x7f7451a8b570 in build_cfg src/spesh/graph.c:660 | |||
#1 0x7f7451a8d818 in MVM_spesh_graph_create src/spesh/graph.c:1342 | |||
... | |||
probably also not news. | |||
jnthn | No, if you want to try anything there at the moment, MVM_SPESH_DISABLE=1 is needed | ||
nwc10 | OK | ||
jnthn | I've decided to get things working before digging into making the optimizer understand them. | ||
Hoping that this order will lead to the least re-work of things | 14:25 | ||
nwc10 | that's far too sensible. :-) | ||
14:31
MasterDuke left
14:36
mst left,
mst joined,
ChanServ sets mode: +o mst
14:51
MasterDuke joined
14:54
Altai-man_ joined
14:56
patrickb left
14:57
sena_kun left
15:04
patrickb joined
|
|||
nwc10 | jnthn: OK, without spesh new-disp has compiled the setting under ASAN and reached the tests | 15:05 | |
lizmat | and yet another Rakudo Weekly News hits the Net: rakudoweekly.blog/2020/06/15/2020-...proaching/ | 15:14 | |
Geth | MoarVM/new-disp: 4 commits pushed by (Jonathan Worthington)++ | 15:20 | |
nwc10 | jnthn: ASAN makes no comment on your new changes. | 15:34 | |
Geth | MoarVM/new-disp: cbbf5a4990 | (Jonathan Worthington)++ | 5 files Extend the callsite interning API * Indicate how much we want the callsite to be interned * Make whether we take over the memory of the passed callsite an option |
15:45 | |
jnthn | The callsite intern cache is a potentail source of read after free... | 15:46 | |
*potential | |||
Will fix that along with the work I'm currently donig | |||
nwc10 | jnthn: I cannot find a revision where t/moar/53-dispatch.t test 20 passes | 15:49 | |
"not ok 20" at commit 653702ecd6ec628aad79ddbfbb41095476e9d157 in MoarVM | |||
does not even get that far with commit 653702ecd6ec628aad79ddbfbb41095476e9d157^ | |||
jnthn | Huh, interesting | 15:50 | |
nwc10 | yes that's what I thought too. | 15:51 | |
I can't confidently prove that no commit exists. But it sure looks like it | |||
maybe you've done what I did at work recently - I know that I had my test passing at some point, but the revision that I checked in didn't pass any more. | 15:52 | ||
jnthn | It's possible, yes | ||
nwc10 | also, had a near miss - beer fridge operative failed to restock after yesterday's lunch. | 15:53 | |
jnthn | oops | ||
There's now a Belgian beer bar in Prague with Kwak (and much more) on tap. | 15:54 | ||
And it's not that far away from where I live. | |||
nwc10 | borders are open! Only 5 hours on the train, isn't it? :-) | 15:59 | |
15:59
mst left,
mst joined,
ChanServ sets mode: +o mst
|
|||
Geth | MoarVM/new-disp: 1f70bc28b6 | (Jonathan Worthington)++ | src/disp/program.c Force interning of callsites used in dispatch prog |
16:00 | |
nwc10 | I hadn't even finished running NQP's tests with the previous commit! :-) | ||
Geth | MoarVM/new-disp: 062447a96b | (Jonathan Worthington)++ | 3 files Make MVMCapture handle non-interned callsites It should quite rarely see these, but when it does, then it makes the assumption that it owns and should thus manage the memory associated with them, freeing it when the capture object is GC'd. |
16:12 | |
nwc10 | I hadn't even finished running NQP's tests with the previous commit! :-) | ||
t/moar/53-dispatch.t still fails 20. The rest pass. Implies ASAN considers your work unworthy of comment. :-) | 16:13 | ||
jnthn | At some point I'll go home and this problem will end...for now :P | 16:25 | |
nwc10 | again: t/moar/53-dispatch.t still fails 20. The rest pass | 16:36 | |
16:38
patrickb left
16:53
MasterDuke left
16:55
sena_kun joined
16:57
Altai-man_ left
|
|||
Geth | MoarVM/new-disp: ff272f3094 | (Jonathan Worthington)++ | 3 files Use FSA for callsite intern store And also make it resizeable. This also fixes a longstanding unlikely but possible use after free bug: if one thread was looking through the interns while another thread decided to expand it and did a realloc, the other thread would end up still reading from the freed memory. |
17:21 | |
17:49
zakharyas left
18:14
mst left,
mst joined,
ChanServ sets mode: +o mst
18:52
MasterDuke joined
18:54
Altai-man_ joined
18:57
sena_kun left
19:11
zakharyas joined
|
|||
nwc10 | I fear that this is going to sound like a stupid question... | 20:11 | |
I'd like to hit code in src/profiler/heapsnapshot.c | 20:12 | ||
I thought that it generated binary output | |||
I thought that if I followed the instructions in github.com/jnthn/p6-app-moarvm-heapanalyzer I'd get this | |||
instead, when I run rakudo-m --profile=heap -e 'say "Hello world"' | |||
I get a file called `heap` which is XML | 20:13 | ||
timotimo | yes, needs to be --profile=blah.mvmprofile | ||
no | |||
yes, needs to be --profile=blah.mvmheap | |||
the "what kind of profile to do" is either a second flag, or it's based on the filename's ending | |||
nwc10 | ah OK cool. thanks. | 20:14 | |
I owe you a beer. Or $other drink. Or petrol :-) | |||
timotimo | it used to be yo uhave to --profile-filename separately from --profile=heap vs --profile=instrumented or whatever | ||
mhhh, i think if we use nqp::objectid and pass an integer array to the heap snapshot capture thing somehow, they could be listed up on the front page of the heap analyzer | 20:28 | ||
without necessarily creating a new reference that'd make the graph less true to the real situation | 20:29 | ||
20:35
zakharyas left
20:40
mst left,
mst joined,
ChanServ sets mode: +o mst
20:55
sena_kun joined
20:57
Altai-man_ left
22:22
murman joined
22:36
murman left
22:54
Altai-man_ joined
22:57
sena_kun left
23:19
murman joined
23:27
murman left
23:33
murman joined,
murman left
23:57
murman joined
|