genpaku has quit [Remote host closed the connection]
<headius> awesome!
<headius> enebo: I started an experiment to pass call info through the call path along an additional variable argument path
<enebo[m]> yeah I saw the branch but did not look very much
<headius> It doesn't wear anything up to the target native method yet, just still using thread local, but it pushes the flags into the method object itself
<headius> s/wear/wire/
<headius> I figured we can get a really long way by doing this. For non-jit call paths, the call info can be expanded in the future to specify what argument starts the unpacked keyword list, and in jitted code where I already expand out some arguments, we might be able to get keywords all the way through without any allocation
<headius> Meanwhile I'm also fixing a few minor issues that popped up by running MRI tests with Indy. We will have a lot more confidence in always on Indy mode once I have this done
<enebo[m]> nice
<enebo[m]> I have been working on yarp integration. Mostly learning and making a list of things to discuss
<headius> Yeah cool, we could potentially try hooking it up with Panama right now. I might actually want to do that as a good example for my talk
<headius> If it has a header file, in theory we can just generate the bindings and start using it
<enebo[m]> yeah it should be really simple since it is a single method
<headius> In fact I think Panama might be a prerequisite for this scaling well but I guess we'll see
<enebo[m]> a single coarse C call which returns a byte[] I doubt will help
<headius> Also it creates some big binary blob you martial across and then interpret
<headius> Ah so
<headius> Not also
<enebo[m]> but the idea of panama for more fine-grained jumping is interesting
<headius> Yeah, a single copy of that by the way should be pretty efficient, but I do wonder if leaving it in native would be better. Wrap it in a byte buffer
<enebo[m]> Yeah atm this would be the savings: (*env)->SetByteArrayRegion(env, serialized, 0, buffer.length, (jbyte*) buffer.value);
<enebo[m]> So it would get rid of that so long as we appropriately deal with the native memory later
<enebo[m]> but one arraycopy effectively is not a big price compared to the rest of it (at least at this point)
<headius> uff-da, method_missing is a quagmire to untangle
<headius> very fragile part of our impl right now
<enebo[m]> headius: IM for you