02:48
ilbot3 joined
03:30
dalek joined
04:41
pyrimidine joined
05:42
pyrimidine joined
05:56
pyrimidine joined
06:19
pyrimidine joined
06:20
flaviusb joined
06:48
[Coke]_ joined
06:51
domidumont joined
06:56
domidumont joined
07:01
pyrimidine joined
07:05
pyrimidine joined
07:31
domidumont joined
|
|||
nwc10 | good o/, #moarvm | 07:56 | |
08:34
nebuchadnezzar joined
08:58
d4l3k_ joined
|
|||
jnthn | o/ | 09:38 | |
yoleaux2 | 4 Dec 2016 21:07Z <MasterDuke> jnthn: to go along with the issue AlexDaniel mentioned, here's the backtrace for a segfault. however, i don't know exactly what the code was that caused the segfault, since accidentally we were both editing it at the same time. gist.github.com/MasterDuke17/8e162...c3ffd6ccde | ||
jnthn | That looks awfully like the "sync handles used across threads" issue | 09:41 | |
Except the code doesn't match that hypothesis | |||
But maybe did at the time the segfault occurred :P | |||
dogbert17 | o/ | 10:03 | |
should the problem nwc10 found yesterday be RT'd? | 10:05 | ||
jnthn | Yes, go for it so we don't lose it | ||
dogbert17 | did the ASAN/valgrind output enough info? | 10:06 | |
jnthn | Well, as much as it's going to, at least | 10:07 | |
dogbert17 | ok, I'll write it unless nwc10 wants to do it :) | 10:08 | |
nwc10 | please could you do it | ||
(thanks) | |||
dogbert17 | I'll include all the info that we have, gimme 10 minutes ... | ||
RT #130266 | 10:28 | ||
synopsebot6 | Link: rt.perl.org/rt3//Public/Bug/Displa...?id=130266 | ||
dogbert17 notices that t/spec/S17-supply/start.t still can generate invalid reads once in 5-10 runs /o\ | 10:41 | ||
dogbert17 and then he remembers that the start.t provlem is a --full-cleanup issue (sorry for the noise) | 10:44 | ||
timotimo | oh | 10:47 | |
good to know | |||
dogbert17 | timotimo: in fact, it was you who figured that out :-) | 10:48 | |
timotimo | no, i mean, good to know it wasn't a problem with start.t | 10:53 | |
dogbert17 | agreed :-) | 10:54 | |
11:31
ggoebel joined
15:38
zakharyas joined
16:22
cygx joined
|
|||
cygx | o/ | 16:22 | |
is there a reason why some moarvm ops do seemingly arbitrary copying of their operands? | 16:23 | ||
eg loadbytecode or bindcurhllsym | |||
jnthn | Historical accident | 16:24 | |
I think originating in that some of them got ported from the JVM codebase | 16:25 | ||
(as in, the rakudo-j guts) | |||
And those always do return something because it's a stack machine | |||
Whereas in MoarVM we just identify in QAST->MAST compilation which operand gets used as the result if you use a void moarop in a non-void context | 16:26 | ||
We'll clean it up some day, but probably only when doing some other more dramatic re-work of bytecode stuff. | |||
In the meantime, it's not worth the upheavel. | 16:27 | ||
cygx | so the bytecode isn't fixed yet? or will be equivalent ops without the historical quirks be added on top? | ||
or phrased less weirdly, will moarvm be backwards-compatible with the current (non-spesh) instruction set? | 16:29 | ||
or is there a breaking change on the horizon | |||
jnthn | Well, whatever we do we'll have to implement backward compatibility to some level, because otherwise we break the NQP bootstrap | ||
To be clear, I've no concrete plans for changes in the particularly near future. I know some things I'd like to do differently some day, but there's not enough of them to be even closing to a tipping point yet. | 16:32 | ||
*even close | |||
TimToady gladly refrains from upheaving | 16:33 | ||
16:36
zakharyas joined
|
|||
jnthn suspects that concurrency polishing will keep his Perl 6 tuits largely occupied for the first half of 2017, and a spesh overhaul will then take up another chunk of them... :) | 16:38 | ||
cygx is attempting to write a bootstrapped language on top of MoarVM | 16:39 | ||
not sure when I'll get bored with it, but for now the stage0 compiler is coming along nicely... | 16:40 | ||
moritz | written in NQP? | ||
cygx | an assembler written in NQP, the compiler written in Perl6 | 16:41 | |
jnthn | cygx: Ah, using the MAST layer? | ||
cygx | currently, yes | 16:42 | |
the later stages are supposed to generate bytecode directly | |||
ie eventually, there shouldn't be any dependency on NQP whatsoever | |||
jnthn | Aye, though I guess you're aware that all you really need is objects with the correct shape defined in whatever language for the built-in assembler to stay happy? :) | 16:44 | |
cygx | I haven't really looked at that part yet, but I saw that the NQP classes are apparently mirrored on the C side | 16:45 | |
nwc10 | jnthn: so that's the first half and second half spoken for. What's the plan for the third half? :-) | ||
jnthn | Sleep! Cooking curry! Beer! :) | ||
nwc10 | I approve of this plan | ||
sadly my coffers are empty, so there's point in applying to *me* for a grant to enable it :-) | 16:46 | ||
ilmari | nwc10: you're busy sinking their contents into a hole in the ground? | 16:49 | |
nwc10 | yes-ish | ||
it's a hole with negative depth now | |||
you pay a lot of money to dig a hole | |||
and then a lot more money to fill it in again | 16:50 | ||
as of today, it's a hole with a water supply. At least as far as the meter chamber at the front | |||
but no power, windows, tiles on the roof or a bunch of other stuff | 16:51 | ||
jnthn | Yes, but does it have internet yet? :P | 16:54 | |
nwc10 | For some value (I don't think that it has a tin-foil hat inside the roof) | 16:56 | |
I have two Pringles cans ready in the garage here (for backhaul) | 16:57 | ||
but not yet tested | |||
babydrop | FWIW, rakudo/pull/934 exposes a spesh problem: github.com/rakudo/rakudo/pull/934#...-264913801 | 17:11 | |
babydrop looks at generated MVM_SPESH_LOG | 17:12 | ||
yikes... gonna be at least a year before I'm at that level :( | |||
jnthn | babydrop: It vanishes with MVM_SPESH_DISABLE? | 17:15 | |
babydrop | Yeah | 17:16 | |
Or if you set MVM_SPESH_LIMIT to 863 or lower | |||
jnthn | You may also try MVM_SPESH_INLINE_DISABLE, MVM_SPESH_OSR_DISABLE, and MVM_JIT_DISABLE (one at a time) | ||
(and in place of MVM_SPESH_DISABLE) | 17:17 | ||
That disables 3 different pieces and can narrow it down further (or eliminate them from consideration) | |||
babydrop | I did the first two (bug was still there). Lemme try the jit one | ||
Still there with MVM_JIT_DISABLE=1 | 17:19 | ||
jnthn | OK, well, there's 3 big chunks of the code eliminated... | ||
babydrop | Dissapears with MVM_SPESH_NODELAY=1 | ||
jnthn | That doesn't tell us that much, sadly | 17:20 | |
babydrop | :( | ||
jnthn | The limit otoh means we can figure out which piece of code gets mis-optimized | ||
babydrop | \o/ | ||
jnthn | (The last one in the spesh log, usually) | 17:21 | |
17:26
pyrimidine joined
|
|||
babydrop | This is the log with temp.perl6.party/spesh.log.txt for when MVM_SPESH_LIMIT=864 | 17:29 | |
jnthn | TIL don't open huge text files in chrome :P | 17:31 | |
babydrop | oops :} | ||
jnthn | (It didn't bring it down, it just got very laggy trying to scroll the thing) | 17:32 | |
(Which woulda been semi-excusable if it'd rendered the text, rather than present me with a blank white space :P) | |||
Yeah, the routine in question is quite big, so will take a bit of time to try and figure out | 17:39 | ||
And more brane than I have right now :) | |||
dinner & | 17:42 | ||
18:04
pyrimidine joined
18:18
domidumont joined
18:41
ggoebel joined
18:50
FROGGS joined
19:04
synopsebot6 joined
19:07
synopsebot6 joined
19:22
nebuchadnezzar joined
19:23
nwc10_ joined
19:33
geekosaur joined
19:48
lizmat joined
19:49
dalek joined
20:19
pyrimidine joined
22:50
stmuk_ joined
|