00:25 btyler joined 01:07 benabik joined 01:47 ilbot3 joined
lue nqp: my $a := subst("\x[10FFFB,10FFFC,10FFFD]", /\s/, "_", :global); say($a) # this appears to be the reason, except for the part where \x10FFFD is untouched in the actual code :/ 05:39
camelia nqp-moarvm: OUTPUT«___␤»
..nqp-jvm, nqp-parrot: OUTPUT«􏿻􏿼􏿽␤»
lue whoops, meant that for #perl6, though I suppose it's somewhat relevant here too :) 05:41
Those codepoints, by the way, are seen by MoarVM as belonging to the categories Co, Cn, and Zl, respectively. They should rather all be Co. 05:46
07:00 zakharyas joined
jnthn lue: TimToady knows most about the Unicode lookups in Moar, so probably has the best idea how to fix it. :) 07:02
I think I mighta figured out a good way to make lexotic (return) a load cheaper while sleeping last night... 07:10
Will have to give it a go this evening, after teaching :)
07:14 brrt joined
brrt hi #moarvm 07:16
jnthn o/ brrt 07:21
How's things?
brrt tired from the weekend
otherwise ok :-)
jnthn :) 07:22
Had time to glance over spesh? :)
brrt glance, yes 07:23
fully-comprehend… not really, no :-)
jnthn src/spesh/graph.h is the key to it all really
brrt uhuh
quick sidenote
the notion of a 'buffer' (or variable-length-realloced-growing-array) leaks all over MVM 07:24
would it be sensible to have a struct MVMBuffer { union { void * v; MVMObject * o; MVMCollectable * c; MVMString * s; } u; MVMuint32 alloc; MVMuint32 num } 07:25
jnthn It may
Though note that different places have different growth strategies, and care differently about if the space that gets allocated is zeroed, and so on. 07:26
brrt true enough
jnthn It's one of those re-use/loose coupling trade-offs, and I tend to call things way more in the loose coupling direction than most folks. 07:27
brrt sure, its fair :-)
could always propose a fix and a pull request and see if it cleans things up
jnthn I could imagine there are opportunities for re-use though
Sure
Well, re-use within a subsystem is fine 07:28
I work hard to keep them decoupled...
ok, time to teach folks how not to screw up web dev too hard. :)
bbl
brrt good luck
09:07 camelia joined 09:20 lizmat joined
jnthn brrt: Looks like your proposal was accepted, so now hopefully we get the slots :) 10:35
brrt: But need to find a backup/second mentor, it seems. 10:36
Anybody want to volunteer? ;)
10:39 LLamaRider joined
JimmyZ me? 10:43
jnthn Mebbe. 10:51
jnthn guesses it's still possible to sign up... 10:52
brrt …. oh really? :-o 11:18
awesome
that is so much awesome :-D 11:19
here's hoping for the slots anyway
tadzik jnthn: is that public knowledge? 11:50
moritz jnthn: sheesh, we're not supposed to talk about that until the slots are firmly allocated and proposals are actually accepted
but we do need a backup mentor, that's no secret, afaict
I've asked timotimo in private message also
JimmyZ: I think signing up as a mentor should still be possible 11:51
JimmyZ Yes 11:54
jnthn moritz: I explicitly said "hopefully we get the slots" 11:57
moritz jnthn: I know 11:58
jnthn The decidedly public-facing issue of "needs a second mentor" was in the same darn sentence of the supposedly private "this looks acceptable". Not to mention "needs a second mentor" kinda implies "this looks hopeful". :/ 11:59
moritz will rest the case 12:01
erm 12:02
grammar is hard
let's go JITting :-)
nwc10 neuralise the logs 12:04
brrt will be such hush about it 12:05
12:06 colomon joined
lizmat fwiw, moritz has the technology to neuralise the perlgeek.de logs :-) 12:06
tadzik img.4plebs.org/boards/pol/image/13...228653.jpg 12:07
nwc10 lizmat: to quote one of my daughter's favourite phrases "I knew that already", but I guess it's not that well known to everyone here
brrt neuralise? 12:09
nwc10 I suppose it should be an American spelling: en.wikipedia.org/wiki/Neuralyzer 12:10
moritz nukes stuff from outer orbit
... but not the logs, today :-)
13:01 colomon joined 13:34 avar joined 13:47 benabik joined 13:54 vendethiel joined 13:59 jnap joined 14:03 btyler joined 14:04 vendethiel joined 14:12 vendethiel joined 14:36 jnap1 joined
timotimo o/ 14:48
15:03 jnap joined
brrt hi timotimo! 15:08
timotimo do i still need to sign up as backup mentor?
if so, where do i do it?
15:09 jnap joined
brrt i have no idea, but iirc - i was a somewhat-lousy backup mentor for parrot last year - the organisation manager must send you a link 15:11
so #soc-help on irc.perl.org should be the right address
timotimo thanks
brrt :-) no, thank you 15:12
15:39 LLamaRider joined
jnthn ++timotimo 15:39
16:43 benabik joined
dalek arVM/spesh: be7b454 | jonathan++ | src/core/callsite.c:
Fix read-after-free in callsite interning.
17:47
arVM/spesh: 2560514 | jonathan++ | src/ (6 files):
Change the way lexotic is handled.

