timotimo note to self: find out if we can directly invoke or even inline postcircumfix:<( )> for classes that offer it 01:57
FROGGS_ timotimo: the sounds a bit like the boolspec... do we need an invokespec? 07:44
jnthn timotimo: The invokespec hangs off the STable, so yes 09:33
timotimo: I'd just turn it into a normal invoke and leave the inlining decison to the existing inlining code.
I've been pondering that we may go and hang native calling off invoke spec too. 09:34
But need to think about that a bit more. 09:35
FROGGS_ I like it: 14:18
$ perl6-m -e 'use NativeCall; say nqp::nativecallsizeof(nqp::decont(long))' # 64
$ perl6-m -e 'use NativeCall; class Foo is repr<CStruct> { has long $.foo; has int8 $.bar }; say nqp::nativecallsizeof(nqp::decont(Foo))' # 72
$ perl6-m -e 'use NativeCall; class Foo is repr<CStruct> { has int8 $.foo; has long $.bar }; say nqp::nativecallsizeof(nqp::decont(Foo))' # 128
timotimo oooooh 14:20
i didn't know we could do such a thing! 14:21
btw, i'm still seeing cases where the profile says "we're not allocating a lot of stuff" but there's multiple gc runs
i'll try to investigate
dalek arVM/sizeof: cad876f | FROGGS++ | src/6model/reprs/CStruct.h:
make clear what strict_size is about
14:22
arVM/sizeof: dc0bd10 | FROGGS++ | / (8 files):
implement nativecallsizeof of
FROGGS_ struct_size', dang 14:23
jnthn FROGGS_: Mebbe set the decont flag on the nqp::op when registering it 14:41
FROGGS_++ for working on it
FROGGS_ jnthn: ohh? we could do that for nativecast too then 14:45
jnthn aye 14:46
dalek arVM/sizeof: c314d3d | FROGGS++ | src/core/nativecall.c:
return number of bytes from MVM_nativecall_sizeof
15:07
dalek arVM/sizeof: b1640b8 | FROGGS++ | src/6model/reprs/CStruct.c:
round up struct_size to the multiple of its biggest elem
21:26
arVM/cpp: 4451797 | FROGGS++ | src/6model/reprs/CStruct.c:
round up struct_size to the multiple of its biggest elem
21:29
arVM/cpp: 4cb69bc | FROGGS++ | src/core/nativecall.c:
use fixed struct_size provided by CStruct repr
arVM: cad876f | FROGGS++ | src/6model/reprs/CStruct.h:
make clear what strict_size is about
22:07
arVM: dc0bd10 | FROGGS++ | / (8 files):
implement nativecallsizeof of
arVM: c314d3d | FROGGS++ | src/core/nativecall.c:
return number of bytes from MVM_nativecall_sizeof
arVM: b1640b8 | FROGGS++ | src/6model/reprs/CStruct.c:
round up struct_size to the multiple of its biggest elem