00:05
vendethiel joined
00:43
geekosaur joined
02:01
FROGGS_ joined
02:48
ilbot3 joined
02:51
vendethiel joined
06:45
JimmyZ joined
07:16
sivoais joined,
avar joined
07:17
vendethiel joined
07:18
domidumont joined
07:45
FROGGS joined
|
|||
nine | It's the EVAL! | 07:46 | |
07:46
vendethiel joined
|
|||
nwc10 | good *, #moarvm | 07:46 | |
nine | I use .perl to serialize a DependencySpecification. When I need to check if a precomped dependency is still up to date I EVAL this to get the DependencySpecification object back and re-run dependency resolution. This is what screws up the precompiled modules somehow. | 07:50 | |
The difference between precomp on installation and precomp on first load is just that in the latter case I know that the dependencies are up to date and don't have to check. | 07:52 | ||
FROGGS | nine: yes, EVAL causes a lot of trouble in the precomp process | 07:54 | |
nine: so probably Panda::Common depends on that EVAL CU when you precompile it, but it wont be there once you load it (or something like that) | |||
nine: the reason I switched to JSON was that EVAL broke CURLI | 07:55 | ||
07:57
domidumont joined
|
|||
nine | Is there any way to prevent the CU from depending on the EVAL SC? There shouldn't be any references to the deserialized object anywhere. | 08:10 | |
FROGGS | no, I dont think so | 08:16 | |
precomping is kinda "slurpy" in that regard | 08:17 | ||
is there no way to work around that EVAL? | |||
nine | Well I have to serialize/deserialize a DependencySpecification object. This may contain strings, versions, version ranges, regexes and other serializeable and smartmatchable things. | 08:18 | |
08:23
FROGGS joined,
zakharyas joined
|
|||
FROGGS | no, I dont think so | 08:23 | |
precomping is kinda "slurpy" in that regard | |||
is there no way to work around that EVAL? | |||
nine | Well I have to serialize/deserialize a DependencySpecification object. This may contain strings, versions, version ranges, regexes and other serializeable and smartmatchable things. | 08:29 | |
The only alternative I would see is defining a subset that we want to support and implement serialization of those. This may be the long term solution anyway but I'd have liked to avoid it for now until we have a better idea about real life use cases. | |||
FROGGS | just wanna say that I had banged my head against EVAL in the precomp process for many many hours already | 08:33 | |
avoid it | |||
nine | Thanks for the advise :) | ||
So it's plan B then... | |||
FROGGS | we need that subset for panda's command lines and for handling META6.json files anyway | 08:35 | |
nine | Yes, if any non-Perl6 tool should have a chance of processing our dependency information, we need it. It's just that if I go with what's currently in use, we end up with just storing the short-name as-is :) | 08:37 | |
FROGGS | where is that EVAL ooc? | 08:40 | |
nine | github.com/rakudo/rakudo/blob/relo...ory.pm#L89 | 08:48 | |
08:49
FROGGS[mobile] joined
|
|||
FROGGS[mobile] | nine: where is that EVAL? in rakudo or panda? | 08:50 | |
nine | in rakudo | 08:51 | |
github.com/rakudo/rakudo/blob/relo...ory.pm#L89 | |||
FROGGS[mobile] | ahh, different branch... | ||
09:09
FROGGS[mobile]2 joined
|
|||
jnthn | At the moment, if you do an EVAL, while compiling, it gets its own SC, its constants etc. end up in that, and it then gets lost | 09:40 | |
That's already filed in RT iirc | 09:41 | ||
10:37
vendethiel joined
13:18
zakharyas joined
13:37
Ven joined
13:38
vendethiel joined
14:36
Ven joined
14:44
Ven joined
14:55
Ven joined
14:57
vendethiel joined
15:00
Ven joined
15:03
Ven joined
15:40
Ven joined
15:43
Ven joined
15:51
Ven joined
16:05
Ven joined
16:11
Ven joined
16:24
Ven joined
16:29
mojca joined
|
|||
dalek | arVM: 1e3d2ac | jnthn++ | src/jit/emit_x64.dasc: Fix JIT compiler bug in string le/ge ops. |
18:12 | |
timotimo | d'oh! | 18:15 | |
18:21
domidumont joined
|
|||
TimToady | found it running a Real Program™ | 18:24 | |
well, I wasn't the only one to find it, I guess... | |||
since there was an RT | |||
18:51
cognominal joined
19:17
vendethiel joined
19:43
lizmat joined
|
|||
timotimo | jnthn: so should i assume the allocation of the BOOTHash happens inside a non-lowered signature bind or something? | 21:22 | |
21:50
geekosaur joined
|
|||
timotimo | so, moar --dump will get a "resource temporarily unavailable" from write, and printf happily returns that | 23:09 | |
likely some state set up by libuv on the stdout | |||
23:10
mojca joined
|
|||
timotimo | well, i've written a loop of writes | 23:29 | |
dalek | arVM: 4b3baea | timotimo++ | src/moar.c: handle nonblocking stdout properly for --dump |
23:34 | |
arVM: b152c2c | timotimo++ | src/core/bytecodedump.c: our linelocs buffer in bytecode dumping was a bit too small |
|||
timotimo | i think the next thing i'll do is give wval and wval_wide in the spesh log the debug_name | 23:39 | |
dalek | arVM: 4ade6d6 | timotimo++ | src/spesh/dump.c: extract info out of wval/wval_wide referenced objects shows the REPR's name and - if it is set - the debug_name. |
23:59 |