github.com/moarvm/moarvm | IRC logs at colabti.org/irclogger/irclogger_logs/moarvm
Set by AlexDaniel on 12 June 2018.
obserd 00:27
00:28
kloeri: and I'm tired of you guys
thinking you can ban staff
when we complain about your spam
timotimo fun, 0.66ms of "to-json" is spent inside Num of Int. guess why? because !cursor_init is written in nqp i guess :) 00:45
it's barely anything in the grand scheme of things, of course 00:46
MasterDuke timotimo: i thought maybe it was my MoarVM PR that renamed getstrfromname that caused my nqp branch to not build, but reverting it didn't help. any thought about what it might have been instead before i just trying manually bisecting? 02:06
huh, reverted MoarVM to what i think was a working commit and same error... 02:28
abrotman23 03:03
03:04
kloeri: and I'm tired of you guys
thinking you can ban staff
when we complain about your spam
MasterDuke if anyone is interested, here's a count of all the BAILs during a `make m-test `m-spectest` gist.github.com/MasterDuke17/d5757...813d1f1d71 03:31
setmethcache is top with 3188, then ctxouter with 1245, then it drops for the next two, param_on_o and param_on_i are both 600 something 03:33
Geth MoarVM: d19c66084d | (Stefan Seifert)++ | src/jit/stub.c
Unbreak build on architectures where we don't support JIT compilation

Fixes GH #940
05:09
travis-ci MoarVM build errored. Stefan Seifert 'Unbreak build on architectures where we don't support JIT compilation 05:32
travis-ci.org/MoarVM/MoarVM/builds/415294254 github.com/MoarVM/MoarVM/compare/1...9c66084d26
lagbox22 | ; ; /` .\ _,==" \ .' 05:50
\; ; ; .'. _ ,_'\.\~" //`. \ .'
| ; .___~' \ \- | | /,\ ` \ ..'
~ ; ; ;/ =="'' |`| | | =="''\.==''
~ /; ;/="" |`| |`| ==="`
~..==` \\ |`| / /=="`
~` ~ /,\ / /= )")
~ ~~ _')")
~ ~ _,=~";` 05:51
~ =~"|; ;| Penisbird
~ ~ | ; | =========
~ ~ |;|\ |
|/ \|
Caraway5 | ; ; /` .\ _,==" \ .' 07:24
\; ; ; .'. _ ,_'\.\~" //`. \ .'
| ; .___~' \ \- | | /,\ ` \ ..'
~ ; ; ;/ =="'' |`| | | =="''\.==''
~ /; ;/="" |`| |`| ==="`
~..==` \\ |`| / /=="`
~` ~ /,\ / /= )")
~ ~~ _')")
~ ~ _,=~";`
~ =~"|; ;| Penisbird
~ ~ | ; | =========
~ ~ |;|\ |
|/ \|
Geth MoarVM: 829b8ee705 | (Samantha McVey)++ | 3 files
Fix a regression with Regional Indicator Unicode Graph Seg.

The state for when past regional indicators were encountered would last too long, leading segmentation code breaking in the wrong place when multiple Regional Indicators were encountered that were not contiguous.
  (RI) (RI) (RI) would work fine and become (RI)(RI) (RI) (first two are one
grapheme while the third one is by itself). ... (16 more lines)
08:07
todevil | |':::' '::' / | | 09:06
| \ '::' _.-`; ; ; |
| /`-..--;` ; | ; | |
| ; ; ; ; ; | | |
| ; ; ; ; ; ; ; / ,--.......|.,
| |; ; ; ; ;/ ; ; .' '-='.
| | ; ; ; ; / / .\ '
| | ; ; /` .\ _,==" \ .'
| \; ; ; .'. _ ,_'\.\~" //`. \ .'
| | ; .___~' \ \- | | /,\ ` \ ..' 09:07
| ~ ; ; ;/ =="'' |`| | | =="''\.==''
| ~ /; ;/="" |`| |`| ==="`
| ~..==` \\ |`| / /=="`
| ~` ~ /,\ / /= )")
| ~ ~~ _')")
| ~ ~ _,=~";`
| ~ =~"|; ;| Basketballbird
| ~ ~ | ; | ==============
| ~ ~ |;|\ |
| |/ \|
jercos28 | / '::'::' / ; ; ; OPERS | 09:16
| |':::' '::' / | |
| \ '::' _.-`; ; ; |
| /`-..--;` ; | ; | |
jercos28 | ; ; ; ; ; | | | 09:16
| ; ; ; ; ; ; ; / ,--.......|.,
| |; ; ; ; ;/ ; ; .' '-='.
| | ; ; ; ; / / .\ '
| | ; ; /` .\ _,==" \ .'
| \; ; ; .'. _ ,_'\.\~" //`. \ .'
| | ; .___~' \ \- | | /,\ ` \ ..'
| ~ ; ; ;/ =="'' |`| | | =="''\.==''
| ~ /; ;/="" |`| |`| ==="`
| ~..==` \\ |`| / /=="`
| ~` ~ /,\ / /= )")
| ~ ~~ _')")
| ~ ~ _,=~";` 09:17
| ~ =~"|; ;| Basketballbird
| ~ ~ | ; | ==============
| ~ ~ |;|\ |
| |/ \|
jnthn I figure these aren't ident'ing; I think +r means identified users only 09:19
diakopter oh yikes 12:56
diakopter I'll try to kick spammers on #perl6 as I see them 13:06
Geth MoarVM/postrelease-opts: e9f1117e5b | (Jonathan Worthington)++ | src/spesh/optimize.c
Optimize "hot" wval lookup into spesh slot access

