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