00:45 jnap joined 00:49 colomon joined 01:24 FROGGS_ joined 04:14 mateus joined 04:43 jnap joined
FROGGS_ jnthn: so moar generated a perl5 script that is able to pick up args like nqp.moarvm and libpaths, and generated a binary like nqp-m... 06:40
jnthn: if we could let it assimilate the .moarvm files it gets, we could have a standalone nqp/perl6 binary, that runs your program (just needs libmoar) 06:41
nwc10 I believe that that's mostly a small matter of linking 06:44
one way is to generate a C source file that is has a char array which is all the bytes 06:45
and I guess then change the main() to pass that instead of mapping in a file
FROGGS_ nwc10: yeah, I know staticperl does that, but I am not C expert enough to now how to do it offhand 06:46
but well, probably it is not even too hard to do... 06:47
nwc10 the routine that generates files for Encode is here: perl5.git.perl.org/perl.git/blob/64...nc2xs#l760 06:49
you end up with things like
static const U8 enctable[68325] = { 228,184,145,228,184,144,228,184,141,228,
184,173,228,184,176,228,184,185,228,185,139,229,176,185,228,186,136,228,186,
...
248,69,248,75,248,77,248,87,248,89,249,93,249,94,249,121,249,177 };
FROGGS_ I see 06:53
dalek arVM/execname: 27229f2 | (Tobias Leich)++ | build/setup.pm:
do emit pattern for flags where we can

While $(PREFIX) is nice within a Makefile, it is useless when used by NativeCall or similar.
06:57
arVM/execname: 772ee63 | (Tobias Leich)++ | / (3 files):
generate a mor runner generator that builds binaries
06:58
FROGGS_ the rest comes later, I am going to travel around today and need to pack 06:59
07:15 zakharyas joined 07:46 jnap joined 08:46 jnap joined 09:47 jnap joined 10:48 jnap joined 10:56 FROGGS[mobile] joined 11:21 colomon joined 11:49 jnap joined 12:28 LLamaRider joined 12:50 jnap joined 13:13 FROGGS[mobile] joined 13:50 jnap joined 14:01 jnap joined 14:05 btyler joined 14:48 FROGGS[mobile] joined 14:53 FROGGS[mobile] joined 17:47 zakharyas joined 17:57 FROGGS joined
lee__ would it be easy to make ctrl+d exit the perl6-m repl? 18:09
i am a creature of habit
jnthn No idea. 18:10
Not sure why/how that normally works. 18:11
nwc10 on *nix, the tty driver (in the default mode) maps control-D to be an End Of File
jnthn ah 18:12
lee__ it seems to work on perl6-j
jnthn normally Ctrl+C's out of it :) 18:13
I suspect it's fisable 18:14
*fixable
lee__ moving my finger one row is a lot to ask! :P
jnthn ;)
timotimo jnthn: did you see my benchmarks over in #perl6? 18:16
t.h8.lv/p6bench/2014-04-04-lexloc-spesh.html
jnthn timotimo: I started looking by my phone doens't like that page much
Let's see what my laptop thinks... :)
Dammit, concat is so crappy on Moar 18:18
I need to have go to war with the string code.
timotimo: Wow, parse-json got 4 times faster 18:21
nwc10 concat - 2 strings enter, 1 string leaves?
jnthn tbh, I'm not sure many of those benchmarks really benefit a load from lex2loc 18:23
As in, can benefit
Rakudo's CORE.setting build seemed to get some benefit. 18:24
timotimo: In the Rakudo benchmarks, is blue or orange spesh? 18:36
timotimo oh, those? 18:37
that's a good Q 18:38
jnthn t.h8.lv/p6bench/2014-04-03-spesh.html
It just has two sha-1s :)
timotimo it seems like i accidentally ran master twice 19:35
on the 3 one 19:36
jnthn, what is your next recommendation for spesh that i could do?
jnthn timotimo: I dunno. I need to catch up with what you have already done :) 19:38
timotimo: And put in the arg spesh.
Er, arg type that is.
timotimo that is what you will do, aye?
dalek arVM/execname: a91a888 | (Tobias Leich)++ | build/gen-moar-runner.pl.in:
strip Win32 specific block from gen-runner script

