00:46 tokuhirom joined 00:51 colomon joined 01:51 ShimmerFairy joined 02:33 tokuhirom joined
timotimo i've got the Homebrew Launcher on my new nintendo 3ds now, so i can try to port moarvm to it! :P 02:38
timotimo tries to get sleep now 02:39
07:18 FROGGS joined 07:27 leont joined 07:39 domidumont joined 07:53 domidumont joined 09:41 kjs_ joined 10:04 FROGGS joined 10:22 FROGGS joined 10:31 brrt joined
brrt \o 10:44
jnthn o/ brrt 10:49
brrt \o jnthn 10:51
i've figured out a new bug in the JIT :-)
timotimo woo!
10:51 tokuhirom joined
brrt yes. apparantly the size of AND is not propagated to NZ 10:52
jnthn In even-moar-jit, I assume? :) 10:55
10:56 zakharyas joined
brrt aye 10:58
nwc10 sadly AND doesn't appear to be a 3 letter code for Andorra else there might be punning potential with the NZ
brrt sorry, no puns for you today
nwc10 oh, excellent it is 10:59
brrt actually, AND not propagating a size is definitely a bug, since AND is just binary arithmetic, not condition-flagging
nwc10 but it would need to be NZL.
brrt in AT&T notation that's just NZ-long
:-P
jnthn: are you planning to go to FOSDEM? 11:06
jnthn brrt: Not sure at the moment. Having to keep my travel down for the moment. 11:07
brrt i suppose that is a good idea, yes
jnthn (For health reasons :/) 11:08
brrt it is understood :-)
much preferable to have a healthy jnthn in prague than a sick jnthn spread over the world
jnthn Indeed. 11:10
brrt hmm.. maybe you can advice me on something though 11:13
i kind of have two topics that I may want to present
one is about the JIT
from the perspective of how we aimed to keep it simple so that it could be implemented in a reasonable amount of time 11:14
I mean, JIT compilers are basically known as monsterprojects
that no sane team should embark on
but i don't think we've had that experience, and I think it'd be interesting to show why 11:15
on the other hand, maybe people are getting bored by the JIT
the second topic is about how tech people in general and software developers in particular rarely, if ever, thing of their work as systems, and how that's hurting us 11:18
so that's not about perl at all
or JITs
people pick technology before they design the system. and with technology they then force themselves into a particular system architecture, and very often that technology is, shall we say, suboptimal 11:19
or 'wildy and embarrasingly wrong'
do you think any of these topics is worth sharing? 11:23
jnthn talks plenty on a couple of the architecture courses he teaches about how we love to pick tools/languages/frameworks right at the start of a project, but that this means we're doing at the point when we're at maximum ignorance about what we're actually building
And so are in a bad place to make such choices. 11:24
brrt right, that's basically what i mean :-) 11:28
and the thing is.. in env sci. we're also very interested in technology, but we're more interested in 'what does this technology *do* with it's environment'
and so we use a pretty systematic way of evaluating the functions and features and requirements, and only then start looking at specific implementations 11:29
and what i've found is when applied to IT that works really very well
brb 11:32
jnthn *nod* 11:33
It's interesting, dunno how to make it fit so easily into the Perl track :)
"" 11:35
oops
11:48 kjs_ joined 11:55 kjs_ joined 12:24 lucasb_ joined, brrt joined
lucasb_ I don't know how much the 3 dependencies libuv, dynasm, and dyncall are used in moarvm code. I'm just reminding that the 3 are outdated in moar's repo. I don't know if there is time to update them before xmas, or if it's even relevant to do it. 12:24
timotimo there is surely time before christmas to update
how far are we behind?
lucasb_ I think libuv is the most important. I know nothing about dynasm,dyncall 12:25
libuv is at v1.7.5; moar's libuv is 1.0 I think
brrt hi lucasb_. libuv could well be outdated. we don't lightly undertake an update though 12:29
timotimo we're that far behind, huh? 12:30
brrt although iirc i did create a 1.6 branch some time go
ago
timotimo didn't we recently get an update?
yeah, i remember that
i thought it had been merged
brrt i'm not sure if that ever got merged
anyway. DynASM cannot be outdated for the simple reason that we maintain our own fork
(it's not normally a separate project) 12:31
dyncall, i don't know about that
iirc FROGGS did some work to 'unbundle' that for maintainers
lucasb_ I mean MoarVM/dynasm has a newer revision MoarVM's submodule
brrt well, don't use that newer revision 12:32
lucasb_ but I think is few code
oh, ok
brrt it is the way it is for a reason :-)
lucasb_ thanks for the explanation, brrt++
brrt specifically, i hacked dynasm to support dynamic addressing for the x64 extended registers. i've had many problems with that. 12:33
lucasb_ is it extracted from the luajit project? I see there is a LuaJIT 2.1.0-beta1 from august
brrt yes. i don't think they have had many dynasm updates since 2.0
i try to keep up with that, but not entirely succesfully
i think you can create a new extraction by git tree-filter or something 12:34
jnthn: yeah, i think you're right about that. doesn't really fit within perl 12:39
flussence fwiw I've been building moar against system libuv(1.7) and libtommath for months now and it's worked fine for me 12:40
lucasb_ flussence: That's interesting to hear. I'll try that myself. But if I hit some problem I'll never know if it was my fault. I see that the last libtommath 12:44
... the last libtommath release is 0.42, but there is newer commits in its github repo 12:45
brrt hmmm 12:46
lucasb_: i would personally recommend against just checking out the latest and greatest github commits
unless there are specific bugs or issues that have been fixed 12:47
i mean, many of the commits in moar end up broken at the end
FROGGS the libtommath repo contains patches made by moritz, me and others...
brrt oh really? 12:48
well, i didn't know that
FROGGS yes, in their development branch
which is currently their default
lucasb_ brrt: I think I'm a little OCD about having the lastest thing. Thanks for the advice :)
*latest 12:49
brrt that is understandable :-) 12:57
jnthn Mmmm...chili win :) 13:03
brrt: Yeah; the JIT would more
brrt ok then :-) 13:06
it's always possible to reject my proposals
or not show up
14:08 kjs_ joined
brrt it appears my nz and fix doesn't... fix it :-( 14:45
well, it fixes the missing check, not the segv
dalek arVM: a4c5058 | jnthn++ | src/strings/normalize.h:
All Latin-1 controls are normalization terminators

