<GitHub149> [jruby] headius pushed 1 new commit to master: https://git.io/vDxzu
<GitHub149> jruby/master 75a39d3 Charles Oliver Nutter: All backrefs require the same framing as $~, so set scope flags.
snowp has quit [Ping timeout: 240 seconds]
dminuoso has quit [Ping timeout: 255 seconds]
snowp has joined #jruby
dminuoso has joined #jruby
msg has joined #jruby
msg is now known as Guest6571
prasun has quit [Remote host closed the connection]
Guest6571 has quit [Ping timeout: 260 seconds]
<travis-ci> jruby/jruby (master:75a39d3 by Charles Oliver Nutter): The build passed. (https://travis-ci.org/jruby/jruby/builds/204020431)
<lopex> headius: will be framing of those ever be resolved ?
<lopex> and/or scoping
alex0ptr has quit [Remote host closed the connection]
hoodow has quit [Quit: No Ping reply in 180 seconds.]
hoodow has joined #jruby
hoodow has joined #jruby
hoodow has quit [Changing host]
<nirvdrum> lopex: Do you know of any consumers of jcodings outside of JRuby and TruffleRuby?
<lopex> nirvdrum: a few, judging from mvn repo
<lopex> nirvdrum: like 5 to 8 ?
<nirvdrum> Interesting.
hoodow has quit [Quit: No Ping reply in 180 seconds.]
<nirvdrum> I'd like to make it more AOT friendly, but obviously don't want to break anything on anyone.
<lopex> nirvdrum: did you look at mvn repo deps ?
<nirvdrum> No. I didn't know you could.
hoodow has joined #jruby
hoodow has joined #jruby
<GitHub164> [jruby] headius closed pull request #4498: Separate varargs and specific-arity names in JIT. Fixes #4482 (master...isolate-arity-names) https://git.io/vDxWu
<GitHub97> [jruby] headius pushed 3 new commits to master: https://git.io/vDxod
<GitHub97> jruby/master 5a21276 Charles Oliver Nutter: Merge pull request #4498 from headius/isolate-arity-names...
<GitHub97> jruby/master 2723012 Charles Oliver Nutter: Allow indirect indy calls to still call specific arity up to 3....
<GitHub97> jruby/master 18cde0d Charles Oliver Nutter: Separate varargs and specific-arity names in JIT. Fixes #4482...
<GitHub165> [jruby] headius closed issue #4499: Make failed indy call sites still use specific-arity dispatch https://git.io/vDxRm
<GitHub106> [jruby] headius closed issue #4482: Doing require_relative too often leads to TypeError https://git.io/vD4Yq
<lopex> nirvdrum: what what do you mean by aot ?
<nirvdrum> Thanks.
msg has joined #jruby
<lopex> or how aot would affect there ?
<lopex> er, these
msg is now known as Guest4073
<lopex> oh I get it now
<nirvdrum> lopex: I guess I specifically mean SVM here. I haven't looked at the Java 9 AOT in detail. But we can't use runtime reflection.
<lopex> nirvdrum: unfortunately joni api suffers the same problem jruby does
<lopex> ok
<lopex> hmm
<nirvdrum> And then use a method substitution mechanism to override the load call to avoid the reflection paths.
<lopex> nirvdrum: I know joni api is bad
<nirvdrum> That works. It's ugly, but it works.
<lopex> hm
<nirvdrum> The problem I'd like to fix, however, is the transcoder load up these rather large tables.
<lopex> so that mostly jcodings right ?
<nirvdrum> And most of the time not a single transcoder is ever used. In the apps that do use them, you're talking a handful.
<nirvdrum> But some of these int[] arrays are > 1 MB in memory.
<nirvdrum> And I think a few even push 5 or 6 MB.
<lopex> nirvdrum: right, yeap, but I think those can be fixed
<lopex> nirvdrum: we got those out of control because of mindles porting
<nirvdrum> So, I'd like a way to load the classes a bit lighterweight and then explicitly populate those arrays, taking the new threading concerns into account.
<lopex> nirvdrum: it can be improved
<nirvdrum> I just want to do it all in such a way that I don't break anything on anyone.
<lopex> nirvdrum: which are the most offending ?
<nirvdrum> I'd have to look at the heap dump again.
<nirvdrum> But you can take a guess based on the size of the .bin files.
Guest4073 has quit [Ping timeout: 260 seconds]
<lopex> yep
<lopex> nirvdrum: there's another case too
<lopex> nirvdrum: just ship the one most often used
<lopex> nirvdrum: and lazy networkload other ones ?
<lopex> nirvdrum: since it's insane
<nirvdrum> Not a bad idea, but certainly some people aren't going to want that.
<lopex> nirvdrum: hmm, might just a case of a less frequent user ?
<lopex> nirvdrum: like 0.0000% one ?
<lopex> just economics
<nirvdrum> I don't think loading them from file is as much of a problem.
<nirvdrum> It's having to store them in memory the moment the transcoder class is created that I'd like to adjust.
<lopex> hm
<lopex> then,hmm
<lopex> nirvdrum: do we know the most frequent transcoder paths ?
<lopex> I guess that the metric right ?
<nirvdrum> Just as an FYI, this problem really doesn't affect JRuby, since it lazily loads transcoders as needed.
<lopex> the case you laid is another issue of course
<nirvdrum> Except, of course, if JRuby is to be built with the SVM.
<lopex> nirvdrum: I also know of paths in transcodinds that havent been optimized in any way
<lopex> nirvdrum: like huge immediate buffers
<lopex> I;d have to look
<lopex> nirvdrum: can you rule out the leaks ?
<nirvdrum> lopex: I have a static reference to every transcoder class.
<nirvdrum> And each of them has a byte[] and and int[] attached to them. Those arrays can get quite large.
<lopex> sounds like a leak
<nirvdrum> How so?
<lopex> well, after transocing ?
<nirvdrum> I have to have a reference to each transcoder class to avoid reflection. And the transcoder classes eagerly populate this cache.
<nirvdrum> I suppose it's a leak in the sense that I'm holding on to them longer than I should, but I don't have any other way to do this I'm afraid.
<GitHub18> [jruby] headius reopened issue #3663: Never-ending getaddress() call when using compressed IPv6 nameservers in /etc/resolv.conf https://git.io/vgD0w
<lopex> right
<lopex> nirvdrum: unless it's leaking internally
<nirvdrum> It's not.
<lopex> let mee look
<nirvdrum> Each of these .bin files is loaded: https://github.com/jruby/jcodings/tree/master/resources/tables
<nirvdrum> And then all the classes that load it are kept referenced in a static map.
<lopex> nirvdrum: I recall headius porting some logic and using c stack sizes to allocate java heaps
<nirvdrum> I think we're talking past each other.
<nirvdrum> Or, have an explicit "populate cache" method that's run outside the constructor.
<lopex> dont say I have weasted an hour of yout life ?
<lopex> :P
<nirvdrum> I wouldn't. You've saved me many hours overall :-)
<lopex> hmm
<lopex> nirvdrum: I have no idea
<lopex> ther's just a hash poulation right ?
<lopex> nirvdrum: why would it couse a problem on svm ?
<lopex> it;s all greedy code
<lopex> hmm
<lopex> convertInternal ??
<lopex> I nned to blame this code
<nirvdrum> I had to copy & paste a bunch from Transcoder and then change it slightly.
<nirvdrum> All of this basically prevents the runtime reflection paths from being run.
<lopex> nirvdrum: if MethodHandle is involved thene headius :P
<lopex> but still lookin where was the problem
<nirvdrum> MethodHandle is fine, in a static context.
<lopex> ret = (EConvResult) convertInternalMethodHandle.invoke(ec, in, inPtr, inStop, out, outPtr, outStop, flags
<lopex> why ?
<lopex> bingo
<nirvdrum> So, everything in that TranscodingManager class I've pointed you at exists solely to avoid Transcoder.load.
<lopex> nirvdrum: sync problem or more ?
<nirvdrum> If the class isn't statically reachable, it's not compiled into the SVM image.
<lopex> hmm
<lopex> nirvdrum: can you force it to make it through ?
<nirvdrum> I don't think so.
<nirvdrum> I don't mind maintaining a lookup table for all the transcoder pairs.
<nirvdrum> But I don't want to pay the cost of keeping those byte & int arrays around if they're not being used.
<nirvdrum> But, they're populated by virtue of instantiating the transcoders.
<lopex> nirvdrum: I'd have to look through the paths
<nirvdrum> Do you understand what I'd like to do?
<lopex> I assume no
<lopex> nirvdrum: where's the allocating areas ?
<nirvdrum> Look at the Transcoder constructor.
<lopex> I havent seen that code for years
<lopex> ok
<lopex> looking
<nirvdrum> I linked it a bit earlier.
<nirvdrum> There are two final arrays: byteArray and intArray.
<nirvdrum> I would like to make them non-final and then populate them outside of the constructor.
<nirvdrum> I'm just asking if you think that's a good idea or not. I'm not looking for you to do any work :-)
<lopex> right
<lopex> yeah both final
<lopex> I guess I was under an impression of jsr 133 (properly cinstructed objects by then)
<lopex> but I dont care really
<lopex> nirvdrum: make them as you wish
<lopex> it doesnt matter wrt api or ruby api
<lopex> er was it 130 ?
<lopex> them gein final doesnt help ruby or the api so..
<lopex> *being
<lopex> nirvdrum: still here ??
<nirvdrum> Sorry, was AFK for a moment.
<lopex> nirvdrum: I guess it will never matter wrt ruby memory model :P
<lopex> so it;s all internal
<nirvdrum> I don't think a lot of this is thread-safe to begin with.
<lopex> yep
<lopex> nirvdrum: like jruby string :P
<lopex> Hash and Array were at least pretending
<nirvdrum> Okay. Well, I'll take a look and see if I can find something that works well enough.
<nirvdrum> Thanks for the help.
<lopex> nirvdrum: well, thak you for keeping it up
<lopex> nirvdrum: I'll jump in happily
<lopex> nirvdrum: I can scan mri sources reald good if that helps
enebo has quit [Quit: enebo]
<nirvdrum> Cool. Thanks for the offer.
<lopex> nirvdrum: hey I've seen all of you talks
<lopex> nirvdrum: and kneeeling down
<lopex> oh wait
<lopex> nirvdrum: any new benchmarks on strings ?
jeremyevans has joined #jruby
<travis-ci> jruby/jruby (master:5a21276 by Charles Oliver Nutter): The build passed. (https://travis-ci.org/jruby/jruby/builds/204036967)
jeremyevans has quit [Remote host closed the connection]
jeremyevans has joined #jruby
snowp has quit [Ping timeout: 240 seconds]
ankitr has joined #jruby
_whitelogger has joined #jruby
snowp has joined #jruby
snowp has quit [Ping timeout: 240 seconds]
ankitr has quit [Quit: Leaving]
msg has joined #jruby
msg is now known as Guest6663
ankitr has joined #jruby
bbrowning_away has quit [Ping timeout: 260 seconds]
Guest6663 has quit [Remote host closed the connection]
bbrowning has joined #jruby
marciol has joined #jruby
ankitr has quit [Quit: Leaving]
ankitr has joined #jruby
marciol has quit [Ping timeout: 260 seconds]
thedarkone2 has quit [Quit: thedarkone2]
msg has joined #jruby
msg is now known as Guest68033
Guest68033 has quit [Remote host closed the connection]
msg has joined #jruby
msg is now known as Guest71432
Guest71432 has quit [Remote host closed the connection]
blaxter has joined #jruby
alex0ptr has joined #jruby
Specialist has joined #jruby
msg has joined #jruby
msg is now known as Guest31912
Guest31912 has quit [Remote host closed the connection]
shellac has joined #jruby
Puffball has quit [Quit: No Ping reply in 180 seconds.]
Puffball has joined #jruby
snowp has joined #jruby
snowp has quit [Ping timeout: 240 seconds]
msg has joined #jruby
msg is now known as Guest22659
drbobbeaty has joined #jruby
vtunka has joined #jruby
marciol has joined #jruby
Specialist has quit [Ping timeout: 260 seconds]
marciol has quit [Ping timeout: 260 seconds]
alex0ptr has quit [Remote host closed the connection]
Specialist has joined #jruby
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Specialist has quit [Ping timeout: 268 seconds]
Specialist has joined #jruby
Guest22659 has quit [Remote host closed the connection]
msg has joined #jruby
msg is now known as Guest17266
Specialist has quit [Ping timeout: 260 seconds]
Specialist has joined #jruby
Guest17266 has quit [Remote host closed the connection]
alex0ptr has joined #jruby
Specialist has quit [Ping timeout: 240 seconds]
vtunka has quit [Quit: Leaving]
vtunka has joined #jruby
Specialist has joined #jruby
dminuoso has left #jruby [#jruby]
msg has joined #jruby
msg is now known as Guest45695
drbobbeaty has joined #jruby
marciol has joined #jruby
ankitr has quit [Ping timeout: 255 seconds]
tcrawley-away is now known as tcrawley
snowp has joined #jruby
subbu_ has joined #jruby
subbu has quit [Ping timeout: 252 seconds]
subbu_ is now known as subbu
subbu is now known as Guest26832
blaxter has quit [Quit: foo]
snowp has quit [Ping timeout: 240 seconds]
_whitelogger has quit [Ping timeout: 240 seconds]
_whitelogger has joined #jruby
alex0ptr has joined #jruby
Guest45695 has quit [Remote host closed the connection]
enebo has joined #jruby
ankitr has joined #jruby
msg has joined #jruby
msg is now known as Guest45919
Guest45919 has quit [Ping timeout: 268 seconds]
prasun has joined #jruby
<GitHub103> [jruby] enebo pushed 1 new commit to master: https://git.io/vDpdm
<GitHub103> jruby/master b5cfd0d Thomas E. Enebo: Fix ruby/spec Enumerable#max where nil arg will return single maximum value
Guest26832 is now known as subbu
<GitHub197> [jruby] enebo pushed 1 new commit to master: https://git.io/vDpFe
<GitHub197> jruby/master 7341634 Thomas E. Enebo: Fix ruby/spec Enumerable#min where nil arg will return single minimum value
Specialist has quit [Ping timeout: 240 seconds]
<GitHub146> [jruby] enebo pushed 1 new commit to master: https://git.io/vDpbp
<GitHub146> jruby/master 237fbf9 Thomas E. Enebo: Fixes ruby/spec Enumerable#each_cons to throw an exception when the cons size are is bogus
<GitHub191> [jruby] enebo pushed 1 new commit to master: https://git.io/vDpAM
<GitHub191> jruby/master 93d52c0 Thomas E. Enebo: Fixes ruby/spec Enumerable#each_slice to throw an exception when the cons size are is bogus
prasun has quit [Ping timeout: 240 seconds]
marciol has quit [Remote host closed the connection]
marciol has joined #jruby
msg has joined #jruby
msg is now known as Guest33828
Guest33828 has quit [Remote host closed the connection]
camlow325 has joined #jruby
<GitHub81> [jruby] enebo pushed 1 new commit to master: https://git.io/vDpj0
<GitHub81> jruby/master b97a0d0 Thomas E. Enebo: Fix ruby/spec failure in Enumerable#max_by where it accepts are but has no block...Make Enumerator
marciol has quit [Ping timeout: 240 seconds]
Specialist has joined #jruby
<GitHub127> [jruby] enebo pushed 1 new commit to master: https://git.io/vDhe8
<GitHub127> jruby/master ff996fb Thomas E. Enebo: Fix ruby/spec failure in Enumerable#min_by where it accepts are but has no block...Make Enumerator
prasun has joined #jruby
ankitr_ has joined #jruby
msg has joined #jruby
msg is now known as Guest71630
ankitr has quit [Ping timeout: 260 seconds]
prasun has quit [Ping timeout: 268 seconds]
swills has quit [Ping timeout: 240 seconds]
swills has joined #jruby
<travis-ci> jruby/jruby (master:b97a0d0 by Thomas E. Enebo): The build passed. (https://travis-ci.org/jruby/jruby/builds/204236075)
prasun has joined #jruby
thedarkone2 has joined #jruby
<travis-ci> jruby/jruby (master:ff996fb by Thomas E. Enebo): The build was fixed. (https://travis-ci.org/jruby/jruby/builds/204239326)
vtunka has quit [Quit: Leaving]
snowp has joined #jruby
ankitr_ has quit [Ping timeout: 268 seconds]
snowp has quit [Ping timeout: 240 seconds]
Guest71630 has quit [Remote host closed the connection]
msg has joined #jruby
msg is now known as Guest29178
Guest29178 has quit [Ping timeout: 240 seconds]
ankitr_ has joined #jruby
marciol has joined #jruby
ankitr_ has quit [Ping timeout: 240 seconds]
prasun has quit [Ping timeout: 260 seconds]
ankitr_ has joined #jruby
ankitr_ has quit [Client Quit]
camlow325 has quit [Quit: WeeChat 1.5]
msg has joined #jruby
msg is now known as Guest55967
alex0ptr has quit [Remote host closed the connection]
Specialist has quit [Remote host closed the connection]
enebo1 has joined #jruby
camlow325 has joined #jruby
snowp has joined #jruby
snowp has quit [Ping timeout: 255 seconds]
bbrowning is now known as bbrowning_away
alex0ptr has joined #jruby
lanceball is now known as lance|afk
alex0ptr has quit [Read error: Connection reset by peer]
alex0ptr_ has joined #jruby
alex0ptr_ has quit [Ping timeout: 260 seconds]
alex0ptr has joined #jruby
alex0ptr_ has joined #jruby
alex0ptr has quit [Ping timeout: 240 seconds]
tcrawley is now known as tcrawley-away
snowp has joined #jruby
marciol has quit [Remote host closed the connection]
marciol has joined #jruby
marciol has quit [Remote host closed the connection]
marciol has joined #jruby
marciol has quit [Ping timeout: 268 seconds]
lance|afk is now known as lanceball
marciol has joined #jruby
marciol has quit [Remote host closed the connection]
marciol has joined #jruby
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
marciol has quit [Ping timeout: 260 seconds]
bbrowning_away is now known as bbrowning