We should be able to build the nqp/perl6 binary on Windows as well, so we do not need to create batch files.
jnthn yeah
arVM/execname: 17a54d6 | (Tobias Leich)++ | build/Makefile.in:
install the gen-runner script to PREFIX/bin
timotimo is that in o(today)?
jnthn but I think it may force me to do de-opt too
No, I should fix lex-loc on other backends today
timotimo ah, sounds likely
jnthn Can you tell me more about your r-m failure on that branch 19:39
timotimo okay
jnthn because I just did a completely clean build of the lot here
And all was good.
timotimo will have to wait a few
having dinner now
jnthn np
I'm gonna have to detrain now anyway.
19:51 btyler joined
timotimo i'm back to where i can use my computer 20:39
jnthn is back home :) 20:40
Hm, on jnthn-lex-loc I just got lowest Rakudo build time I've seen on Moar, especially since we added the conc stuff into the setting. 20:43
timotimo Stage start : 0.000 20:46
Stage parse : make: *** [CORE.setting.moarvm] Segmentation fault
but this is *with* spesh
jnthn Oh 20:47
No, don't do it with spesh too
Though that means you're regressed spesh.
*you've 20:48
:(
timotimo oops :|
jnthn Not too many patches before the last one I put in, it would spectest Rakudo with no (or almost no) regressions against moar master too
timotimo should i try to hunt that regression? 20:49
jnthn Would be nice, yeah. 20:50
I just got a good moar spectest on jnthn-lex-loc too
So, the blocker on that is going to be hunting how I broke Parrot and JVM.
timotimo OK 20:51
i figured spesh may be rather far away from being merged into master anyhow
jnthn I wasn't planning to put it off too long.
timotimo oh 20:52
if worst comes to worst, i'll unapply my changes for the time being and put them into a branch until i can stabilize them
jnthn had to build an up-to-dater Parrot and a Parrot NQP, which...takes longer than building a Moar one. 21:01
Building a Parrot Rakudo now
oh dan
*damn
It changed the nqp branch :/ 21:02
timotimo: I got the npmca 21:18
timotimo: Fixed it I think 21:30
timotimo: But bloody hell, r-m's *entire Rakudo build* takes less time these days than stage parse on Parrot.
japhb jnthn: That tells me two things: 1) Yay for moarvm performance! 2) We need more NQP- and Rakudo-level optimizations now. :-) 21:31
jnthn japhb: We need more opts up and down the stack :) 21:33
timotimo: yeah, looking good on Parrot for jnthn-lex-loc now. Looking into JVM, dreaming the fix I already did nails it there too :) 21:45
darn :( 21:48
mebbe found it 21:58
You know you had it coming when the line that explodes reads "my $hack; ..." 22:02
japhb heh 22:07
jnthn Yeah, NQP is happy now. Time for the Rakudo JVM build and spectest. :) 22:09
Then this lex-loc thing may well be mergeable.
lizmat yeah! something for the next weekly! 22:13
jnthn Rakudo build is fine. Into the spectest now :) 22:16
timotimo \o/ 22:22
some firewall between me and my desktop at home is preventing me from doing the benchmark 22:24
and i seem to have just planned out the whole following day
commutation time 22:29
dalek arVM/spesh: 13444c1 | jnthn++ | src/spesh/ (2 files):
Fix build on MSVC.
23:07
timotimo d'oh, i've done it again 23:12
jnthn The less known Britney Spears song... 23:20
timotimo i think there may be some more debug output in there. should i hunt and remove that stuff?
oh yikes, 0120 already
the time savings we measure in the spectests are mostly from compiling stuff, right? 23:24
there's not terribly much win once we're running normal Perlā€Æ6 code, right?
jnthn timotimo: Right. 23:26
Unless you eval :)
timotimo: Well, I'm doing some args.c hacking at the moment
timotimo i'm going to sleep soon 23:29
will just see how much memory a fresh rakudo-m -e 'say 1' will eat after lex-loc. 23:30
huh, interesting 23:33
Error while compiling, type X::Undeclared::Symbols
with a very unhelpful expansion of the attributes
this is for core.setting in parrot, fwiw 23:34
maybe something didn't properly get #if'd?
jnthn Worked fine for me just a moment ago...
But I hadn't pulled the recent lizmat++ patches 23:35
So could be those
timotimo 86568maxresidentk ; i wonder what the last values was
irclog to teh rescue
hm. 23:36
2014.01: 104104maxresident 23:37
2014.02: 88976maxresident
timotimo offs to beds
jnthn 'night 23:38
dalek arVM/spesh: 47d41bf | jnthn++ | src/spesh/args.c:
Simplify/cleanup optional args spesh handling.
23:48
arVM/spesh: 42b9ab0 | jnthn++ | src/spesh/manipulate.c:
Don't fiddle dominator tree in successor removal.

Might break facts traversal, and doesn't influence the code-gen in the end.
arVM/spesh: 65d8d18 | jnthn++ | src/spesh/optimize.c:
Look at type, not value, in method resolution.