|
01:56
FROGGS_ joined
02:40
btyler joined
03:16
lue joined
04:18
dalek joined
04:20
lue joined
05:54
colomon_ joined
|
|||
| sergot | morgning o/ | 06:33 | |
|
06:47
FROGGS_ joined
06:58
zakharyas joined
07:43
ingy joined
|
|||
| FROGGS | damn, is it bad that I am thinking about OpaquePointer.free() and other weird stuff? :D | 08:00 | |
|
08:39
brrt joined
|
|||
| brrt | \o #moarvm | 08:48 | |
| FROGGS | hi brrt | 08:50 | |
| brrt | hi froggs :-) how's things | 08:51 | |
| FROGGS | brrt: very well :o) | ||
| brrt | :-) good | ||
| any particular reason? | |||
| FROGGS | yes, P6 is doing nicely and $dayjob is sort of fun also... | 08:52 | |
| so it is like that everything seems to work out nicely what I touch this week | |||
| brrt | that is nice :-) p6 is going pretty good i think, too | 08:55 | |
| nwc10 | the ecosystem seems to be lagging behind the core | ||
| brrt | which is so by necessity, or not? | 08:57 | |
| nwc10 | I meant things like no Star :-( | 08:58 | |
| but, more, not much that I can spot being written with Perl 6 | |||
| eg IRC logging is still Perl 5 | |||
| FROGGS | yes, true | 08:59 | |
| brrt | imho that is because the IO situation wasn't very good up until recently? | 09:02 | |
| FROGGS | it is always that way that we think that something is just ready since recently for I don't know what reason | 09:03 | |
| brrt | so you're saying, just start writing perl6? | 09:04 | |
| nwc10 | I'm certainly saying "start writing Perl 6" | ||
| FROGGS | brrt: yes | ||
| nwc10 | because someone has to find the rough edges, and the sooner the better | ||
| brrt | fair enough | ||
| but i'm writing asm first :-) | |||
| FROGGS | see, I am porting Archive::Tar with not that difficulty for example... and this is very Perl5ish code | 09:05 | |
| asm first, deal :o) | |||
| brrt | it's actually a quite pleasant intellectual challenge | 09:06 | |
| :-) | |||
| FROGGS | yes, I love this kind of tasks too | ||
| brrt | you know what one of the things was that started my interest in perl6? | ||
| FROGGS | no? | 09:07 | |
| brrt | i have this suite of scripts, which is a html-tidy-kind of things, a html recompiler of sorts | ||
| it's in perl5 | |||
| in perl5, managing stuff like 'classes', and 'objects', and the like, is a huge pain | |||
| still, perl5 is very effective | |||
| managing a tree structure, that is even a bigger pain | 09:08 | ||
| FROGGS | true | ||
| brrt | hint - i use a linear array with child-length and next-sibling-offsets | ||
| tadzik | brrt uses perl5. It's super effective! | ||
| FROGGS | eww | ||
| brrt | python was too afraid too move | ||
| :-p | 09:09 | ||
| well, somewhat between eww and 'awesome hack' i'd say; i've mentioned luajit does the same | |||
| these kind of data-munging projects is still imho what perl does best, and what perl6 (hopefully) does better | 09:10 | ||
| FROGGS | yeah, that is also my impression | 09:12 | |
| timotimo | yeah, nested data structures are kinda nice in p6 | 09:13 | |
| though you have to wrap your head around item and flattening contexts and stuff | 09:14 | ||
| brrt wonders if he can write && without jumping | 09:24 | ||
|
09:47
brrt joined
|
|||
| brrt | ok, it can be done, it's a bit of flag-moving, but otherwise no problem | 09:59 | |
| timotimo | moving bit flags? | 10:44 | |
| brrt | :-) yes, actually, moving bits out of the flag register | 11:10 | |
| it's a long story | |||
| FROGGS | is it a bit long? | ||
|
11:32
carlin joined
12:17
jnap joined
13:35
btyler joined
13:43
colomon_ joined
13:54
zakharyas1 joined
14:31
FROGGS joined
14:42
cognominal joined
15:00
brrt joined
|
|||
| brrt | when writing write barriers, one would wish we hadn't a generational GC | 15:36 | |
| dalek | arVM/moar-jit: 979c207 | (Bart Wiegmans)++ | src/jit/ (4 files): Add support for vivifying versions of sp_p6oget These haven't been tested because I haven't added support for guards yet. |
15:44 | |
|
15:52
brrt left
|
|||
| jnthn | Not having a generational GC would be worse in quite a few other ways :) | 15:59 | |
| "After these results are accessed, the pairs are placed into the target register, and the new wine will burst the bottles, and be spilled, and the bottles perish: but they put new wine into new bottles, and both are preserved." | 16:51 | ||
| Ahh...so that's how VMs work... :) | |||
| kjp++ | |||
| FROGGS | O.o | 16:52 | |
| nice quote though | |||
| timotimo | what prompted you to say the generational GC thing? | 16:53 | |
| FROGGS | <brrt> when writing write barriers, one would wish we hadn't a generational GC | 16:54 | |
| timotimo | i seem to have backlogged incompletely | 17:01 | |
| ah, indeed | 17:02 | ||
|
17:57
zakharyas joined
|
|||
| timotimo | is typevaropt not stable enough to be merged yet? | 18:12 | |
|
18:45
brrt joined
|
|||
| brrt | hmm | 19:12 | |
| i'm wondering if we might have to change the deopt architecture a bit | 19:14 | ||
| (hopefully not) | 19:15 | ||
| ok, i'm going to walk-and-ponder | |||
| jnthn | ...oopos, missed brrt | ||
| timotimo: seems not; I get some spectest fails | 19:17 | ||
| timotimo | oh, hm. | 19:18 | |
| jnthn | Not sure why, though | ||
| What's odd is I get a very small number of them, and they see to fail in the same way | 19:20 | ||
| timotimo | at least it's consistent, right? | 19:21 | |
| jnthn | Turns out with MVM_SPESH_INLINE_DISABLE=1 it works, and the error looks like a deopt fail... | 19:25 | |
| timotimo | is there a good technique we could employ to hunt deopt issues down further? | 19:26 | |
| jnthn | Alcohol. | 19:29 | |
| Then uncomment the fprintf's in deopt.c :) | 19:30 | ||
| timotimo | hah | ||
| all right | |||
| you can do it! | |||
| (i'm not that into alcoholic beverages) | |||
| lizmat | WD-40? | ||
| jnthn | Ingesting that doesn't go well... | 19:31 | |
| lizmat | ah, it was for ingesting ? :-) | 19:32 | |
| jnthn | my word do we deopt a lot... | 19:36 | |
| jnthn shoves "remove unrelied on guards" up his todo list | |||
| timotimo | less deopt means less running into that bug, right? ; | 19:37 | |
| :P | |||
| jnthn | yeah...I'll fix the bug *first* :P | 19:39 | |
|
20:10
brrt joined
|
|||
| brrt | \o #moarvm | 20:10 | |
| jnthn here? or has the alcohol already taken it's toll? | 20:11 | ||
| jnthn | heh, didn't actually have any yet :) | 20:12 | |
| brrt | :-) | 20:14 | |
| hmm... so if i'm correct, deopt is basically about taking the current index of the bytecode (the deopt point), finding the index of the original bytecode, and moving the interpreter to that point | 20:16 | ||
| jnthn | Basically | ||
| Though if we're in inlined code it has to recreate the intermediate frames too that were elided thanks to inlining. | |||
| brrt | right | 20:17 | |
| jnthn | As for the index: we could potentially hardcode the index into the guard ops that do a deopt_one. | 20:18 | |
| Rather than scan the table. | |||
| For JIT I suggest we do emit the index though | |||
| Because there's no bytecode to go hunting in. | 20:19 | ||
| Well, no bytecode offset I mean. | 20:22 | ||
| brrt | yes, that is what i meant to say :-) | 20:28 | |
| ok, my plan was to move bytecode-offset hunting into a separate function, and frame-restoration into another | 20:29 | ||
| so that the JIT can indeed emit a call with a hardcoded number | 20:30 | ||
| jnthn | Yeah, the "middle" of deopt wants splitting out. | ||
| brrt | ok, that can be a single commit i guess | 20:33 | |
| jnthn | Grrr | 20:41 | |
| Think the bug is in merging inline tables, and a failure to fix up return_deopt_idx | |||
| brrt | bloody mosquito's | ||
| jnthn | Which I can see is missing, but the obvious patch doesn't actually help... | 20:42 | |
| timotimo | a mosquito's what? | ||
| brrt | mosquito's biting | 20:43 | |
| jnthn | It does, however, change the failure mode, which suggests I'm poking the right hting... | 20:45 | |
| timotimo | that's a good hint, aye | 20:47 | |
| possibly two stacked bugs | |||
| FROGGS | or just one that stretches his legs :o) | 20:48 | |
| timotimo | heh. | ||
| i was thinking like a jenga tower of bugs :D | |||
|
20:50
lue joined
|
|||
| jnthn | ugh, can't think straight... | 21:07 | |
| jnthn afk for a bit | |||
| brrt | yeah, me too | 21:09 | |
|
23:10
jnap1 joined
23:13
cognominal joined
|
|||