<headius[m]> Oh I see
_whitelogger has joined #jruby
Antiarc_ has joined #jruby
knu has joined #jruby
NightMonkey_ has joined #jruby
Antiarc has quit [Quit: ZNC 1.7.4+deb7 - https://znc.in]
victori has quit [Quit: ZNC 1.7.5 - https://znc.in]
knu_ has quit [Quit: Reboot...]
NightMonkey has quit [Quit: ZNC - http://znc.in]
victori has joined #jruby
_whitelogger has joined #jruby
nirvdrum has joined #jruby
_whitelogger has joined #jruby
_whitelogger has joined #jruby
_whitelogger has joined #jruby
nirvdrum has quit [Ping timeout: 240 seconds]
nirvdrum has joined #jruby
nirvdrum has quit [Ping timeout: 240 seconds]
_whitelogger has joined #jruby
_whitelogger has joined #jruby
ur5us has joined #jruby
ur5us has quit [Ping timeout: 248 seconds]
lucasb has joined #jruby
nirvdrum has joined #jruby
davydotcom has joined #jruby
sagax has quit [Ping timeout: 240 seconds]
sagax has joined #jruby
nirvdrum has quit [Ping timeout: 265 seconds]
davydotcom has quit []
slackfan[m] has joined #jruby
chrisseaton[m] has joined #jruby
<chrisseaton[m]> headius: hi - what is `-Xjit.dumping` supposed to do? I can't see any output? Am I using it wrong? Seems like it's not connected to anything since `ed54aab184bed0dc9dbaaf90b357c8f793c33696`? What do you use to dump JIT bytecode?
<chrisseaton[m]> Ah, it's `compile...` - I was looking at `jit...`
<headius[m]> compile.dump is a raw dump before loading the bytecode
<headius[m]> what do you need that for?
<chrisseaton[m]> I'm not sure why I'm getting `invokedynamic` instructions by default, or when I have `-Xcompile.invokedynamic=false` - have the rules changed?
<headius[m]> because we emit a number of constructs using invokedynamic by default now, mostly for caching lazily-allocated literals so they'll appear constant
<chrisseaton[m]> Ok that sort of looks like what I'm seeing.
<headius[m]> the AOT branch we are working on has a third mode that emits no indy at all
<headius[m]> as of a couple days ago
<chrisseaton[m]> `INVOKEDYNAMIC checkArity` for example - is that right? In combination with `-Xcompile.invokedynamic=false`?
<headius[m]> yeah along with getting lazy constant values it's also used to reduce overall bytecode size
<headius[m]> compile.invokedynamic mostly just turns on full indy method dispatch now
<headius[m]> in general we can slide the dial from no indy to full indy on a finer grain using the AOT branch, but it's fairly coarse-grained on master right now
<headius[m]> turn the dial?
<headius[m]> enebo: you around today?
<headius[m]> or kares
<headius[m]> chrisseaton: the branch is jit_irscope_removal fwiw, and a brief how-to gist is here: https://gist.github.com/headius/5de632bd4a95492b5f16582f8b297040
<headius[m]> there's no way to turn on the AOT mode without enabling .class caching
<headius[m]> at the moment
<chrisseaton[m]> Thanks, I'll take a look, but I was just looking at how large your Graal graphs were really today.
<headius[m]> ahh for your talk?
<chrisseaton[m]> Yes
<chrisseaton[m]> Just not built or used JRuby for a while as well so dusting off the cob webs.
<headius[m]> I'll be interested to hear how we can do better analysis
<chrisseaton[m]> I've got some cool tools I'll show you that should be immediately applicable.
<headius[m]> I have made some nice improvements poking around the ideal graph recently, like the realization that graal will eliminate repeat instance final field accesses
<headius[m]> that got times loops to fold almost completely away once I fixed a few things
<headius[m]> it will be interesting to see how the graphs compare with various levels of indy enabled... more should optimize away with indy but getting there is much heavier
<headius[m]> we're still working on the right heuristics for where and when to use indy
<headius[m]> kares: enebo review please: https://github.com/jruby/jruby/pull/6069
<headius[m]> this should align java_method and friends with normal Java method binding and fix issues with inaccessible methods under modules
<headius[m]> ok what's left
<headius[m]> ugh I don't want to work on Windows bugs
nirvdrum has joined #jruby
nirvdrum has quit [Ping timeout: 272 seconds]
<enebo[m]> headius I am ok with this but prefer kares to sign off since he looks at JI code more than I do
lucasb has quit [Quit: Connection closed for inactivity]
<headius[m]> 👍