01:26
llfourn joined
03:23
BinGOs joined
|
|||
dalek | arVM: 3155720 | (Jimmy Zhuo)++ | / (9 files): expose the backlog arg for listen |
04:11 | |
arVM: 551c87c | (Jimmy Zhuo)++ | / (9 files): Merge branch 'backlog' Conflicts: lib/MAST/Ops.nqp |
|||
arVM: c3eea17 | (Jimmy Zhuo)++ | src/core/interp.c: fixed cur_op |
04:28 | ||
diakopter | JimmyZ: what does this branch do :) | 04:33 | |
JimmyZ | diakopter: github.com/MoarVM/MoarVM/issues/278 | 04:36 | |
diakopter: see above :) | |||
04:39
vendethiel joined
07:51
brrt joined
|
|||
brrt | good * #moarvm | 07:51 | |
08:04
FROGGS joined
|
|||
diakopter | brrt: hi :D | 08:07 | |
brrt | hi diakopter | 08:09 | |
08:22
FROGGS joined
08:53
FROGGS joined
09:09
japhb joined
09:25
japhb joined
09:28
leont joined
09:46
zakharyas joined
10:29
FROGGS joined
12:31
domidumont joined
12:49
zakharyas joined
13:11
domidumont joined
|
|||
dalek | arVM/even-moar-jit: 74d3bb5 | brrt++ | / (3 files): Add convergence algorithm for tile rule cost I'm still not 100% sure that this is the right convergence criterium, but it does work much better than the earlier versions. |
13:48 | |
14:28
pyrimidine joined
16:47
zakharyas1 joined
17:28
leont joined
18:15
leont left,
leont joined
|
|||
leont | The error I'm still getting is confusing | 18:16 | |
«Missing or wrong version of dependency '/home/leon/Code/rakudo/Foo.pm' (from '/home/leon/Code/rakudo/Foo.pm')» | |||
Depending on yourself is the shortest circle one can make, so that being an error makes sense, the question is why does it think it has this self dependency | |||
backtrace at paste.scsys.co.uk/502430 | 18:17 | ||
18:30
leont joined
18:39
llfourn joined
|
|||
[Coke] | What's in your Foo.pm? | 18:43 | |
18:47
domidumont joined
|
|||
nine | Does anyone have suggestions on how to debug "Missing serialize REPR function for REPR MVMContext"? | 18:48 | |
18:52
domidumont joined
18:58
leont joined
18:59
hoelzro joined
|
|||
diakopter | nine: weird | 19:24 | |
how would an MVMContext get in a P6Opaque slot | 19:25 | ||
19:29
zakharyas joined
19:34
zakharyas1 joined
|
|||
nine | Is there any way to track down which slot this is? | 19:37 | |
diakopter: well the answer to your question is probably my ignorance | 19:41 | ||
diakopter | well the error is in two places | ||
serialization.c and P6Opaque | |||
from which one was it throwing? | 19:42 | ||
nine | at gen/moar/stage2/QAST.nqp:4971 (/home/nine/rakudo/install/share/nqp/lib/QAST.moarvm:serialize_sc:7) | ||
diakopter | did you try --ll-exception | 19:43 | |
nine | diakopter: gist.github.com/niner/de09d9798ae01c348b4f is the patch I'm working on. The first hunk in Perl6/Actions.nqp is probably responsible. | ||
diakopter: do you see anything wrong with that? | |||
diakopter | what's the output before it errors | 19:44 | |
nine | gist.github.com/niner/1285ced3a811451e8fe0 | 19:45 | |
Test1.pm is: unit module Test1; use Test2; our sub resources() { %?RESOURCES<foo> } | 19:46 | ||
Test1.pm is just: unit module Test2; | |||
The error disappears if I remove the "use Test2;" | |||
19:46
FROGGS joined
|
|||
timotimo | maybe you need a nqp::getstaticcode somewhere, nine | 20:02 | |
nine | I guess what I did is at least not completely wrong. Otherwise someone would have said so by now | 20:05 | |
20:37
donaldh joined
|
|||
timotimo | i don't really know what MVMContext is for, but i know that nqp::getstaticcode will get you a static code reference rather than a closure-y one | 21:19 | |
er ... "i know" may be a bit too strong :) | 21:20 | ||
21:42
vendethiel joined
|
|||
jnthn | One hack to figure out where the MVMContext is coming from is to tweak it's allocate REPR function to dump out the memory address we allocate it at along with MVM_dump_backtrace | 21:55 | |
and then you have the address of the thing we can't serialize so can hunt it down | |||
timotimo | neat | 21:56 | |
hey jnthn, what would a heap explorer do? | |||
hmm. if i want to start something new maybe i should prefer the coverage tool instead | 21:57 | ||
nine | jnthn: donaldh++ already figured out that it's CompUnit::Handle's $.module_ctx property containing the MVMContext. | 22:32 | |
jnthn | Ah | ||
nine | jnthn: Working theory is: %?RESOURCES is a Distribution::Resource object that references the CompUnit::Repository which has a %.loaded hash that references CompUnits containing CompUnit::Handles referencing the contexts | 22:33 | |
That's why it suddenly surfaced | |||
jnthn | Sounds like a reasonable theory | ||
nine | Unfortunately replacing the module_ctx by the lexpad (which is what we're really interested in) doesn't seem to be enough | 22:34 | |
22:38 < FROGGS> nine: sadly using the lexpad there isnt enough... a PseudoStash also has an attribute with a context in it | |||
timotimo | jnthn: did you do any design thinking for the coverage analysis tool yet? i was thinking it'd probably be wise to re-use the whole call graph node structure we have for the profiler anyway but just not emit the "allocated", "entered", "left", "osr'd" operations and instead emit "line hit". though perhaps it'd be wiser to just have a flat array of bools for all lines a file may have? | 22:39 | |
yeah, it doesn't make much sense to have the call graph involved | 22:42 | ||
jnthn | I was thinking of using annotations | ||
So we can get closer to lines | |||
timotimo | right, in the emit/instrument phase we'd emit a "hit this line" op every time we find a filename/line annotation | 22:43 | |
that part is clear enough to me | |||
jnthn | I think we'll have to log it...somewhere...and then aggregate the data elsewhere | 22:44 | |
Becuaes usually you're intersted in coverage of a test suite | |||
Not just one test file | |||
So we need to aggregate data from many test files | |||
timotimo | yeah | ||
i think the aggregation can live in a separate tool and we'd just be spitting out lots of files (so that we don't run into TEST_JOBS=9 trouble) | |||
moar_coverage.PID might be good enough | 22:45 | ||
jnthn | PIDs get reused | ||
leont | In p5 it's done by essentially replacing all opcodes. I'm recommend coming up with something better… | ||
jnthn | leont: We already have something better :) | ||
(Bytecode instrumentation, which we use for profiling) | |||
leont | :-) | 22:46 | |
jnthn | Tteaching + delayed travel = exhausted; sleep & | 22:48 | |
nine | Replacing module_ctx by the lexpad gets rid of a lot of uglyness in CompUnit::Handle, so it _must_ be more correct | 22:50 | |
timotimo | gnite jnthn :) | 22:51 | |
nine | diakopter: thanks for your help! | 23:06 | |
23:30
ggoebel7 joined
|