Make it not imply a frame reference, at the cost of a little more work at return time. Then also avoid allocating one per frame that needs it. This leads to a 10% saving on "for 1..1000000 { $i++ }" in Rakudo; we can likely also add a spesh op to make obtaining a lexotic cheaper still.
jnthn Time for some dinner &
timotimo \o/ 17:58
that sounds lovely
jnthn Yeah, it was tasty :P 18:58
timotimo i've got friends over and we'll make pancakes
jnthn ooh :)
But I had an imperial IPA... :) 18:59
19:04 benabik joined
dalek arVM/spesh: 3ddae6a | jonathan++ | src/spesh/facts.c:
Fix fact propagation accidently copying usages.
19:37
19:38 brrt joined
jnthn ...and thus failing to kill some things. 19:38
19:44 jnap joined
brrt what, you're already starting on deopt? 19:46
19:48 jnap1 joined
timotimo we already have some deopt 19:50
brrt wow 19:51
brrt thinks his project is getting smaller by the day 19:52
jnthn See src/spesh/deopt.c
brrt: There's still plenty of hard problems to solve for JIT :)
brrt i think so :-) 19:53
still
this is all going faster than i had expected
tadzik welcome to #moarvm. Meet jnthn 19:54
:P 19:55
brrt :-) 19:58
timotimo :D
brrt ok, that looks understandable enough 20:00
20:03 bonsaikitten joined 20:05 jnthn_ joined, cxreg2 joined 20:06 chipdude_ joined
lue I must be reading unicode.c wrong, because by my interpretation a property lookup on 0x10FFFB generates the index 109358 for a 43829-element array. 20:10
20:19 woolfy joined
hoelzro concurrency stuff in MoarVM is a WIP, right? 20:26
because I just tried using it, and it did not go well =/
jnthn hoelzro: what did you try to do? 20:27
It does typically explode at exit.
hoelzro ah ha 20:28
ok, that's not new to you then
hang on
gisting
jnthn: gist.github.com/hoelzro/10046325 20:30
timotimo rob o/
hoelzro ahoy timo!
timotimo yes, that's known
apparently the VM tears itself down in the main thread while other threads still seem to think it should continue existing
but, as you can see, it worked :)
hoelzro sort of 20:31
timotimo oh, huh
it gave two different results? %)
hoelzro the contents of $a and $b vary between executions
yeah =S
I'm guessing that two threads are fighting
jnthn wtf...
Yeah, that should not happen.
jnthn puts on his "stuff to investigate on Friday" list 20:32
Well, or Thu evening. :)
timotimo jnthn: you'll be tuitless until then? 20:33
lizmat jnthn: hoelzro's bug reminds me of the intermittent lock problem 20:34
t/spec/S17-concurrency/lock.t
jnthn timotimo: Not tuitless exactly, but generally when I'm teaching I just don't have the concentration to take on such things in the evening after it.
lizmat not ok 7 - Condition variable worked
# got: 'ale,porter'
# expected: 'ale,porter,stout'
# log = ale porter stout
in other words: when the check is done, the element pushed $c.wait is *not* in the array yet 20:35
yet, if we do a diag if the check fails, it *is* in the array
which to me means, that thread #1 may still be running *after* the join 20:36
jnthn r: class A { method m() { say nqp::iscont(%_) } }; A.m 20:37
camelia rakudo-parrot b428e8, rakudo-jvm b428e8, rakudo-moar b428e8: OUTPUT«1␤» 20:38
jnthn r: class A { method m(*%h) { say nqp::iscont(%h) } }; A.m
camelia rakudo-parrot b428e8, rakudo-jvm b428e8, rakudo-moar b428e8: OUTPUT«0␤»
jnthn holy s..
tadzik :D 20:39
jnthn That's only one pointless scalar creation every single method call...
timotimo oh!
optimization opportunity \o/ 20:40
tadzik that's plenty of scalars...
oh 20:41
I HAVE to draw that
it won't be gore this time, I promise
timotimo plenty of scalars?
jnthn WITH BLOOD. BLEEDING SCALARS.
tadzik i.imgur.com/gb5Hzwf.png 20:44
it's cute this time <#
jnthn aww :) 20:45
benabik Can also reuse the image for alot of cash (well, USD at least) 20:46
tadzik :D
lizmat jnthn: another error message from lock.t: 20:53
ok 7 - Condition variable worked
Abort trap: 6
adding some debug code makes the test problem go away :-( 20:55
bingo! 20:56
# got: 'ale,porter'
# expected: 'ale,porter,stout'
# log = ale porter stout, now = Instant:1396904172.879234 = Instant:1396904172.872281
I've added a $now1 = now at the end of thread 1, and a $now2 = now after the join of the first thread 20:57
the now from *within* the thread is *after* the now of after the join
ok 7 - Condition variable worked 21:07
moar(99247,0x7fff7df2e310) malloc: *** error for object 0x7f8b13d9c8c0: pointer being freed was not allocated
*** set a breakpoint in malloc_error_break to debug
Abort trap: 6
dalek arVM/spesh: df0f6a4 | jonathan++ | src/spesh/args.c:
Specialize empty named slurpy args.
21:08
21:09 lue joined
lizmat jnthn: made it into a proper text, and put the test in roast 21:10
timotimo jnthn: should i wait for something special before running a full benchmark with rakudo + spesh?
lizmat after running this ~ 40 times, I got this bingo:
not ok 7 - Condition variable worked
# got: 'ale,porter'
# expected: 'ale,porter,stout'
# log = ale porter stout, thread was running *after* join
So I think there is something definitely wrong with .join 21:11
as in Thread.join
jnthn lizmat: whoa...
odd
timotimo: Just pushing something else now
timotimo oooh :3
hoelzro also, I ran the p6docs on a recent Moar: 270 MB 21:12
way to go, Moar team!
that's 1/3 of what it took only 3 months ago! 21:13
jnthn o.O 21:16
Wow :)
timotimo hoelzro: did you compare speed, too? 21:21
hoelzro 15 minutes, at the moment
which is slower
but I don't know if more files have been added
I'll check that
timotimo oh, hmm 21:24
21:51 brrt left 22:11 colomon joined
jnthn timotimo: OK, I'm gonna sleep now, so you can benchmark ;) 22:15
timotimo ok 22:16
i already benchmarked, but i'll do it again with the newest commit
jnthn timotimo: ooh, got the graphs from the one you did? 22:17
22:44 jnap joined 22:49 harrow joined 22:54 timo` joined 23:51 timo joined