<headius>
kares: there's a made-up benchmark that's 3x faster with the call sites
<headius>
new form is with the namespacing
<chrisseaton>
headius: what are these call sites?
<headius>
all dyncalls from Java will have call site caching now
<headius>
well, all interesting ones
<chrisseaton>
wow how are you doing that?
<chrisseaton>
where do you store the state?
<headius>
there's a per-runtime object that holds call site objects
<headius>
they're just monomorphic but it seems to be helping a ton
<chrisseaton>
yeah I can imagine
<headius>
could be polymorphic if it's useful but it probably isn't
<chrisseaton>
how do you match up the Java source code location with the call site object in the runtime though?
<headius>
we'll also hook these call sites up to profiling so we can see which of the core Java methods go mega and need specialized version
<headius>
right now it's just indirected through that object
<headius>
rather than obj.callMethod(... "to_s") it's context.sites.ThisClassSites.to_a.call(...)
<chrisseaton>
ah I get it
<chrisseaton>
per method name
<headius>
per site
<headius>
there can be to_a1, to_a2, whatever
<headius>
or shared
<chrisseaton>
clever
<chrisseaton>
you're not going to JavaOne this year are you?
<headius>
my hope is that the pattern will be simple enough in code we can still do the bytecode rewrite to indy
<headius>
in practice it's sites(context).to_s.call
<headius>
sites is private static in each class and knows how to get the right box of sites
<headius>
no, no JavaOne
<headius>
I'll be at JVMLS
<headius>
probably should book that
<chrisseaton>
this year I have been blessed with corporate permission to book an actual conference hotel, not sure how this has happened
<chrisseaton>
last year I was in Berkley!
<headius>
yeah poor Oracle folks usually get screwed on that
<chrisseaton>
Oracle will only need to sell two exadata to afford the hotel bill
<headius>
I heard about folks having to stay in Daly Ciy and stuff...like 30-45min BART ride away
<headius>
Berkeley must be pretty far too
<chrisseaton>
Yeah but it's just one Bart line so it wasn't too terrible
<headius>
enebo and I didn't really have motivation to try to sell Ruby to the Java crowd again this year and I didn't feel like doing my usual talks
<chrisseaton>
I'd never been that side of the bay so that was fun
<headius>
and he's doing Ruby Kaigi...and September is start of school...needed a break
<headius>
I've only ever been as far as Oakland
<headius>
rtyler lives in Berkeley I believe
<chrisseaton>
Cincinnati for RubyConf will be a new place for me
<headius>
oh, it's in Cinci this year?
<chrisseaton>
As long as they accept a talk! Nervous again
<headius>
I've never been there either
<chrisseaton>
I want to talk about cexts but I think they'll see it as too technical
<headius>
hmmm
<headius>
we should collaborate on getting some talk proposals together
<chrisseaton>
I couldn't even get any of the regional UK Ruby conferences to accept my talks this year, not that I'm bitter and twisted about it or anything
<headius>
maybe you sound too academic
<headius>
you need some pizzaz
<headius>
"Run your Ruby Apps Fast, Extensions and All, Using this One Weird Trick"
e_dub has joined #jruby
<headius>
honestly I don't know what they look for anymore
<chrisseaton>
I thought maybe I could dress it up as like 'Ruby papers we love' - that's popular and everyone knows it
<headius>
I could put JRuby Runs Your Apps Faster and Cheaper as my talk title and they ignore it
<chrisseaton>
RubyKaigi seem much more interested in our talks, but we need to be at RubyConf as well
<headius>
who of you is going to Kaigi?
<headius>
I wanted to go this year but it's the first week of school
<chrisseaton>
Kevin and Petr both have talks there
e_dub has quit [Client Quit]
yfeldblum has joined #jruby
e_dub has joined #jruby
<headius>
cool
<headius>
enebo will probably show off inlining, specialization, IGV
<enebo>
chrisseaton: once I get this working I will start figuring out how to track deletions between passes
<enebo>
chrisseaton: then we should be able to track lifecycle of our compiler passes
<enebo>
chrisseaton: this I think will end up being killer because I have been trying to debug our inliner and the new inlined CFG is impossible to read as a text dump
<enebo>
impossible is hyperbolic but it is not fun
skade has quit [Quit: Computer has gone to sleep.]
skade has joined #jruby
enebo has quit [Quit: enebo]
skade has quit [Client Quit]
<nirvdrum>
headius: I'd much rather Ruby just introduce an actual byte buffer datatype rather than continuing to abuse String.
skade has joined #jruby
tjohnson has joined #jruby
bbrowning has quit [Quit: Leaving]
tcrawley is now known as tcrawley-away
<chrisseaton>
If Array was specialised, it could just be Array
<jeremyevans>
headius: :) Your ideas are ahead of their time, apparently
lanceball is now known as lance|afk
yfeldblum has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
jeremyevans has quit [Ping timeout: 272 seconds]
camlow325 has quit [Remote host closed the connection]
subbu is now known as subbu|afk
_whitelogger has joined #jruby
subbu|afk is now known as subbu
yfeldblu_ has joined #jruby
yfeldblum has quit [Ping timeout: 250 seconds]
<chrisseaton>
headius: have you ever seen 'Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /usr/lib/libxml2.so.2 which might have disabled stack guard. The VM will try to fix the stack guard now.'
<chrisseaton>
things go downhill after that warning
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 276 seconds]
yfeldblu_ has quit [Remote host closed the connection]
yfeldblum has joined #jruby
<flavorjones>
chrisseaton: I've seen that; its the JVM warning that C code loaded via JNI isn't managed memory. Shouldn't be causing problems, my impression is it's just a warning.
<flavorjones>
what else is going downhill after that?
<chrisseaton>
It looks like it fails to load the library after the warning, but can't tell if it's the root cause
<GitHub35>
[jruby] bjfish pushed 1 new commit to truffle-name-error-layout-with-receiver: https://git.io/vK147