_whitelogger has joined #jruby
lopex has quit [Quit: Connection closed for inactivity]
subbu|away is now known as subbu
_whitelogger has joined #jruby
Antiarc has quit [Quit: ZNC 1.7.2+deb2ubuntu0.1 - https://znc.in]
<kares[m]> I'll open a PR than. there isn't really more info in the end, I am just using sub-classes to 'mark' info about the cached state in each custom call-site.
Antiarc has joined #jruby
<kares[m]> also please check merge the Enumerable#first change which resolves the enumerator behavior ... should be fine to go into 9.2.8
<kares[m]> * check whether we could merge
<kares[m]> * also please check whether we merge the Enumerable#first change which resolves the enumerator behavior ... should be fine to go into 9.2.8
rusk has joined #jruby
whitingjr has joined #jruby
shellac has joined #jruby
whitingjr has quit [Ping timeout: 258 seconds]
lopex has joined #jruby
Antiarc has quit [Ping timeout: 258 seconds]
whitingjr has joined #jruby
drbobbeaty has joined #jruby
drbobbeaty has quit [Client Quit]
drbobbeaty has joined #jruby
whitingjr has quit [Ping timeout: 244 seconds]
_whitelogger has joined #jruby
shellac has quit [Quit: Computer has gone to sleep.]
whitingjr has joined #jruby
whitingjr1 has joined #jruby
whitingjr has quit [Read error: Connection reset by peer]
whitingjr1 has quit [Client Quit]
whitingjr has joined #jruby
nirvdrum_ has joined #jruby
shellac has joined #jruby
lucasb has joined #jruby
KeyJoo has joined #jruby
shellac has quit [Quit: Computer has gone to sleep.]
shellac has joined #jruby
Ryctolagus has joined #jruby
Antiarc has joined #jruby
xardion has quit [Remote host closed the connection]
xardion has joined #jruby
whitingjr has quit [Ping timeout: 248 seconds]
shellac has quit [Ping timeout: 264 seconds]
lucasb has quit [Quit: Connection closed for inactivity]
Ryctolagus has quit [Read error: Connection reset by peer]
KeyJoo has quit [Quit: KeyJoo]
whitingjr has joined #jruby
byteflam1 has joined #jruby
byteflam1 has quit [Client Quit]
byteflam1 has joined #jruby
byteflam1 has quit [Quit: leaving]
byteflam1 has joined #jruby
byteflam1 has quit [Client Quit]
byteflam1 has joined #jruby
byteflam1 has quit [Client Quit]
byteflam1 has joined #jruby
byteflam1 has quit [Client Quit]
byteflam1 has joined #jruby
<headius[m]> back at work finally
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
subbu is now known as subbu|afk
nirvdrum_ has quit [Ping timeout: 272 seconds]
<headius[m]> kares: around?
<headius[m]> I'm confused by the patch...it doesn't seem to be verifying entries anymore
<headius[m]> all it's checking is that it's a FixnumEntry, but it still could have been overwritten and that would not be seen, right?
<headius[m]> honestly I'm starting to think we should do these math sites with indy all the time
<enebo[m]> headius: kares Can we get stats on how many sites exist in like a simple single controller/single table rails request?
<headius[m]> I'm also wondering if we should just drop these custom CachingCallSite subclasses for interpreter and make JIT always use math indy sites
<headius[m]> the gain is really only relevant to jitted code
<headius[m]> math indy sites would be very tight and simpler than other general-purpose sites
<headius[m]> akin to op_math_plus_whatever in YARV
<enebo[m]> I mostly just want some data. I also want data on how many methods with blocks happen in a typical request (a ton I think)
<enebo[m]> AR does lots of log { execute { ... } }
<headius[m]> heh yeah
<headius[m]> talk about untapped potential...we don't specialize, split, or even inline blocks in any mode
<enebo[m]> numeric sites are one I really don't know how often they occur
<enebo[m]> I would think for date or time handling probably is common enough?
<enebo[m]> Something 1-indexed?
<headius[m]> well and we only do these sites when it's "obj <op> literal" anyway
<headius[m]> enebo: you should have a quick look at https://github.com/jruby/jruby/pull/5812
<headius[m]> merge if you're good with it...just seems to remove hacks and add tests, so +1
<enebo[m]> lol
<enebo[m]> so this is really a two line patch and those two lines are scary
<enebo[m]> but I will see what I can reason out of those changes...if nothing fails from it I am inclined to do it but these are the scariest changes
<headius[m]> I guess the main part of this is that OPTIONAL versus ONE_REQUIRED processes the values passed by #first differently and kills the need for unwrapping hacks
<headius[m]> I am as surprised as you that this didn't regress some other test
<headius[m]> this sweater has been really easy to unravel in the past
<enebo[m]> ah yeah it will basically unwrap into an array
<enebo[m]> although binding itself I am surprised changes
subbu|afk is now known as subbu
<enebo[m]> oh wait each with Options
<headius[m]> ugh I'm going to figure out why that azure build started failing or disable it
<enebo[m]> ah yeah so the machinery with optional seems to be destructuring one level when that one level is an array
<enebo[m]> that in turn makes the removed if unneeded
<headius[m]> this is the cause of the azure issue
<enebo[m]> the other line I originally looked at was just reordering for cost without changing meaning
<headius[m]> enebo: so this is another case of stacked up hacks
<enebo[m]> I will merge. I think this is ok since kares added a number of tests as well. Our block logic especially through enumerable is very difficult to trace through
<enebo[m]> I know we had talked about completely rewriting this at one point
<enebo[m]> I have slowly been trying to remove logic in the helpers/blockbody code paths for IR but those are still not fantastic (although I think we are down to one conditional for IR to IR yield now
<enebo[m]> kares: It may be worth contributing any differences in those jruby-specific tests to ruby/spec
<enebo[m]> kares: for us that is just committing to our local copy too. I would like to have us try and kill a lot of the jruby test suite over time
<enebo[m]> the pure ruby parts anyways
<enebo[m]> headius: I don't know if you noticed but I fixed the ripper issues for newer irb for 9.2.8.0. Those missing values were ORd values of individual lex_state values that was added in 2.5. I just missed those when I originally added lex_state constants to ripper
<enebo[m]> headius: so I wonder if new irb will in fact run on 2.5.x
<headius[m]> we don't have enumerable/enumerator arg passing right yet of course, but if you look at the rbx impls they have to step outside of Ruby semantics to do it too
<headius[m]> might be worth looking at that as a guide to rewriting the java ones, if they've figured out the few hacks really necessary
<headius[m]> we know we have hacks interfering with hacks
<headius[m]> enebo: yeah I saw you merged that in
<headius[m]> can't as easily test on master because of RubyVM::InstructionSequence.compile usage in reline right now
<headius[m]> that patch is in and merged too but waiting on releases of both
<headius[m]> it probably will work though...the reline/irb replacement branch I had was based on master
<enebo[m]> headius: is reline a risk which may change APIs or something like that?
<enebo[m]> headius: or do you think it will be drop-in and just fix some of our persistent issues
<headius[m]> I think it will fix some of our issues and it doesn't require jline or any native library (uses fiddle to twiddle some win32 things)
<headius[m]> I have not tested it with jruby on Windows yet
<headius[m]> Ruby 2.7 will include reline as a fallback from readline/editline native ext but I don't think they will prefer it
<enebo[m]> jruby -S gem list creates 3403 fast op callsites
<enebo[m]> mostly == >= and <<
<headius[m]> mmm
whitingjr has quit [Quit: Leaving.]
nirvdrum_ has joined #jruby
lucasb has joined #jruby
<headius[m]> nice, azure is fixed
byteflam1 has quit [Ping timeout: 248 seconds]
subbu is now known as subbu|away