<kares[m]>
that has been shipped and we even had some bug reports that are fixed/shipped
<headius[m]>
oh righto, good all
<headius[m]>
call
<kares[m]>
there was some block dispatch improvements, wasn;t there?
xardion has quit [Remote host closed the connection]
<headius[m]>
nothing to the extent I intended with that item
<headius[m]>
I'd consider it done if block dispatches could inline but they don't yet
<headius[m]>
so many things we don't do
xardion has joined #jruby
byteit101_ has joined #jruby
<enebo[m]>
Also if I fix inliner to always be on some blocks will start inlining and remove the dispatch costs altogether
whitingjr has quit [Quit: Leaving.]
<byteit101_>
I see talk of releasing 9.2.8, and I was wondering if the other half of my windows native IO changes will make it in? the jnr-enxio half was merged about a month ago, but https://github.com/jruby/jruby/pull/5774 hasn't been yet, and I was curious if it would be included in time for 9.2.8?
<headius[m]>
aha, could do!
<headius[m]>
I had not returned to it because I was struggling with load/require work, but we are punting that to .9
<headius[m]>
I think I got halfway through merging stuff for jnr and got yanked away
<headius[m]>
definitely cutting out the middle man
<headius[m]>
pushed to send_site branch if someone wants to look at it...no indy logic yet but that should be similar and allow sends to inline to the target method
<headius[m]>
indy stack trace should show block$-e calling directly to method$blah
<headius[m]>
fun stuff
<headius[m]>
enebo: quick experiment disabling specializations in indy sites didn't seem to have much impact
<headius[m]>
but the simple caching is still doing some MH adaptations
<headius[m]>
indy call sites are set up to only have one "invoke" that's varargs, assuming that specialization will bind a straight-through path... if we went with a simple site for indy we'd want to arity-split to avoid the adaptations
<headius[m]>
this might be slightly faster than specializing but it's making all jitted calls pass through IRubyObject[]
<headius[m]>
even if it's not necessary
<enebo[m]>
headius: you mean peak performance did not change much or warmup did not?
<headius[m]>
I was just testing gem list, which has pretty visible variation depending on indy
<headius[m]>
fuzzy gains of maybe 5 percent but it's noisy
<headius[m]>
versus full-on indy opto
<enebo[m]>
ah yeah on 8 -Xcompile.invokedynamic is a huge spike over not supplying that
<headius[m]>
good news is that I did not see a big hit for interp + indy
<headius[m]>
byteit101_: ok your turn
<headius[m]>
byteit101_: I forget, was this something you needed in a real app?
<headius[m]>
this is a pretty localized change so it's likely safe for 9.2.8 but I was curious
<byteit101_>
*yes is relative. I don't need it, but I wanted to be able to upstream the serial port working with blocking IO, and I only deploy my serial app on linux
<headius[m]>
yeah I remember now, serial port fiddling
<headius[m]>
give master a shot and verify when you can
<byteit101_>
Yup. Sweet, there is more changes on the winio branch that I didn't want to PR as it depended on that PR