Aethenelle has joined #jruby
enebo has quit [Quit: enebo]
ITXpander has joined #jruby
ITXpander1 has joined #jruby
ITXpander has quit [Ping timeout: 255 seconds]
dling has joined #jruby
enebo has joined #jruby
ITXpander1 has quit [Quit: Leaving.]
jeremyevans has quit [Quit: leaving]
Aethenelle has quit [Quit: Aethenelle]
gaustin has joined #jruby
tenderlove has quit [Ping timeout: 250 seconds]
aadam21 has joined #jruby
jeremyevans has joined #jruby
aadam21 has quit [Remote host closed the connection]
camlow325 has quit []
lanceball is now known as lance|afk
gaustin has quit [Quit: gaustin]
aadam21 has joined #jruby
aadam21 has quit [Remote host closed the connection]
aadam21 has joined #jruby
aadam21 has quit [Remote host closed the connection]
Aethenelle has joined #jruby
<GitHub187> [jruby] nahi reopened issue #3577: Block call IR optimization failures by 0d35995e1704bb716a9b54064208cf82ace2f150 http://git.io/vufx3
tomjoro has quit [Remote host closed the connection]
pawnbox has joined #jruby
Aethenelle has quit [Quit: Aethenelle]
enebo has quit [Quit: enebo]
pickerel has joined #jruby
pawnbox has quit [Remote host closed the connection]
xardion_ has joined #jruby
xardion has quit [Ping timeout: 264 seconds]
pawnbox has joined #jruby
tomjoro has joined #jruby
pawnbox has quit [Ping timeout: 260 seconds]
pawnbox has joined #jruby
<GitHub45> [jruby] headius pushed 1 new commit to master: http://git.io/vurCx
<GitHub45> jruby/master 86884e7 Charles Oliver Nutter: Cleaner attempt at #3577....
tomjoro has quit [Ping timeout: 276 seconds]
tomjoro has joined #jruby
<GitHub184> [jruby] nahi closed issue #3577: Block call IR optimization failures by 0d35995e1704bb716a9b54064208cf82ace2f150 http://git.io/vufx3
<travis-ci> jruby/jruby (master:86884e7 by Charles Oliver Nutter): The build was broken. (https://travis-ci.org/jruby/jruby/builds/100753846)
kares has joined #jruby
robbyoconnor has quit [Excess Flood]
robbyoconnor has joined #jruby
tomjoro has quit [Remote host closed the connection]
ryez has joined #jruby
subbu has quit [Ping timeout: 250 seconds]
subbu has joined #jruby
robbyoconnor has quit [Excess Flood]
cprice404 has quit [Read error: Connection reset by peer]
robbyoconnor has joined #jruby
<GitHub66> [jruby] kares pushed 21 new commits to master: http://git.io/vurrk
<GitHub66> jruby/master cd5bb2e kares: delay require 'delegate' as the spec is run
<GitHub66> jruby/master c1c80fd kares: make runtime's hash seed fields final
<GitHub66> jruby/master 5d57f49 kares: add generics for Class<> objects around RubyClass' methods
tomjoro has joined #jruby
thedarkone2 has quit [Quit: thedarkone2]
pitr-ch has joined #jruby
yfeldblum has quit [Ping timeout: 260 seconds]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
<GitHub152> [jruby-openssl] kares pushed 1 new commit to master: http://git.io/vurDD
<GitHub152> jruby-openssl/master b25de83 kares: moved (and adjusted to handle 9K besides 1.7) X509 store add .pem test from JRuby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
<GitHub78> [jruby] kares pushed 1 new commit to master: http://git.io/vury5
<GitHub78> jruby/master f302e3d kares: moved test_adding_pem_to_x509store to JRuby-OpenSSL (needed tweaks for 9K)
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
<travis-ci> jruby/jruby-openssl (master:b25de83 by kares): The build is still failing. (https://travis-ci.org/jruby/jruby-openssl/builds/100767822)
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
pawnbox has quit [Remote host closed the connection]
pitr-ch has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
pawnbox has joined #jruby
TheWhip has joined #jruby
<travis-ci> jruby/jruby (master:f302e3d by kares): The build was broken. (https://travis-ci.org/jruby/jruby/builds/100768094)
shellac has joined #jruby
yfeldblum has joined #jruby
TheWhip has quit [Remote host closed the connection]
<GitHub73> [jruby] kares pushed 3 new commits to jruby-1_7: http://git.io/vuove
<GitHub73> jruby/jruby-1_7 132a7d8 kares: remove unused private method in RubyIO + make method call in constructor final
<GitHub73> jruby/jruby-1_7 9a5c917 kares: convert Bignum timeout argument in `IO.select` as well
<GitHub73> jruby/jruby-1_7 f578898 kares: convert IO.select timeout argument to_f when its an unknown type (closing #821)
pitr-ch has joined #jruby
TheWhip has joined #jruby
TheWhip has quit [Remote host closed the connection]
TheWhip has joined #jruby
vtunka has joined #jruby
ryez has quit [Ping timeout: 252 seconds]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
pickerel has quit [Remote host closed the connection]
pitr-ch has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
yfeldblum has quit [Read error: Connection reset by peer]
yfeldblum has joined #jruby
pawnbox has quit [Remote host closed the connection]
drbobbeaty has joined #jruby
pawnbox has joined #jruby
pitr-ch has joined #jruby
<GitHub87> [jruby] rovf opened issue #3583: Documentation for ScriptingContainer.runScriptlet ambiguous http://git.io/vuoqx
pitr-ch has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
yfeldblum has quit [Read error: Connection reset by peer]
yfeldblum has joined #jruby
tlarevo has joined #jruby
ryez has joined #jruby
<GitHub3> [jruby] eregon commented on commit 71ae5d4: I don't like too much adding stuff in InternalMethod that is not necessary for all methods.... http://git.io/vuon4
<GitHub122> [jruby] chrisseaton commented on commit 71ae5d4: Yes, I'm open to any other solution. I didn't know about the default definee stuff when I wrote this, so I can see the overlap.... http://git.io/vuocV
<GitHub180> [jruby] chrisseaton commented on commit 71ae5d4: You probably wouldn't like my solution to the other spec - the instance_eval one - where I was planning to capture the default definee in the method in the same way, so I'll leave this def spec to you instead. http://git.io/vuoCm
vtunka has quit [Quit: Leaving]
tlarevo has quit []
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
vtunka has joined #jruby
<GitHub20> [jruby] eregon commented on commit 71ae5d4: @chrisseaton I think there is no other way for that def spec unfortunately, but I'll have a look. http://git.io/vuou3
ryez has quit [Ping timeout: 252 seconds]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
TheWhip has quit [Remote host closed the connection]
tomjoro has quit [Ping timeout: 240 seconds]
bbrowning_away is now known as bbrowning
ryez has joined #jruby
pitr-ch has joined #jruby
vtunka has quit [Quit: Leaving]
josemotanet has joined #jruby
vtunka has joined #jruby
<josemotanet> hello! can anyone help me assist me in installing the adapters for AR-JDBC? `rake install:adapters`, at some point, tries to install '', as in `gem install ''`. Is this supposed to happen?
TheWhip has joined #jruby
<josemotanet> ok it seems the adapters were installed, despite the situation reported.
drbobbeaty has joined #jruby
yfeldblum has quit [Ping timeout: 260 seconds]
gaustin has joined #jruby
tomjoro has joined #jruby
TheWhip has quit [Remote host closed the connection]
pawnbox has quit [Remote host closed the connection]
nirvdrum has joined #jruby
tomjoro has quit [Ping timeout: 276 seconds]
pawnbox has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
vtunka has quit [Quit: Leaving]
vtunka has joined #jruby
byteit101__ has quit [Ping timeout: 264 seconds]
balo has quit [Remote host closed the connection]
josemotanet has quit [Quit: WeeChat 1.3]
balo has joined #jruby
byteit101__ has joined #jruby
rsim1 has quit [Quit: Leaving.]
shellac has quit [Quit: Computer has gone to sleep.]
gaustin has quit [Quit: gaustin]
gaustin has joined #jruby
gaustin has quit [Ping timeout: 240 seconds]
shellac has joined #jruby
TheWhip has joined #jruby
rsim has joined #jruby
skade has joined #jruby
tomjoro has joined #jruby
tomjoro has quit [Ping timeout: 276 seconds]
TheWhip has quit [Remote host closed the connection]
TheWhip has joined #jruby
TheWhip has quit [Remote host closed the connection]
TheWhip has joined #jruby
kares has quit [Ping timeout: 260 seconds]
lance|afk is now known as lanceball
ITXpander has joined #jruby
vtunka has quit [Quit: Leaving]
skade has quit [Ping timeout: 260 seconds]
Aethenelle has joined #jruby
Aethenelle has quit [Read error: Connection reset by peer]
vtunka has joined #jruby
gaustin has joined #jruby
tcrawley-away is now known as tcrawley
gaustin has quit [Quit: gaustin]
drbobbeaty has quit [Read error: Connection reset by peer]
drbobbeaty has joined #jruby
qmx has quit [Remote host closed the connection]
tomjoro has joined #jruby
jimbaker has joined #jruby
qmx has joined #jruby
qmx has quit [Changing host]
qmx has joined #jruby
bjfish2 has joined #jruby
bbrowning has quit [Read error: Connection reset by peer]
bbrowning has joined #jruby
cprice has joined #jruby
tenderlove has joined #jruby
benlovell has joined #jruby
shellac has quit [Quit: Computer has gone to sleep.]
shellac has joined #jruby
<headius> morning!
<GitHub47> [jruby] chrisseaton closed issue #3578: jruby-9.0.2.0+graal-dev fails to install on OSX. http://git.io/vuG6D
<chrisseaton> headius: hi
<chrisseaton> do you know if Travis ever do JDK EA builds?
<headius> I think they've talked about it but I don't believe they've done it
pawnbox has quit [Remote host closed the connection]
pawnbox_ has joined #jruby
pawnbox_ has quit [Remote host closed the connection]
donValentin has quit [Ping timeout: 264 seconds]
pawnbox has joined #jruby
shellac has quit [Quit: Computer has gone to sleep.]
jimbaker has quit [Ping timeout: 250 seconds]
AckZ has quit [Ping timeout: 250 seconds]
jimbaker has joined #jruby
donV has joined #jruby
AckZ has joined #jruby
jimbaker has quit [Changing host]
jimbaker has joined #jruby
enebo has joined #jruby
skade has joined #jruby
benlovell has quit [Ping timeout: 240 seconds]
skade has quit [Ping timeout: 240 seconds]
thedarkone2 has joined #jruby
skade has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
benlovell has joined #jruby
camlow325 has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
skade has quit [Read error: Connection reset by peer]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
joevandy1 is now known as joevandyk
<GitHub142> [jruby] enebo pushed 1 new commit to master: http://git.io/vu618
<GitHub142> jruby/master 9ae041a Thomas E. Enebo: Make prepareFullBuildCommon private since it is not intended to be used by anything outside IRScope. Make small name change to try and make prepareXXX methods more clear on intent
shellac has joined #jruby
skade has joined #jruby
pipework has quit [Ping timeout: 250 seconds]
pipework has joined #jruby
hobodave has joined #jruby
<chrisseaton> hello enebo
<enebo> chrisseaton: hello
<chrisseaton> are you planning .5 any time soon?
<enebo> chrisseaton: hopefully in the next week. I just got back home and there is a windows stat issue and our new block ACP code is still getting worked out
<chrisseaton> great
<enebo> chrisseaton: but we can possibly just disable block ACP work if we do not feel comfortable
<chrisseaton> I don't know what ACP is
<enebo> chrisseaton: it is ok…it is just our block parameter binding logic getting emitted as IR instead of hardcoded
<enebo> chrisseaton: and setting up some scope related stuff for block execution
<chrisseaton> we're going to start encouraging Truffle users to use normal JRuby releases and JDK 9 EA, so regular JRuby releases would be useful for us
<chrisseaton> they don't have to be as frequent as Rubinius releases though
<enebo> chrisseaton: yeah we are trying for about 4-6 weeks but I was in Japan for 4 weeks so :)
<enebo> chrisseaton: anything big since 9.0.4.0 for ruby+truffle?
<chrisseaton> yeah we updated Truffle versions
skade has quit [Ping timeout: 250 seconds]
<chrisseaton> I think it was about 10% increase in performance
<enebo> chrisseaton: nice
<projectodd-ci> Project jruby-master-spec-compiler build #814: FAILURE in 4 min 8 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/814/
<enebo> HAHAH try to do something nice and what happens
skade has joined #jruby
shellac has quit [Quit: Computer has gone to sleep.]
<lopex> chrisseaton: that means you have some numbers ?
<lopex> enebo: so long!
<enebo> lopex: so long?
<enebo> lopex: for tonight?
<lopex> enebo: you havent been here
<enebo> lopex: true
shellac has joined #jruby
thedarkone2 has quit [Quit: thedarkone2]
<chrisseaton> lopex: there's always numbers at jruby.org/bench9000
hobodave_ has joined #jruby
<GitHub80> [jruby] grddev opened issue #3584: IRB help doesn't work form jruby complete as files embedded in jars are not rewindable http://git.io/vuik4
hobodave has quit [Ping timeout: 264 seconds]
shellac has quit [Quit: Computer has gone to sleep.]
benlovell has quit [Ping timeout: 250 seconds]
<headius> subbu: why is Self a LocalVariable instead of a TemporaryLocalVariable
<headius> we have one in every scope and assign it as part of entry
vtunka has quit [Quit: Leaving]
<headius> woah, making it a TemporaryVariable makes it blow up
<headius> so I guess I won't do that
<headius> by it I mean the JVM
<headius> wow yeah, C2 crashes with this change
TheWhip has quit []
<headius> oh hahah
<headius> I bet it's a lack of full rebuild and some type doesn't match
<headius> and we don't verify on boot so it goes right along and tries to access a bad vtable or something
<headius> ᕕ( ᐛ )ᕗ
<GitHub81> [jruby] chrisseaton pushed 3 new commits to master: http://git.io/vuiEa
<GitHub81> jruby/master 21665b0 Chris Seaton: [Truffle] a* = b will #to_ary on the b.
<GitHub81> jruby/master bdbffc9 Chris Seaton: [Truffle] enums are always static.
<GitHub81> jruby/master 9dc5c59 Chris Seaton: [Truffle] Weird behaviour with multiple assignment with a splatted nil on the rhs is the last variables spec.
<travis-ci> jruby/jruby (master:9ae041a by Thomas E. Enebo): The build was broken. (https://travis-ci.org/jruby/jruby/builds/100864852)
thedarkone2 has joined #jruby
rsim has quit [Quit: Leaving.]
brightball has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
aramisbear has joined #jruby
n00bdev has joined #jruby
n00bdev has quit [Client Quit]
pawnbox has quit [Remote host closed the connection]
<headius> can we move to Java 8 yet?
pawnbox has joined #jruby
brightball has quit [Ping timeout: 260 seconds]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
hobodave has joined #jruby
hobodave_ has quit [Ping timeout: 255 seconds]
<projectodd-ci> Project jruby-master-test-slow_suites build #2458: FAILURE in 29 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-test-slow_suites/2458/
<nirvdrum> headius: I think Ruboto continues to be a problem.
<headius> well yeah
<headius> but it's not even Java 7
<nirvdrum> Although it looks like Android is going to adopt OpenJDK, so maybe this won't be such a problem in a couple years.
<nirvdrum> headius: What are you looking to use that precipitated the tweet?
hobodave_ has joined #jruby
<projectodd-ci> Project jruby-master-spec-compiler build #815: STILL FAILING in 3 min 50 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/815/
hobodave has quit [Ping timeout: 250 seconds]
pawnbox has quit [Remote host closed the connection]
<travis-ci> jruby/jruby (master:9dc5c59 by Chris Seaton): The build was broken. (https://travis-ci.org/jruby/jruby/builds/100885829)
pawnbox has joined #jruby
ryez has quit [Ping timeout: 252 seconds]
<GitHub161> [jruby] enebo pushed 2 new commits to master: http://git.io/vui7O
<GitHub161> jruby/master ec50bf1 Thomas E. Enebo: Remove singly used private method and rename another private method to be more meaningful
<GitHub161> jruby/master 76fb590 Thomas E. Enebo: Fix for method name change
<chrisseaton> flaky tests!
<nirvdrum> We could use the test output to seed a random number generator :-)
<enebo> heh
<chrisseaton> I just don't like being publicly blamed for it!
<nirvdrum> enebo: Is there any way for an StrNode to ever be anything other than CR_7BIT or CR_VALID?
<nirvdrum> I'd hope the lexer blows up if it were to be CR_BROKEN.
<enebo> nirvdrum: yeah what you say is probably true but I doubt we fail fast on it
<enebo> nirvdrum: or that fast
<enebo> :)
shellac has joined #jruby
<nirvdrum> Can it ever be CR_UNKNOWN?
ITXpander has quit [Quit: Leaving.]
<enebo> nirvdrum: I don’t think so since I believe we always have to scan for mbc
camlow32_ has joined #jruby
pitr-ch_ has joined #jruby
cremes_ has joined #jruby
talevy_ has joined #jruby
mjc__ has joined #jruby
zph_ has joined #jruby
jsvd_ has joined #jruby
shellac has quit [*.net *.split]
skade has quit [*.net *.split]
camlow325 has quit [*.net *.split]
pitr-ch has quit [*.net *.split]
jsvd has quit [*.net *.split]
cremes has quit [*.net *.split]
talevy has quit [*.net *.split]
zph has quit [*.net *.split]
mjc has quit [*.net *.split]
kwando has quit [*.net *.split]
cremes_ is now known as cremes
jsvd_ is now known as jsvd
kwando has joined #jruby
talevy_ is now known as talevy
zph_ is now known as zph
rsim has joined #jruby
benlovell has joined #jruby
<headius> CR_EBCDIC
benlovell has quit [Ping timeout: 272 seconds]
benlovell has joined #jruby
cschneid has quit [Ping timeout: 250 seconds]
<headius> well, fun morning messing around with a new IR dumper... https://gist.github.com/headius/0414fa494fec32679e6a
cschneid has joined #jruby
<travis-ci> jruby/jruby (master:ec50bf1 by Thomas E. Enebo): The build was fixed. (https://travis-ci.org/jruby/jruby/builds/100896453)
monkstone has joined #jruby
<projectodd-ci> Yippee, build fixed!
<projectodd-ci> Project jruby-master-spec-compiler build #816: FIXED in 4 min 10 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-spec-compiler/816/
monkstone has left #jruby [#jruby]
<projectodd-ci> Yippee, build fixed!
<projectodd-ci> Project jruby-master-test-slow_suites build #2459: FIXED in 9 min 15 sec: https://projectodd.ci.cloudbees.com/job/jruby-master-test-slow_suites/2459/
<headius> yippee
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
pawnbox has quit [Ping timeout: 256 seconds]
oblutak has joined #jruby
yfeldblum has joined #jruby
bb010g has joined #jruby
benlovell has quit [Ping timeout: 276 seconds]
yipdw_ has quit [Quit: No Ping reply in 180 seconds.]
pawnbox has joined #jruby
yipdw has joined #jruby
yipdw has quit [Changing host]
yipdw has joined #jruby
pawnbox has quit [Ping timeout: 240 seconds]
rsim has quit [Quit: Leaving.]
<GitHub133> [jruby] chrisseaton pushed 1 new commit to master: http://git.io/vuPV6
<GitHub133> jruby/master 07e62b2 Chris Seaton: [Truffle] Last def spec.
<GitHub102> [jruby] chrisseaton commented on commit 07e62b2: @eregon http://git.io/vuPVy
<GitHub91> [jruby] chrisseaton pushed 1 new commit to master: http://git.io/vuPwn
<GitHub91> jruby/master 12a1e0f Chris Seaton: [Truffle] Code left in by mistake.
<GitHub196> [jruby] chrisseaton commented on commit 07e62b2: Left in by mistake - removed http://git.io/vuPw8
yfeldblum has quit [Ping timeout: 240 seconds]
yipdw has quit [*.net *.split]
cschneid has quit [*.net *.split]
mjc__ has quit [*.net *.split]
yipdw has joined #jruby
cschneid has joined #jruby
mjc__ has joined #jruby
cschneid has quit [Max SendQ exceeded]
cschneid has joined #jruby
Guest85414______ has quit [Ping timeout: 260 seconds]
knowtheory has quit [Ping timeout: 260 seconds]
andrewvc has quit [Ping timeout: 260 seconds]
<nirvdrum> headius: That looks pretty.
<chrisseaton> headius or enebo: should RUBY_VERSION be 2.2.4 now?
knowtheory has joined #jruby
<enebo> chrisseaton: maybe? we probably need stdlib update
Guest85414______ has joined #jruby
<enebo> chrisseaton: unless nothing in stdlib changed
<chrisseaton> I have no idea
<Antiarc> https://github.com/rbenv/ruby-build/pull/860 - yikes. This is something else.
andrewvc has joined #jruby
<chrisseaton> I can check...
<enebo> Antiarc: no comment
<headius> nirvdrum: thanks
<headius> chrisseaton: we update it when we updated stdlib
<headius> (+ MRI tests)
<headius> the 2.2.x haven't been changing much
<enebo> headius: it may be that there were no changes though
<headius> there weren't for the last time I updated
<lopex> "foo": :bar syntax is 2.2 ?
<lopex> or 2.3 ?
<chrisseaton> looks like quite a lot changed if I'm using this correctly https://github.com/ruby/ruby/compare/v2_2_3...v2_2_4
<GitHub92> [jruby] chrisseaton pushed 1 new commit to master: http://git.io/vuPHd
<GitHub92> jruby/master f7db017 Chris Seaton: [Truffle] Delete remove constants specs that we don't run due to Ruby version.
<headius> chrisseaton: I could four lib/ fles changed
<headius> count
subbu has quit [Ping timeout: 276 seconds]
<headius> 23 ext files changed but a bunch are header moves
aramisbear has quit [Quit: Leaving...]
<headius> looks like 12 total .rb files with any changes at all
<headius> not counting test
<headius> lots of small test changes
<chrisseaton> ah yes it's all test files
<lopex> so why not a minor rev ?
<lopex> mri policy at it's best ?
<chrisseaton> MRI doesn't really do semantic versioning
<lopex> also 1.8.7 skipped 1.8.8 to 1.8.9 and it was a major one
<lopex> headius: was it so ?
<lopex> I mean lots of changes
<lopex> ah, it was lots of 1.9 backports afaik
subbu has joined #jruby
<nirvdrum> enebo, lopex: Have either of you ever looked at eagerly resolving code range for CR_UNKNOWN?
<nirvdrum> It seems like it'd remove something like 7 billion checks and scanForCodeRange calls.
<lopex> nirvdrum: in the parser ?
<nirvdrum> lopex: When constructing a string.
<lopex> nirvdrum: no, but it would simplify things
<lopex> not sure how much is gained on having it lazy
<enebo> nirvdrum: I have not but I imagine that 32M png image might not be worth being eager
<nirvdrum> enebo: What's that?
<lopex> strings are also for binary data
<enebo> nirvdrum: just saying binary data is a string in Ruby typically and they are guarding against pathological cases for stringwalking
<nirvdrum> Sure. But then then the code range is always either CR_7BIT or CR_VALID, no?
<enebo> nirvdrum: If it was read in from IO? It probably starts unknown?
<nirvdrum> Well, surely we'd know the encoding.
<nirvdrum> Or do people read in as UTF-8 and force_encoding afterwards?
<lopex> it happens :)
<nirvdrum> Okay. Well, these were the landmines I was asking for :-)
<nirvdrum> I'll play with it.
<lopex> but should happen less often as time goes
<nirvdrum> That's the other fun part here. Optimizations aren't even limited to CR checks. Binary data can be CR_VALID but still run through the single byte optimizations.
<lopex> with what encoding ?
<nirvdrum> ASCII-8BIT.
<lopex> then it will
<nirvdrum> Will what?
<lopex> there's lots of checks for isSingleByte() all around
<nirvdrum> Right.
<lopex> also isFixedWidth can be useful, but much less often
<nirvdrum> I mean we look at 3 different attributes (that I've counted thus far) to determine how to optimize things: code range, fixed width encodings, and max encoding width == 1.
<lopex> yep
<nirvdrum> Keeping all of this straight is incredibly error prone.
<lopex> that's why there's lots of fast checks in Encoding instance
<nirvdrum> So, I'm just looking for ways to reduce the state space if I can.
<nirvdrum> Binary strings still piss me off.
<nirvdrum> enebo was talking reducing things a bit by comparing byte length to logical string length, I think.
<lopex> enebo: but no ropes please
<nirvdrum> Why no ropes?
<lopex> it's already complex
<lopex> well, I understand perf advantages of ropes, especially here
<lopex> dunny
<lopex> *dunno
<lopex> mixed feelings
<lopex> maybe peristent vectors for immutable ones would work better
<chrisseaton> I think ropes perfectly match what normal Ruby code does - think templating
<chrisseaton> Most Ruby code is building up a big response string
<lopex> yeah, and parts could be marked single byte mostly
<chrisseaton> what aren't ropes good at? single character insertion and changes I guess - and there are actually algorithms for that to make it work well with ropes
<lopex> has anyone measured how fragmentation affects perf on real code ?
<lopex> also, [] wouldnt allow any index bounds check elimination right ?
<nirvdrum> Not quite the same, but when I was taking heap dumps of my production app, the byte[] in ByteList routinely were near the top.
<chrisseaton> lopex: does that ever work in practice on real JRuby though? I would imagine the indexes and arrays are allocated pretty far apart in reality
<lopex> chrisseaton: no idea
<nirvdrum> I'd like to eliminate bounds checks, but I haven't seen a way to do it yet.
<nirvdrum> Since we've already needed to calculate it for Ruby, it seems less than ideal for the JVM to then double-check me.
<lopex> chrisseaton: I guess that's right in most cases
<lopex> and most short lived strings are internally iterated
<lopex> if iterated
<chrisseaton> but again I don't think the JVM will do anything with that in reality - the current compilers just aren't that strong
<chrisseaton> by compilers I mean JITs of course
benlovell has joined #jruby
<headius> most ruby code could do templating with a trivial data structure rather than making String be a rope
<headius> those templates are almost never trees...they're string, object, string, object, string, object
<headius> very rarely the object are other templates
<lopex> I guess iteration on single rope buffer node would eliminate inbetween checks
<chrisseaton> headius: right but we can represent a linear sequence as tree if we want to
<headius> or we could not :-D
benlovell has quit [Client Quit]
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<headius> also have to consider death of a thousand object headers with ropes
<nirvdrum> headius: I think part of it, however, is the string parts are really unlikely to change. I suspect if any of the implementations used ropes, the .freeze optimization would have been unnecessary.
<lopex> and flags
<headius> not to mention references down tree, to siblings, whatever tree structure you use is going to be a lot more memory
<headius> oh sure, flag negotiation, encoding negotiation
<chrisseaton> yes that fact people want freeze is an indication I think that they really want ropes
<chrisseaton> well this is why we're here - to try to risky ideas that might turn out to be nothing
<headius> I think it's an indication they want zero-allocation literal strings
<headius> hey sure, go for it
<headius> I'm not saying not to...I'm just saying I suspect it will be a lot of work for very little gain
<headius> if MRI just went to all frozen literal strings, 99% of all string allocation would disappear
<headius> ropes are only going to chisel out of that remaining 1%
<lopex> but still that 99% is shared strings
<headius> hell, JVM folks even stopped doing copy-on-write in String because it wasn't worth it
<headius> right
<lopex> how does it look on the overall churn ?
<headius> so we're saving the alloc of the shell mostly
<headius> it's not at the top but it's up there
<headius> for jruby proper it's still all fixnums
<lopex> headius: yeah 1.7u5 :)
<headius> I know enebo would love to see ropes
<enebo> ROPES
<headius> I think they're a neat data structure with a pretty niche use case
<chrisseaton> for us it's also about guards - we to be able to compare strings by identity to see if they've changed
<lopex> I wonder how much mri wins on having that buffer in union in RObject
<lopex> ah, it's the GC
<headius> fwiw, MRI freezes all strings in their AST right now
<headius> a string node dups it into a mutable copy
<lopex> literals ?
<headius> everything
<headius> but that allows them to e.g. have "#{foo}bar" not allocate any new string except the final one
<lopex> right
<headius> I have to write special logic to do interpolation against ByteList to get that
<headius> so I may go toward frozen string that's dup'ed to simplify
<lopex> are those visible from ObjectSpace ?
bbrowning is now known as bbrowning_away
<chrisseaton> lopex: I think in MRI if the GC knows about it, it's visible from ObjectSpace
<chrisseaton> so it's hard to answer - is the GC managing interned strings
<chrisseaton> are interned strings GCable?
<lopex> in java, last time I heard they are
<lopex> headius: has anything changed ?
<headius> yes
<headius> they are
<headius> in Java and MRI
<nirvdrum> headius: Do they still copy string hash keys?
<headius> the fstring table is weak
<headius> literal string hash keys, no, they use the pre-frozen ones
<headius> indirect string hash keys still copy and don't deduplicate
<lopex> nirvdrum: last time I checked they had special syntax treatment for literal symbol indexes
<headius> and literal string indexes
<headius> but with the : syntax those are getting pretty rare now
<headius> I filed a JRuby bug with all the fstring optimizations I could find in YARV
<headius> a few easy ones: case/when with literal strings, attr assignment into a string or hash with literal string (when not overridden)
<nirvdrum> headius: I think they're still pretty popular in web stacks. Before symbols were GCable, that was a really good way to DoS a site.
<headius> yeah I suppose so
<headius> they'll go away fast now though
<headius> sad thing is that if strings were interned from the beginning symbol wouldn't even need to be there
<headius> once they are, symbol and literal string will be the same thing
<lopex> and yet another history baggage
<nirvdrum> lopex: Thanks. I didn't know about that.
<lopex> headius: in opal they already are :P
<nirvdrum> Well, I'm looking at ropes a bit more in depth now. I'll let you know how it goes.
<nirvdrum> Still early days yet. So I'm curious about any pitfalls.
<chrisseaton> Can anyone tell me how ; block args are represented in the AST? They don't show at all in bin/ast
<headius> hey, I'll ask the peanut gallery...how wrong is it of me to use "transient" to mark fields I don't want to reflectively walk in this IR dumper
<headius> I'm trying to do this with a minimum of one-off code in IR
<headius> IR is never, ever going to be Serializable
<headius> chrisseaton: it's a separate node type
<headius> ArgsNode I believe
<headius> but I can never remember the structure
<chrisseaton> I don't ever intended to serialise any of my classes - don't know if that's a mistake or not
<headius> serialization was and always will be a mistake
<headius> and if we really need it we'd use externalizable anyway
<headius> which would just be IREncoder/Decoder
<headius> well nobody's trying to burn me so I'm going to go ahead with this transient mess
tcrawley is now known as tcrawley-away
<subbu> headius, i was not around .. but to answer your qn. %self is not really a tmp
<subbu> tmp vars are what we introduce in jruby to store results that aren't assigned anywhere in ruby source.
<headius> enebo is trying out making it an operand because we couldn't figure out why we needed to do the %self = recv_self dance
<headius> and it bothered me while working on this dumper that it was a LocalVariable but not really a LocalVariable
<headius> subbu: enebo likes the dumper format I came up with, btw, so it's up for debate whether we swap that in for ir.compile.debug output
<headius> it is more complete, a bit cleaner formatting (color would be off by default), and we can delete a bunch of code
hobodave_ has quit [Ping timeout: 260 seconds]
<enebo> headius: subbu: So one thing about self is it can change in the interp loop
oblutak has left #jruby [#jruby]
<enebo> headius: subbu: which only means it is mutable but also implies it is useful as being marked as a Variable
<enebo> but not a LocalVariable per se
<headius> right, my main gripe was that it's a variable that's not a variable, and it's always local to a given scope...so if it's a variable it should be a temp, and if it's not a variable it should be an operand
<headius> subbu: I guess my bottom line question is: why do we have recv_self at all?
<enebo> headius: so it does change
<enebo> or at least it can change
<chrisseaton> headius: block vars aren't represented in the AST - they're handled by the parser to set correct scope and then forgotten about :(
<headius> block vars or block arguments?
<headius> I mean like parameters to a block or a block de-reified into implicit
<GitHub104> [jruby] subbuss pushed 1 new commit to master: http://git.io/vuXY8
<GitHub104> jruby/master 4b1b8a8 Subramanya Sastry: Remove dead code
<headius> I'm not sure which you mean now
<chrisseaton> I mean the things that come after ;
<headius> OH
<chrisseaton> foo {| a ; b | }
<headius> the shadow variables
<subbu> headius, enebo i had it be explicit for reasons of not having implicit state lying around .. and also because with inlining, the self part is handled normally.
<subbu> headius, let me pull fresh code and se
<subbu> is a new jruby release going out soon then?
<headius> or rather do-not-shadow variables
<headius> yeah I have no idea...your analysis is probably right
<headius> parser hint for scoping them
<headius> so you need access to them after parse time?
<subbu> headius, after inlining, %self is not fixed .. self in the inlined scope is not just a tmp-var.
<enebo> subbu: headius: For inlining it is naturally handled for renamed values as a Variable type
<headius> subbu: ok
<chrisseaton> yeah we ignore your scope objects - I'll just add a field to ArgumentNode
<enebo> it is not impossible to change this
yfeldblum has joined #jruby
<subbu> headius, how do i see the new print format you mentioned?
<GitHub179> [jruby] headius pushed 7 new commits to master: http://git.io/vuXYj
<GitHub179> jruby/master 5c06c34 Charles Oliver Nutter: Minor whitespace.
<GitHub179> jruby/master 05e82a8 Charles Oliver Nutter: These are always LocalVariable, so just do it that way.
<GitHub179> jruby/master ca54287 Charles Oliver Nutter: Remove the brackets since they're just extra noise....
<headius> that's with color, off by default
<headius> I didn't feel like fixing bugs today
<enebo> subbu: headius: I do not get this but I now think it should be a variable but I can make it extend Variable directly to not rankle headius sensibilities
<subbu> ah, that looks good .. labels could potentially be formatted to print out left-justified without the label(..) bit maybe .. not sure
<enebo> since self changes
<enebo> changes via IR
<enebo> and to appease subbu’s sensibilities we can leave recv_self to be explicit
<subbu> :)
<chrisseaton> We are getting really close to 100% language specs pass for Truffle, if you haven't been following
<enebo> subbu: we can never eliminate self form our infrastructure so the instr is really just to make you happy :)
<chrisseaton> (I know specs don't cover everything)
<subbu> headius, i also like the callType: potentiallyRefined: etc output too.
<subbu> chrisseaton, ah .. neat! i haven't been following for sure.
<headius> chrisseaton: nice!
<nirvdrum> headius: [ERROR] /home/nirvdrum/dev/workspaces/jruby/core/src/main/java/org/jruby/ir/persistence/IRDumper.java:[79,13] error: cannot find symbol
<headius> gah
<headius> what symbol
<headius> I did a clean build
<nirvdrum> Forget to push?
<headius> oh what the
<headius> enebo: did you make that private?
<nirvdrum> Or maybe a file you need to add?
<headius> prepareForInitialCompilation
<headius> I thought that was the one I was supposed to call!
<enebo> prepareForCompilation
<enebo> you said the name was confusing :)
<headius> I have nothing to say
<enebo> HAHA
<headius> I guess I should have pulled and then built clean
<nirvdrum> Amateur hour in here.
<enebo> headius: I made the common method private too so it would not show up in IDE output
<enebo> headius: I also gave you this commit hash over IM
<GitHub14> [jruby] headius pushed 1 new commit to master: http://git.io/vuX3o
<GitHub14> jruby/master 404f666 Charles Oliver Nutter: ENEBO
<enebo> hahah
<headius> commit hash, schmommit hash
* subbu is going to head back to the all staff gathering now ...
<enebo> headius: I also broke the build for a while because we script into IRScope in the compiler specs
<enebo> subbu: have fun
<nirvdrum> headius: I think the bigger problem is I felt the need to tell you in IRC because none of us trust the Travis output :-(
<headius> subbu: don't eat too many hors d'oeuvres
<subbu> food, wine, music, dancing ... so, all good. :)
<enebo> DANCING
<enebo> FOOTLOOSE
<subbu> in an hour and a half, that is.
<subbu> right now .. i am lounging around instead of sitting in some workshops ..
<enebo> LOUNGING
<subbu> why is enebo SHOUTING?
<enebo> shouting
<headius> I should have made the scope name blink
<enebo> I am waiting for our insanely long full build
<subbu> :)
<nirvdrum> Build succeeded!
<enebo> OH YES?
<enebo> headius: marquee
<nirvdrum> The ENEBO commit fixed all.
<nirvdrum> I shall celebrate with dinner.
<headius> I really need to improve Option to accept boolean flags as true without "=true"
<enebo> I’ll drink to that…well in a while anyways
<headius> keep meaning to do that
<headius> jruby -Xcompile.invokedynamic -Xir.print
<enebo> ok so spec:ruby:fast is probably running with this change
<headius> that's promising
<enebo> public class Self extends Variable {
<headius> I did that and spec:compiler
<enebo> I will also do test:mri
<enebo> I actually doubt anything will break with this unless we dynamically cast to LocalVariable somewhere
byteit101 has joined #jruby
<headius> I didn't have to change much in my hack to get rid of type errors
<headius> subbu: my format does omit some data the existing one does, like whether instructions are dead
byteit101__ has quit [Ping timeout: 260 seconds]
<headius> it is currently designed to be a last-stage printout
<headius> rather than debugging output during passes
<headius> also does not include CFG
<headius> CFG will obviously be added as ANSI graphics indicating flow
<headius> :-D
bjfish2 has quit [Quit: bjfish2]
<chrisseaton> write a backend for IGV
<enebo> worked but I am going to dinner I will merge and push later
enebo has quit [Quit: enebo]
<headius> chrisseaton: it would have to be better than the existing ones