With the exception of \r if we're doing NFG, since we'll need that to become a grapheme if followed by \n.
14:52
arVM: 808b772 | jnthn++ | src/strings/normalize.h:
Stop fast-pathing \r when computing NFG.

Since we'll need \r\n to become a single grapheme.
jnthn Curiously enough, a4c5058 actually busts a spectest
Looks like 'cus of a badass umption in Rakudo's Str.perl 14:53
Gets me down to 70 fails in grapheme-break.t from 83, though :) 14:54
brrt \o/
14:57 tokuhirom joined
jnthn Now got a patch getting me down to 57 15:37
dalek arVM: cc60af3 | jnthn++ | src/strings/normalize.h:
Slight clarification in a comment.
15:44
arVM: 1ce151f | jnthn++ | src/strings/normalize.c:
Full handling of Control in grapheme breaks.

Covers a bunch more cases where we should break into graphemes, but wrongly did not in the past.
16:19 FROGGS joined 16:59 tokuhirom joined
dalek arVM: 816c8b6 | jnthn++ | / (5 files):
Introduce an NFG quickcheck property and use it.

This plays the same role as the other normalization form quickcheck properties, but also incorporates characters that may serve as grapheme extenders despite having a CCC of zero.
17:27
arVM: deedb4b | jnthn++ | src/strings/normalize.c:
Update a comment with a note on NFG.
nwc10 jnthn: ASAN still likes you (or maybe it just tolerates you - I guess it's more cat-like than dog-like) 17:33
but have not yet got to that laest pair of commits
the problem I mentioned some days ago on channel, I can't now recreate
I could reliably recreate it
no idea what caused it, or what fixed it
FROGGS jnthn++ 17:42
nwc10: I like to think that the relationship between ASAN and the jnthn is more like the one of Yoda and The Forceā„¢ 17:44
in short, ASAN believes in jnthn :o)
18:04 kjs_ joined 18:15 leont joined
jnthn Didn't actually do the most fiddly bit yet though :) 18:27
And it remains to be seen what "\r\n".chars returning 1 (and similar for .substr) will do 18:29
(To the tests/ecosystem)
Anyway, food's ready :) 18:31
leont Food is good, I like food! 18:34
18:51 tokuhirom joined 19:33 kjs_ joined 19:55 vendethiel joined 20:18 ghostin joined 20:20 kjs_ joined 20:22 ghostin left 20:34 colomon joined 20:42 rarara__ joined 20:43 lizmat joined
rarara__ I would like to ask a question about MVM_string_substring: 20:43
what is a single stranded string?
in which case we memcpy?
I'm trying to understand why Str.split is so slow; it can be either because of the simple cycle inside it, or because of substring 20:44
well, prob because of the cycle. 20:48
20:53 tokuhirom joined
dalek arVM/even-moar-jit: 47f8f08 | brrt++ | src/jit/ (4 files):
Distinguish simple and end-of-block branches

End-of-block branches can have a GC syncpoint, while regular branches had best not done this, given that it trips up the register allocation.
21:14
MoarVM/even-moar-jit: 9e5d7ed | brrt++ | src/jit/x64/tiles.dasc:
MoarVM/even-moar-jit: Remove useless casting of small values
MoarVM/even-moar-jit:
MoarVM/even-moar-jit: If a cast is necessary it will be inserted by the expression
MoarVM/even-moar-jit: tree compiler; it should not be added by the code generator.
21:32 colomon joined 21:45 zakharyas joined 21:49 kjs_ joined 21:54 Ven joined 22:00 Ven joined 22:24 kjs_ joined 22:41 Hotkeys joined
Hotkeys hey 22:41
jnthn, I'm having an issue with \r\n and such in a test and was wondering if you think it's related to the stuff you've been doing with that stuff pastebin.com/UqQWwPX4 22:42
it was suggested I ask you here 22:43
TimToady jnthn is hopefully in bed right now, given he lives in Prague 22:44
Hotkeys oh 22:53
whoops
psch Hotkeys: afair, having byte-less \r\n seamlessly translate to grapheme-level \n is something jnthn++ already has on his list 22:54
err, s/less/level/
Hotkeys alright 22:55