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