Perl 6 - the future is here, just unevenly distributed

IRC log for #moarvm, 2015-05-28

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary

All times shown according to UTC.

Time Nick Message
01:07 vendethiel joined #moarvm
01:24 japhb .oO( Funny, it doesn't *look* throwish ... )
01:37 raiph joined #moarvm
02:43 colomon joined #moarvm
05:27 vendethiel joined #moarvm
06:51 brrt joined #moarvm
06:51 brrt timotimo: because yours truly is quite an idiot, and simply didn't do that yet
06:52 zakharyas joined #moarvm
07:13 FROGGS joined #moarvm
07:18 brrt but they should be, as near as i can tell
07:47 brrt ok, any advice on my options
07:47 brrt a): hack something in graph.c by stealing a register from the out-args buffer (which will be cleared before use *anyway*)
07:48 brrt b): write a tiny bit of ASM code to deal with ordat/ordfirst
07:48 brrt a) has the 'cleanliness' bit to it
07:49 brrt or rather, the 'lets not add too much ASM just yet please' bit
07:49 brrt option c):
07:49 brrt use spesh optimization step to translate ordat to something i *can* jit more easily
07:50 vendethiel joined #moarvm
07:52 brrt i'm not so fond of c because fragile
07:52 brrt b): is *so easy*
07:52 brrt a): is rigth? I'm not even sure
07:53 brrt does this case even show up anywhere? i have half a mind to throw in an interupt just to see
08:12 nwc10 jnthn: I'm trying your patch with ASAN.
08:13 nwc10 no ASAN output, but RSS is at 42g
08:13 nwc10 and slowly rising
08:13 nwc10 at the first NQP build step
08:15 brrt nwc10: what patch, did i miss anything?
08:15 brrt or is dalek dead
08:15 lizmat dalek was fine just now on #perl6
08:17 nwc10 brrt: last night, a gist on github
08:17 brrt ah, ok
08:18 brrt 42g is not 42 gigabyte right
08:18 brrt that seems ... excessive
08:18 jnthn It gets into an infinite loop allocating. I warned you it eats memory, in hope somebody may ulimit it :P
08:19 nwc10 oh, I thought you'd said it blew up in Rakudo
08:19 jnthn But hey, if you've 42g of memory at hand...
08:19 jnthn nwc10: That's all I tried it on, but I figured it may be way back... :)
08:19 nwc10 there might be more than that
08:20 * brrt wonders what kind of machines have >42g memory
08:20 brrt anyway. any favorites? a): jit graph hackery, b): simple ASM code, c): spesh graph hackery?
08:20 brrt c) is not really an option because i have no way to represent ordat /without/ the negative check
08:20 brrt properly, i mean
08:22 nwc10 big machines.
08:22 jnthn brrt: d) work on the expression tree stuff and then see what's the best solution? ;)
08:22 nwc10 (also, expensive machines)
08:22 nwc10 and most certainly "not a machine that I own, or paid for personally"
08:22 brrt jnthn: d is by far the preferable solution
08:23 brrt but not one i'm really able to do over between exams and presentations :-)
08:23 brrt because the expression tree can just express the check-and-call easily, and currently we canb't
08:24 brrt but, that settles it, i'll do b) because b) can serve as a template for d)
08:27 * brrt notes that 'primitive' in the moarvm jit more likely means 'something we can't easily express as a generic other thing'
08:46 brrt why do i still get a moarvm-is-too-old error?
08:48 brrt ah, my moarvm says it's version 4, and nqp wants version 8
08:49 brrt when / how did that happen
08:49 brrt does the moarvm version get updated at configuration time perchance?
08:53 jnthn brrt: yes
08:55 brrt ah
08:55 brrt does the nfg stuff have spectests yet?
08:58 brrt i want to know because i inserted an interrupt just to see if special ordat code is running
08:59 brrt no point in adding code that doesn't run... :-)
09:02 brrt ugh, only scheduler blowups yet
09:16 brrt hmmm
09:16 brrt i'm not 100% confident pushing now
09:22 dalek MoarVM: de45927 | brrt++ | src/jit/ (2 files):
09:22 dalek MoarVM: Support NFG synthetics in ordat/ordfirst for JIT
09:22 dalek MoarVM:
09:22 dalek MoarVM: ordat and ordfirst want to return the base of an NFG synthetic,
09:22 dalek MoarVM: so *if* the character is a synthetic, it should be converted. This
09:22 dalek MoarVM: patch does just that, at the cost of converting the c-call to
09:22 dalek MoarVM: a custom piece of amd64 asm. This will be fixed soon, I hope.
09:22 dalek MoarVM: review: https://github.com/MoarVM/MoarVM/commit/de4592775c
09:24 brrt ... how short *should* the lines be for dalek to print them correctly
10:03 brrt hell is iOS build systems
10:29 Ven joined #moarvm
10:31 vendethiel joined #moarvm
10:31 Ven_ joined #moarvm
10:33 oetiker joined #moarvm
11:15 vendethiel joined #moarvm
11:16 brrt joined #moarvm
12:22 harrow joined #moarvm
12:46 Ven joined #moarvm
13:28 raiph joined #moarvm
14:12 Ven joined #moarvm
15:23 vendethiel joined #moarvm
15:55 [Coke] Each release of nqp depends specifically on a release of moarvm, yes? Is there ever a case where we'd want to support a release of nqp against a range of moarvm releases?
15:56 lizmat I guess technically, the release bump indicates the lower boundary under which a version of nqp will work (most of the time?)
15:57 timotimo brrt, why did the |1: at the end of the MVM_JIT_CONTROL_THROWISH_PRE disappear in that patch?
15:58 [Coke] in my particular case, this is for the macports; so there will be a port for rakudo@release, which will depend on nqp@release, which will depend on moarvm@release - I'm not looking forward to figuring out combinations that might work, so I'm going to just go for latest depends on latest.
16:05 lizmat [Coke]: that sounds sane to me
16:09 vendethiel joined #moarvm
16:38 vendethiel joined #moarvm
16:43 brrt joined #moarvm
16:49 brrt jnthn is wedding this weekend?
16:49 brrt how very awesome! jnthn++ for life succes
16:50 synbot6 joined #moarvm
16:51 brrt also, get well soon
16:57 lizmat brrt: yes, this weekend
16:58 brrt very nice indeed
16:58 brrt hopefully the weather will be good
17:02 TimToady good weather for jnthn++ is likely to be Too Cold for us Californians :)
17:05 brrt google says temperature in LA is 'only' 17 degrees, and will reach 24 degrees (celsius) today
17:05 brrt that's not *that* warm
17:08 TimToady well, the current season in California is called "glummer"; we don't generally lose the marine layer till July 4 or so
17:09 TimToady we also get spring before we get winter, which is why they schedule the Rose Parade on Jan 1
17:10 brrt what
17:10 brrt pacific climate is weird
17:10 brrt on the other hand, northern european gulf-stream supported climate is also weird, in a global sense
17:11 TimToady it's nearly always a beautiful spring day when people watch the rose parade, and then they decide to come out to california in either winter or glummer, and say, what the heck?
17:12 TimToady the hottest month in LA is often September
17:14 brrt the oracle at mountain view has no idea what glummer is
17:21 TimToady oracle is not in mountain view, it's in redwood city or so :)
17:49 japhb brrt: Don't be misled by TimToady's playful abuse of English.  ;-)
17:50 japhb (Me, in 11th grade: "Why can't I create new words.  After all, Shakespeare did, and we applaud him for it."  Teacher: "You're welcome to do that when you are as skilled as Shakespeare.")
17:51 japhb s:1st/'.'/?/
17:52 brrt :-)
17:52 brrt i think rather more people make up new words than become vernacular
18:00 TimToady that word was actually made up by a columnist for the LA Times, though I don't think the word has achieved widespread usage
18:00 TimToady it does describe the weather in May/June rather accurately though :)
18:02 japhb True ...
18:07 timotimo which word is that? glummer?
18:08 japhb nodndo
18:15 brrt what does isdev do?
18:19 * brrt bbiab
18:22 timotimo probably checks if something is a special device, like block devices on linux in /dev
18:23 synbot6 joined #moarvm
18:38 synbot6 joined #moarvm
18:54 brrt joined #moarvm
19:05 brrt uhm, where should i put MVM_file_isatty
19:05 brrt MVM_file_stat won't work because it uses a filename
19:24 timotimo dunno :S
19:26 timotimo brrt: anything standing in our way to jit throwdyn?
19:26 timotimo or do i basically just have to hook up the C function?
19:26 brrt no, except that they also have to be made throwish
19:27 brrt i think
19:27 brrt i'm not 100% sure though
19:28 timotimo well, yeah, but that's a tiny change to make :)
19:28 timotimo thanks
19:28 timotimo i'll do it later today and see if the send-more-money-loops benchmark will benefit from that at all
19:28 timotimo in theory, it should be able to inline THROW into next, but it didn't seem to do that last time i looked
19:29 brrt pious hope says it should all work out
19:29 timotimo of course :P
19:29 brrt but i'm not very sure
19:30 brrt hmm
19:30 brrt yeah, ok, it should work
19:30 brrt i'm not even terribly sure throwish is necessary, or even effective
19:30 brrt what kind of things are marked throwish now?
19:32 timotimo i know "die" is
19:34 brrt pff
19:34 brrt what kind of idiot made that JIT
19:39 brrt its possible, as i see it now, that, we invoke() a handler, which would not be caught correctly by throwish-post
19:39 brrt can... anybody advice on how to create an invoked (rather than a goto) handler?
19:47 brrt timotimo: are you trying now, or should I?
19:47 brrt actually, no, the invoked() handlers are no problem
19:48 brrt it is the goto handlers which are potentially problematic
19:48 timotimo sorry, i was distracted
19:48 brrt np :-)
19:52 brrt damnit, if only i knew what goto handlers really look like
19:54 zakharyas joined #moarvm
20:03 timotimo you mean examples of those?
20:03 brrt yes
20:04 timotimo isn't that like when we optimize a "next" inside a while loop to become a goto to the start of the loop?
20:04 brrt preferably when the goto goes to the correct label
20:12 * brrt forgot 50% of how this all worked
20:14 timotimo hah
20:14 timotimo i'm glad you'll be paid to work again :)
20:15 timotimo i wonder why the category in throwcat* is a 64bit number; do we even have more categories than fit in 8 bits?
20:20 timotimo with my changes to jit throw* operations, it seems nqp build is hanging
20:22 timotimo i added :throwish to all the throw* ops and just refer to the C functions
20:22 timotimo but maybe i haven't translated properly
20:22 timotimo the fact that the cur_op gets increased before the C function is called is handled by :throwish and the jit graph builder automatically, right?
20:23 timotimo and when i MVM_BC_get_I64, i'd just have to get ins->operands[*].lit_i64, no?
20:23 timotimo ah
20:23 timotimo easy. i forgot to bump the argument count up
20:24 timotimo i wonder if there's a __attribute__ in gcc and friends that'd automatically ensure the number before "args" corresponds to the size of args if it's a literal expression
20:24 timotimo that seems to not be the only problem in the code, though
20:25 timotimo ah, hehe.
20:25 timotimo i'm making many, many mistakes :D
20:25 brrt let me read properly
20:26 brrt if it hangs after you think you have no more mistakes, then i'm very interested
20:26 brrt because i think that's entirely possible
20:27 timotimo oh?
20:27 brrt but yes, cur_op is more-or-less guaranteed to be an OK value
20:27 timotimo well, i can surely push to a branch now
20:27 timotimo everything seems all right ... ish ;)
20:28 timotimo that's always the case with code i write :P
20:28 brrt yeah, a branch would do fine
20:29 dalek MoarVM/jit_throw_ops: 4affad6 | timotimo++ | src/ (3 files):
20:29 dalek MoarVM/jit_throw_ops: jit throw[cat]{dyn,lex,lexotic}
20:29 dalek MoarVM/jit_throw_ops:
20:29 dalek MoarVM/jit_throw_ops: currently hangs execution.
20:29 dalek MoarVM/jit_throw_ops: review: https://github.com/MoarVM/MoarVM/commit/4affad685b
20:32 brrt hmm, my hacking time today is over
20:33 brrt my guess is that throwish-post doesn't handle the goto-handler well
20:33 brrt *case
20:35 * brrt afk &
20:48 Peter_R joined #moarvm
22:03 vendethiel joined #moarvm
22:09 lizmat joined #moarvm
22:55 vendethiel joined #moarvm
22:59 jepeway joined #moarvm
23:34 vendethiel joined #moarvm

| Channels | #moarvm index | Today | | Search | Google Search | Plain-Text | summary