dalek | arVM: bd99dab | timotimo++ | src/spesh/dump.c: output callsites in spesh log with its address, num of args and positionals as well as the flattening flag and the internedness flag |
01:07 | |
07:46
FROGGS joined
|
|||
FROGGS | timotimo: I am attempting to moving the logic of decont_all to native_call_invoke in *MoarVM*, because we walk the args there anyway | 07:48 | |
07:48
rurban_ joined
|
|||
FROGGS | though, when I try to print the result of my translation of .can('cstr'), then I get: | 07:48 | |
Cannot call method 'mro' on a null object | |||
in any find_method at src/gen/m-Metamodel.nqp:1041 | |||
07:49
Ven joined
|
|||
FROGGS | actually, that happens after I got the result of can | 07:49 | |
perhaps I have to MVMROOT more than value... will look at that later | |||
but maybe I shall not call into things while we are making a call... jnthn might give me a hint about that please :o) | 07:50 | ||
jnthn | FROGGS: Tht's going to be a horrible thing to do. | 07:51 | |
'cus you'll need to create a state machine | |||
FROGGS | yeah, I thought so after attempting it | 07:52 | |
jnthn | And CPS-transform the code by hand. | ||
I'd be inclined to leave it in decont_all | |||
For now | |||
FROGGS | hmmm... | ||
jnthn | Because we know we'll need a larger re-organization of this at some point to support JIT-compiling the calls | ||
And it'd suck to do such a tedious task only to have to re-do it in a couple of months. | 07:55 | ||
dalek | arVM: e0f1cb0 | jnthn++ | src/core/nativecall. (2 files): Implement unsigned int types for native calls. |
08:17 | |
08:47
Ven joined
09:14
camelia joined
10:06
camelia joined
|
|||
dalek | arVM: fca699b | jnthn++ | src/strings/unicode_ (2 files): Upgrade Unicode DB to Unicode 7.0. No regressions in NQP or Rakudo tests/spectests from doing this. |
10:22 | |
10:30
Ven joined
10:40
harrow joined
11:11
Ven joined
|
|||
dalek | arVM: d1b3b9e | moritz++ | src/6model/serialization.c: Include module that asked for stale dependency in error message, skids++ |
15:13 | |
timotimo | huh? it was that easy? god damn it | ||
i've tried to build that exact feature long ago and had a really hard time | |||
moritz++ | |||
moritz | timotimo: skids++ did the patch, I merely applied it | 15:14 | |
timotimo | oh! | 15:15 | |
skids++ indeed! | |||
dalek | arVM/param-is-rw: 6ecb161 | FROGGS++ | src/core/nativecall.c: move decont for non-NativeRefs from nqp to moar |
15:28 | |
jnthn | FROGGS: That'll get you some wonderfully corrupt VM state if anybody passes a Proxy along, I'm afraid. | 15:30 | |
FROGGS | :o( | 15:31 | |
jnthn | FROGGS: You can guard it with fetch_never_invokes, which will get you a cleaner failure mode if a Proxy is passed in | ||
FROGGS | then I need to leave it in nqp and have a better check there | ||
jnthn | Yeah, writing it all out in C is...a pain. | 15:32 | |
FROGGS | yeah, I thought this was a sane choice, but yeah, did not thought of proxies | ||
jnthn | *nod* | 15:33 | |
And I think we use Proxy in some places in NativeCall | |||
FROGGS | what could I do here? github.com/perl6/nqp/compare/param-is-rw | ||
I wanna say: unless $obj is NativeRef { ... | 15:34 | ||
jnthn | nqp::iscont_[ins] | ||
You'd have to check against the three | |||
But they're pretty cheap | 15:35 | ||
FROGGS | ahh, that's what I (under wrong assumptions) did in moar | ||
silly me :o) | |||
okay, with the changes I am doing now I'll probably be happy | 15:37 | ||
I'll add more tests then and handling for all types | 15:38 | ||
15:38
Ven joined
|
|||
FROGGS | hmpf, I'd need a new stage0 for iscont_[ins] :/ | 15:39 | |
jnthn | We haven't rebootstraught for a while, so... :) | 15:40 | |
FROGGS | troo | ||
bbiab | 15:41 | ||
15:52
Ven joined
|
|||
timotimo | quick, put in a few more optimizations before the stage0 update! | 15:54 | |
FROGGS | :P | 15:56 | |
nice, everything passes still | |||
need to add more tests :o) | 15:57 | ||
16:10
zakharyas joined
16:19
Ven joined
16:29
Ven joined
17:08
Ven joined
|
|||
dalek | arVM: 3eac8ba | FROGGS++ | src/ (4 files): handle 'is rw' params in native calls We pass these arguments off as pointers to their given type, and therefore allocate, let the C function write to it, fetch the written value and store it in our variable after the call was made. |
18:41 | |
19:03
vendethiel joined
19:08
brrt joined
|
|||
brrt | \o | 19:08 | |
jnthn | o/ brrrt | 19:09 | |
uh, brrt | |||
brrt | :-) | ||
how are things going? i'll be here only shortly | |||
jnthn stashes that one away for "speak like a pirate" day | |||
Fine here. :) And you? | 19:10 | ||
brrt | alright. finally getting some rest with the easter weekend | ||
jnthn | Sounds good :) | 19:11 | |
brrt | just in time too | 19:12 | |
speaking of which | |||
also, speaking of the many-mmaps-issue | |||
there is also the possibility of just allocating a whole bunch of +wx frames ahead of time | 19:13 | ||
however.... | |||
(and then using atomic updates to get an entire block at a time) | 19:14 | ||
we do have to note that mprotect() ing only works with whole pages | |||
bascially, insofar as we can live with rwx memory, this is simple | 19:15 | ||
otherwise you need to know the page size in use | |||
i wonder if timotimo ever got anywhere with the devirt-repr-ops branch | 19:24 | ||
jnthn | About the allocate a whole bunch ahead of time - the allocator gets messy | 19:25 | |
'cus JITted code can be GC#d. | |||
brrt | right... i didn't even have a destroy function onceupon a a time | 19:28 | |
i'm off now | |||
rats demand attention | |||
jnthn | Rats! | 19:29 | |
Have a nice easter :) | |||
timotimo | devirt-repr-ops was held still by the mysterious build failure that came up when i had that one compilation for that one op enabled | 20:02 | |
jnthn | Was that after you fixed the bad gurad removal thing we discussed? | 20:03 | |
22:15
ggoebel joined
|