For a wval that was already accessed, stash it away in a spesh slot and access it that way. This is rather faster, avoiding the various indirections in wval lookup.
15:38
Zoffix (bot should theoretically not voice the new spammers now, so +r ain't needed) 15:39
timotimo ooh 16:04
jnthn Stage parse : 46.932 16:11
Well, that's a new low
timotimo o_O
the more i work on the profiler frontend, the more i'd like to build a spesh log viewer 16:12
maybe TPF wouldn't be too strongly against accepting another grant proposal from me after the profiler one is finished 16:13
though the spesh viewer wouldn't be quite as useful to regular perl6 users
compared to the profiler anyway
jnthn Yeah, I think it's too much info for most folks 16:14
timotimo that's where a viewer program could help, though
make the specializations themselves the "center", show facts and spesh slot contents when you hover/click the operand, show the logged info when hovering/clicking the "logged" annotations 16:15
point out the exact location in the "before" code for deopt annotations
something for the "deopt=" data, too 16:16
the spesh log to graphviz one wasn't terrible, but it's really, really, really hard to see what's going on 16:19
with the blocks going all over the place
would perhaps be better to have a linear list with highlighting and navigation buttons and such
Geth MoarVM/postrelease-opts: e56287e306 | (Jonathan Worthington)++ | 5 files
Immediately promote objects ref'd from gen2

When we hit the write barrier, annotate on the object that was being referenced that it was pointed to by a gen2 object. Then, if it is alive at the next GC, immediately promote it to gen2 rather than it having another stay in the nursery.
... (5 more lines)
jnthn Yeah, even better if we can interleave source code with spesh'd results
timotimo true
huh, only 10% improvement on that benchmark? that doesn't seem like enough
jnthn Well, it's not like GC is the only thing going on in there :) 16:21
timotimo true, but i was assuming it was getting pathological performance due to GC runs being basically doubled
jnthn True, it was very GC heavy 16:22
But still not to the degree GC took 50% of the runtime or something
timotimo what does your code for that benchmark look like? i'm trying 'my @a = 1 xx 10_000_000; say @a[*-1]' right now 16:23
timotimo though that perhaps benefits from the int cache a bit too much 16:23
jnthn ah, that'll hit the int cache for sure
timotimo i only noticed while i was writing the message %) 16:24
jnthn for ^10 {
my @arr;
for ^1_000_000 {
@arr[$_] = 42;
}
}
jnthn That's also a constant though :-) 16:24
Oh
But all the Scalar containers :)
timotimo imgur.com/IStTqLR - beautiful 16:28
(that's before your patch)
timotimo also, i replaced 42 with $_ 16:29
timotimo imgur.com/ZOqWrR6 - this is after the patch 16:32
the distance between the GC runs is pretty consistently about 25ms 16:33
before the patch that number oscillated between 11 and 15 16:34
jnthn Ah, quite a lot less runs :)
Nice
timotimo very close to half
imgur.com/5g2xS76 - callgrind output for that, if you're interested 16:41
timotimo so, i'm wondering: can we do some kind of trick to make worklist creation for VMArray much faster? like, the index is "just" incrementing by a pointer each time, the other content is basically just a memcpy of the array content, if it is contiguously non-null 16:43
i wonder if perhaps worklist would be more efficient if it were contiguous collectable-pointers and contiguous collectable-pointer-pointers 16:44
if that allows us tricks like that
if it's even worth anything 16:45
jnthn Well, it's only a memcpy when we don't need to include the gen2 16:51
timotimo you mean when we do need to include the gen2? 16:52
otherwise we'd have to filter things out?
but we'd also have to leave out null pointers, so it's only really doable if we know we can get away with that 16:53
perhaps that's a topic for another year, or for another person
jnthn oops, yes :) 16:58
brrt \o 20:40
moritz o/ 20:42
brrt ohai moritz 20:43
jnthn o/ 20:44
brrt \o jnthn
nine++ for bugfixing the JIT this weekend
lizmat jnthn++ for fixing my bugs :-) 20:54
MasterDuke timotimo: i am...not smart 23:05
i created a moarvm branch to go along with my nqp branch 23:06
but i'd forgotten that, and have been trying to build against moarvm master