github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm Set by AlexDaniel on 12 June 2018. |
|||
07:46
zakharyas joined
07:51
squashable6 left
07:55
squashable6 joined
08:51
Geth left
08:52
Geth joined
08:58
domidumont joined
09:15
zakharyas left
10:08
squashable6 left
10:11
squashable6 joined
10:12
zakharyas joined
10:31
brrt joined
10:45
sena_kun joined
11:04
brrt left
11:48
domidumont left
12:10
brrt joined
12:32
brrt left
12:37
Util joined
12:41
brrt joined
12:51
brrt left,
brrt joined
12:59
brrt left
13:32
lucasb joined
14:02
brrt joined
14:07
brrt left
14:17
zakharyas left
15:05
domidumont joined
|
|||
timotimo | profiler stuff was still wrong, so i just pushed a last fix | 15:30 | |
i wonder if that last change fixes any of the remaining issues | 16:13 | ||
nine | I finally pushed 17 commits to make the rakudo build and module precompilation reproducible | 16:54 | |
It's cafe628a4..8ec2c43f1 | |||
That's the diff: github.com/rakudo/rakudo/compare/c....8ec2c43f1 | 16:55 | ||
timotimo | you can probably get a tiny improvement in performance in the optimizer if you have a constant for "empty array", for use inside the remove_decl method, though tbh i don't know how often that gets called at all | 16:57 | |
nine | Probably not that often. And there are other places with constant empty arrays | ||
timotimo | mhm | 16:59 | |
nine | I'm already glad that I had to use sorted_keys in only 7 places | 17:00 | |
timotimo | ah, very good | ||
maybe we should give sorted_keys an output for how many keys in the hash in question so we can maybe put a fast path in for 2 or 3 elements if it's worth it | |||
dogbert17 | timotimo: your last profiler fix didn't fix github.com/MoarVM/MoarVM/issues/1023 | 17:01 | |
jnthn | Started work on making our escape analysis really be a partial escape analysis today. Quite a lot of work. :) | 17:08 | |
If I disable the thing where it realizes it doesn't yet know what it's doing, though, I can get it to move an allocation into the only branch that needs it :) | 17:09 | ||
(In an example where it's safe to do that. In general, it's not yet.) | |||
The test was an NQP program: `class C { }; sub foo($i) { my $x := C.CREATE; if $i % 2 { return $x } else { return 99; } }; my $j := 0; my @objs; while $j < 1_000_000 { nqp::push(@objs, foo($j)); $j := $j + 1 }`. | 17:10 | ||
And it delays the allocation of C into the branch that does `return $x` | |||
Anyways, enough brain ache for today :) | 17:11 | ||
timotimo | whee | 17:13 | |
i'm not sure what exactly is supposed to live at 8 bytes into a BOOTCode; if i read the output of pahole right, the only thing that lives 8 bytes into the object is MVMuint32 owner + MVMuint16 flags + MVMuint16 size ?!? | 17:45 | ||
it would make sense if it were the forwarder, but that lives right at the beginning, and so does the st pointer | 17:46 | ||
(gdb) print (void *)&((MVMCode *)new_addr_obj)->common.header.owner - (void *)((MVMCode *)new_addr_obj) | 17:54 | ||
$12 = 8 | |||
so ... ?!?! | |||
18:04
sena_kun left
18:24
sena_kun joined
|
|||
timotimo | no way past rr record and going backwards and forwards through this, it seems like :| | 18:27 | |
18:36
zakharyas joined
19:00
domidumont left
19:39
brrt joined
|
|||
timotimo | oh, i should perhaps give gdbgui another try | 20:18 | |
20:23
Geth left,
Geth joined
|
|||
timotimo | being able to just doubleclick something in the source, like a variable, and get a popup with a tree of expandable items in it is super nice already | 20:43 | |
21:12
brrt left
22:34
zakharyas left
|
|||
MasterDuke | hm, i keep forgetting i installed gdbgui | 22:58 | |
22:59
sena_kun left
|
|||
MasterDuke | has anyone used kdgb? | 23:35 |