byteit101[m] has quit [Ping timeout: 252 seconds]
lopex[m] has quit [Ping timeout: 252 seconds]
lopex[m] has joined #jruby
byteit101[m] has joined #jruby
<
headius>
so I am running coverage numbers on JIT stuff and finding optimizations that have never been used or have never worked right
<
headius>
the array_deref operation was not being compiled in most cases, and now that I have it compiling there was a bug in its persistence writing
<
headius>
backtrace toggling could be injected into indy call sites too
<
headius>
sweet, 100% coverage of ArrayDerefInvokeSite, and it's actually optimizing now
<
headius>
and now I find AsString does not handle refinements properly in the interpreter
<
headius>
hmm well I fixed a few things in AsString logic but the problem with coverage is this...
<
headius>
AsString is now only used if refinements are active
<
headius>
Indy logic is replaced with normal invocation if refinements are active
<
headius>
so the AsString call site is no longer used, because it does not handle refinements
<
headius>
I guess I will open some bugs for items like this
<
headius>
ok other than AsString, the only remaining sites with zero coverage are the various super forms
<
headius>
I forgot you can't use zsuper from define_method at all now
<
headius>
hmm I don't know how to cause zsuper now
<
headius>
oh inside a closure
<
headius>
ok, good start on coverage... nothing in indy jit is uncovered now, though there's some tricky branches I haven't written tests for
<
byteit101[m]>
Nice!
<
byteit101[m]>
Found a funky class variable thing breaking jrubyfx, filed an issue about it
<
headius>
That needs an overall
<
byteit101[m]>
It's very exciting seeing the performance focus now!
<
byteit101[m]>
Is this stack trace leaking internals? initialize at $_dot_/./util.rb:25
<
byteit101[m]>
(from ruby ./util.rb)
<
headius>
Might be a bug in stack trace generation or just weird because I never bothers to unmangle dots in paths