tylersmith has quit [Remote host closed the connection]
thsig has quit [Remote host closed the connection]
multibot_ has quit [Remote host closed the connection]
multibot_ has joined #jruby
<bbyler_tho>
hello! has anyone had a problem with warbler and jruby-1.7.16 with LoadError: load error: fast_xs -- java.lang.RuntimeException: callback-style handles are no longer supported in JRuby ?
jrhe_ has quit [Quit: Connection closed for inactivity]
Hobogrammer has quit [Ping timeout: 245 seconds]
rcvalle has quit [Quit: rcvalle]
e_dub has quit [Quit: ZZZzzz…]
e_dub has joined #jruby
zorak8 has joined #jruby
pgokeeffe has quit [Quit: pgokeeffe]
bbyler_tho has left #jruby [#jruby]
benlovell has quit [Ping timeout: 260 seconds]
mister_solo has joined #jruby
josh-k has joined #jruby
imperator has quit [Quit: Valete!]
mister_solo has quit [Ping timeout: 245 seconds]
Hobogrammer has joined #jruby
johnsonch_afk is now known as johnsonch
josh-k has quit [Remote host closed the connection]
yfeldblum has quit [Remote host closed the connection]
yfeldblum has joined #jruby
yfeldblu_ has joined #jruby
yfeldblum has quit [Remote host closed the connection]
tbrock_ has joined #jruby
nirvdrum has joined #jruby
subbu has joined #jruby
tylersmith has joined #jruby
subbu has quit [Ping timeout: 272 seconds]
josh-k has joined #jruby
benlovell has joined #jruby
havenwood has quit [Remote host closed the connection]
benlovell has quit [Ping timeout: 272 seconds]
owenou has joined #jruby
tbrock_ has quit [Remote host closed the connection]
tbrock_ has joined #jruby
statonjr has joined #jruby
statonjr has quit [Quit: statonjr]
statonjr has joined #jruby
tbrock_ has quit [Quit: Computer has gone to sleep.]
havenwood has joined #jruby
<headius>
bbyler_tho: that must be a JRuby ext that has not been updated in a long time
<headius>
the callback stuff has been deprecated for a couple years
<headius>
if you pass -d we can see exactly where in the ext it's trying to use callbacks
<headius>
should be easy to fix
<headius>
new stye ext logic
imperator has joined #jruby
statonjr has quit [Quit: statonjr]
nirvdrum has quit [Quit: Leaving]
pgokeeffe has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] jrubyci created test-faster-event-hooks (+1 new commit): http://git.io/5x19Jw
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
jruby/test-faster-event-hooks 8c3c3f0 Charles Oliver Nutter: Performance improvements to event tracing....
subbu has joined #jruby
<bnagy>
is there any fundamental reason jruby ssl doesn't support any ECDHE TLS ciphers?
<bnagy>
or is it just that nobody's written it yet?
<bnagy>
I am not good at java, but bouncycastle appears to support everything under the sun and them some extra things
johnsonch is now known as johnsonch_afk
<headius>
bnagy: no specific reason...just hasn't been wired up with appropriate libs probably
<headius>
yeah BC does it all
<headius>
so it's mostly a matter of wiring it in
<headius>
we are also a few revisions behind on BC
<headius>
so yeah...patches accepted! :-D
<subbu>
headius, you around?
<bnagy>
headius: I'm guessing I can't write it in ruby, though? :/
johnsonch_afk is now known as johnsonch
<bnagy>
tbf I'm not sure being API compatible with ruby openssl is even a good idea
<subbu>
this broke in 7b1db1af238aa66cf20be63b9822dbd1595e0101 ... or rather it exposed a bug.
<subbu>
OptimizeTempVarsPass and AddCallProtocolInstructions run *exactly once* on a lucky scope and that is it.
<subbu>
the reason it worked so long was that runCompilerPasses in IRScope never tested to see if the pass had previously run on a scope and I added that check as part of 7b1db1af.
<subbu>
headius, see the code for hasPreviouslyRun for those 2 passes. they test a boolean on the class ... but there is exactly one of these objects constructed in IRManager.
baroquebobcat has joined #jruby
zorak8 has quit [Ping timeout: 272 seconds]
brettporter has quit [Remote host closed the connection]
brettporter has joined #jruby
<subbu>
7b1db1af238aa66cf20be63b9822dbd1595e0101 broke this for most passes ... except the ones I fixed last couple days. fixing this more generically.
brettporter has quit [Ping timeout: 260 seconds]
owenou has quit [Quit: Leaving.]
tlarevo has joined #jruby
<subbu>
headius, hmm ... i might need to poke enebo with this .. he is doing some class instantiation, etc. for dependencies ... have to chat with him ... my current fix will end up ripping most of it out .. so i'll wait to chat with him tomorrow.
JohnBat26 has joined #jruby
johnsonch_afk is now known as johnsonch
<subbu>
i might not have understood his dependency management properly when I made fixes in that patch. alright, i know where the problem lies now. will chat with him tomorrow and we'll fix this.
<subbu>
but the good thing is that this should further improve perf over changes since 7b1db1af.
johnsonch is now known as johnsonch_afk
nipra has quit [Quit: Leaving.]
havenwood has quit []
kares has joined #jruby
<subbu>
alright, sleep beckons. catch you tomorrow.
pgokeeffe has quit [Quit: pgokeeffe]
baroquebobcat has quit [Quit: baroquebobcat]
pgokeeffe has joined #jruby
owenou has joined #jruby
josh-k has quit [Remote host closed the connection]
DomKM has quit [Quit: Connection closed for inactivity]
mjelen has quit [Client Quit]
mjelen has joined #jruby
yfeldblu_ has quit [Remote host closed the connection]
tlarevo_ has joined #jruby
tlarevo has quit [Ping timeout: 260 seconds]
johnsonch_afk is now known as johnsonch
johnsonch is now known as johnsonch_afk
nipra has joined #jruby
owenou has quit [Quit: Leaving.]
rsim has joined #jruby
toady00 has joined #jruby
benlovell has joined #jruby
tylersmith has quit [Remote host closed the connection]
tylersmith has joined #jruby
tylersmith has quit [Ping timeout: 255 seconds]
pchalupa has joined #jruby
johnsonch_afk is now known as johnsonch
elia has joined #jruby
johnsonch is now known as johnsonch_afk
elia has quit [Quit: Computer has gone to sleep.]
rolfb has joined #jruby
rolfb has quit [Remote host closed the connection]
toady00 has quit [Remote host closed the connection]
elia has joined #jruby
yfeldblu_ has joined #jruby
shellac has joined #jruby
yfeldblu_ has quit [Ping timeout: 260 seconds]
rsim has quit [Ping timeout: 260 seconds]
mtfk has joined #jruby
shellac has quit [Quit: Computer has gone to sleep.]
johnsonch_afk is now known as johnsonch
mister_solo has joined #jruby
johnsonch is now known as johnsonch_afk
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/do-not-change-jruby-commandline-context-classloader e063c55 Christian Meier: putting the jruby-classloader as context classloader means that all attached "jars" can be found via...
<JRubyGithub>
[jruby] mkristian created do-not-change-jruby-commandline-context-classloader (+1 new commit): http://git.io/XR8HcQ
JRubyGithub has left #jruby [#jruby]
yfeldblum has joined #jruby
yfeldblum has quit [Remote host closed the connection]
yfeldblum has joined #jruby
JRubyGithub has joined #jruby
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
[jruby] mkristian created no-duplicated-yaml (+1 new commit): http://git.io/llqSjw
<JRubyGithub>
jruby/no-duplicated-yaml 2caa923 Christian Meier: jruby-core.jar or lib/jruby.jar has yaml/** ruby scripts almost the same as jruby-stdlib.jar...
drbobbeaty has joined #jruby
shellac has joined #jruby
skade has joined #jruby
vtunka has joined #jruby
mister_solo has quit [Ping timeout: 260 seconds]
johnsonch_afk is now known as johnsonch
marr has joined #jruby
johnsonch is now known as johnsonch_afk
<mtfk>
hi, can anyone give some advice which java application server to choose for ActionController::Live feature from Rails? I created simple app base on that feature, compail it into jar package but none of the java application server can not handle that feature (multithreading)
<mtfk>
I tested jboss and some build in server from warbler
<mtfk>
both freez after start
thsig has joined #jruby
thsig_ has joined #jruby
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
drbobbeaty has joined #jruby
thsig has quit [Ping timeout: 260 seconds]
drbobbeaty has quit [Client Quit]
imperator has joined #jruby
benlovel1 has joined #jruby
postmodern has quit [Quit: Leaving]
sarcher has quit [Write error: Broken pipe]
benlovell has quit [Write error: Broken pipe]
sarcher has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/master 2f874ed Benoit Daloze: [Truffle] Rename a couple variable in RubyModule for clarity.
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to jruby-1_7: http://git.io/mWjUBQ
<JRubyGithub>
jruby/jruby-1_7 bba3e7c Christian Meier: [build] * stick to jruby-openssl-0.9.5 for the time being...
imperator has quit [Quit: Valete!]
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/master 380f660 Benoit Daloze: [Truffle] With private #puts we are failing a couple specs.
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/xeg5Lw
JRubyGithub has left #jruby [#jruby]
tlarevo_ has joined #jruby
kgerman has joined #jruby
digitalextremist has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
mister_solo has joined #jruby
thsig has quit [Remote host closed the connection]
marr has joined #jruby
thsig has joined #jruby
thsig_ has joined #jruby
thsig has quit [Ping timeout: 244 seconds]
yfeldblum has quit [Ping timeout: 260 seconds]
kares has joined #jruby
JRubyGithub has joined #jruby
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
jruby/jruby-1_7 57dfc0d Christian Meier: [build] extract the osgi and j2ee integration tests into their own profile...
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to jruby-1_7: http://git.io/6eHqxA
thsig_ has quit [Remote host closed the connection]
thsig has joined #jruby
benlovell has joined #jruby
vtunka has quit [Quit: Leaving]
mister_solo has quit [Ping timeout: 260 seconds]
vtunka has joined #jruby
skade has joined #jruby
johnsonch_afk is now known as johnsonch
johnsonch is now known as johnsonch_afk
vtunka has quit [Quit: Leaving]
mister_solo has joined #jruby
thsig_ has joined #jruby
vtunka has joined #jruby
thsig has quit [Ping timeout: 260 seconds]
thsig_ has quit [Ping timeout: 246 seconds]
statonjr has joined #jruby
thsig has joined #jruby
mister_solo has quit [Ping timeout: 246 seconds]
tcrawley-away is now known as tcrawley
statonjr has quit [Quit: statonjr]
skade has quit [Read error: Connection reset by peer]
skade has joined #jruby
lance|afk is now known as lanceball
rimenes has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
bbrowning_away is now known as bbrowning
mister_solo has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to check-options: http://git.io/ZH1F0A
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
jruby/check-options 9074781 Chris Seaton: Fix globbed imports.
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] chrisseaton pushed 1 new commit to master: http://git.io/KmQrVg
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
jruby/master 84df0ad Chris Seaton: Merge pull request #2019 from jruby/check-options...
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/redefine-uri-classloader-meaning 53f542a Christian Meier: redefine uri:classloader: meaning to be the parent classloader of runtime.getJRubyClassLoader...
<JRubyGithub>
jruby/redefine-uri-classloader-meaning 3c02893 Christian Meier: [build] make sure we have jruby-core artifact with noasm classifier installed for subsequent tests
<JRubyGithub>
[jruby] mkristian created redefine-uri-classloader-meaning (+2 new commits): http://git.io/1KnOdw
JRubyGithub has left #jruby [#jruby]
rimenes has joined #jruby
obs has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/truffle-head a9a0fd0 Chris Seaton: [Truffle] Update to 0.6-dev.
<JRubyGithub>
jruby/truffle-head 495e8ca Chris Seaton: Merge branch 'master' into truffle-head
<JRubyGithub>
[jruby] jrubyci pushed 4 new commits to truffle-head: http://git.io/Fj4VmQ
<JRubyGithub>
jruby/truffle-head 41c35b3 Chris Seaton: Merge branch 'master' into truffle-head
JRubyGithub has left #jruby [#jruby]
JRubyGithub has joined #jruby
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
[jruby] chrisseaton deleted check-options at 9074781: http://git.io/7Eswnw
thsig has quit [Remote host closed the connection]
<Aethenelle>
headius: do you have an example of the hierarchy changes talked about in 9112? #included is only called on the included module and non of its hierarchy so I'm a bit confused as to what the question is wrt this change?
toady00 has quit [Remote host closed the connection]
toady00 has joined #jruby
toady00 has quit [Remote host closed the connection]
toady00 has joined #jruby
baroquebobcat has joined #jruby
e_dub has quit [Quit: ZZZzzz…]
e_dub has joined #jruby
<enebo>
chrisseaton: yo yo yo. Thanks for triaging. Can you mark milestones on things closed? If for no released version pick won’t fix or invalid/duplicate under closed milestones
toady00 has quit [Ping timeout: 272 seconds]
<nirvdrum>
subbu: Calling super without an argument seems broken in master. It doesn't appear to be passing the current arg list through.
<nirvdrum>
I'll try to come up with a reproduction in a few minutes.
<enebo>
chrisseaton: Each release I make sure I can mark all un-marked closed issues to the next release and it gets difficult with other issues sitting un-milestoned in a growing list (hmmm did that make sense :) ).
<nirvdrum>
subbu: Of course, it's not as simple as I just described. I need to dig back into the bowels of ActiveSupport to see what's really going on.
<subbu>
nirvdrum, can you verify that prior to that commit i pasted above, it was working / not working .. so we know if it is a regression or something that was always broken?
<nirvdrum>
Sure.
<nirvdrum>
I was just trying to see if that stack overflow issue was resolved.
toady00 has joined #jruby
toshe_tmtm has joined #jruby
Aethenelle has joined #jruby
x1337807x has joined #jruby
x1337807x has quit [Max SendQ exceeded]
<headius>
howdy howdy
x1337807x has joined #jruby
x1337807x has quit [Max SendQ exceeded]
x1337807x has joined #jruby
<lopex>
130!
<headius>
lopex: getting back into the winter surge
<lopex>
headius: hiya there, which is ?
<headius>
everyone's back at school or not outside as muchm so they can hang out in here :-D
<lopex>
ah
<nirvdrum>
subbu: Going back before that commit, I don't have the problem.
<lopex>
it's still pretty warm here
<headius>
subbu: what's the problem? had a chance to talk to enebo yet?
<subbu>
headius, chatting with him right now.
<headius>
lopex: on and off here
<headius>
subbu: cool
<subbu>
nirvdrum, ah, ok. so, it is a regression then ... and too bad we don't have a regression test for it ... i'll go stare at the zsuper fix later.
toshe_tm has quit [Ping timeout: 272 seconds]
<subbu>
headius can you do code reading of my irbuilder fix for zsuper and see if you see what i am doign wrong? :)
<nirvdrum>
subbu: Actually, I just checked out that commit and it's working. So it must've come later.
<headius>
what's the error we're talking about?
<nirvdrum>
I can't boot my Rails app. ActiveSupport complains about require being given 0 arguments instead of 1.
<dfr|work>
nirvdrum, override Kernel#require ;)_
<subbu>
headius, nirvdrum, ah .. never mind then. there is some known broken stuff in latest master.
<nirvdrum>
We were making such good progress :-)
<subbu>
we will, again ;)
<nirvdrum>
dfr|work: Well, that's effectively what ActiveSupport does :-/
<enebo>
chrisseaton: thanks
<enebo>
nirvdrum: sometimes you need to break eggs to make an omellette
<nirvdrum>
enebo: Heh. Well, in this case we had been converging on something. I was hoping this stack overflow would get fixed. Now it breaks earlier in execution.
<headius>
enebo: I made some improvements to event hooks and coverage performance...they should apply to 9k too
<headius>
so JIT but with full heap scope and frame
<headius>
new jit would have to do the same though
<enebo>
chrisseaton: largely in IR now we just have to mark those areas with the appropriate flag. So bytecode generation does not need to know anything about it directly
<enebo>
areas=scope
<nirvdrum>
I just never liked foo and bar.
<chrisseaton>
enebo: like with eval where you statically detect it?
<enebo>
chrisseaton: yeah
shellac has quit [Quit: Ex-Chat]
statonjr has quit [Quit: statonjr]
<Eonwe>
Is anyone debugging their rails software with java debugger? I am having problems with the rails calling exec and the debugger port not being freed for the second JVM, which manifests as "ERROR: transport error 202: bind failed: Address already in use"
<Eonwe>
If I pass both -J-Djruby.launch.inproc=true -J-Djruby.native.exec=false, I get the exec run in the same JVM, which avoids the issue, but I am not totally comfortable with that solution
bbrowning is now known as bbrowning_away
beawesomeinstead has joined #jruby
statonjr has joined #jruby
<headius>
chrisseaton: triaging some C ext bugs eh?
portertech has joined #jruby
owenou has quit [Quit: Leaving.]
strax has joined #jruby
elia has joined #jruby
<chrisseaton>
headius: just seeing what issues we really have, and what can be cleaned out
amdprophet has joined #jruby
<chrisseaton>
Eonwe: what's the problem with your solution? This is only in development isn't it?
tylersmith has joined #jruby
obs has quit [Quit: Saliendo]
<Eonwe>
chrisseaton: yeah it is but I am not sure if it works with shell redirection (which we're using in some deployment scripts) at least
<Eonwe>
But the main complaint in just that it's different from the production (which of course is true for the whole rails)
<Eonwe>
But I take that this problem is not something that anyone else has faced?
JRubyGithub has joined #jruby
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
jruby/master 8071211 Thomas E. Enebo: Ask irscope whether ACP has been run. The addInstrs field was not working
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/69SjMw
<nirvdrum>
Eonwe: I just use the debugger in RubyMine.
zph has joined #jruby
<Eonwe>
nirvdrum: yeah, I use that for debugging Ruby, but we have parts of the application written in Java
<nirvdrum>
Ahh.
imperator has joined #jruby
<headius>
Eonwe: that's an interesting problem
<headius>
if we can figure out how to close that port it could be something we try to do before exec
<headius>
or we could mark it cloexec if we can figure out the file descriptor
<headius>
DAMN YOU POSIX FOR NOT HAVING CLOEXEC DEFAULT
statonjr has quit [Quit: statonjr]
elia has quit [Quit: Computer has gone to sleep.]
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Hobogrammer has joined #jruby
pchalupa has joined #jruby
x1337807x has joined #jruby
x1337807x has quit [Max SendQ exceeded]
<headius>
Eonwe: open an issue for this please
<headius>
I thought that rubymine within intellij could step from Ruby into Java
x1337807x has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/master 0f9cb24 Thomas E. Enebo: Make IRScope know if it has optimized it's temp vars
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/y9vPCw
<Eonwe>
headius: I think it can do that if you have the ultimate edition
yfeldblum has joined #jruby
<headius>
ahh yeah
ludyte has quit [Quit: ludyte]
yfeldblum has quit [Ping timeout: 244 seconds]
thsig has quit [Remote host closed the connection]
rsim has joined #jruby
thsig has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] jrubyci pushed 2 new commits to non-indy-jit: http://git.io/nLMvqA
<JRubyGithub>
jruby/non-indy-jit b8f5084 Charles Oliver Nutter: Merge remote-tracking branch 'origin/master' into non-indy-jit
<JRubyGithub>
jruby/non-indy-jit e704ca4 Charles Oliver Nutter: Merge branch 'master' into non-indy-jit
JRubyGithub has left #jruby [#jruby]
ludyte has joined #jruby
bbrowning_away is now known as bbrowning
thsig has quit [Ping timeout: 260 seconds]
iamjarvo has joined #jruby
iamjarvo has quit [Max SendQ exceeded]
iamjarvo has joined #jruby
robbyoconnor has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/master c47d195 Thomas E. Enebo: Ok Object of boxed false will not be null...derp
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/XoziRA
<Aethenelle>
I need a bit of a tweak to the prepended module detection and that's about it...
<Aethenelle>
headius: you okay w/ doing it that way?
shellac has joined #jruby
nipra has joined #jruby
<headius>
Aethenelle: way = current hierarchy or the new way?
<Aethenelle>
current from where I am with the new
<Aethenelle>
basically all the ground work for the new way will still be there it'll just be semi-inert since there's nowhere to recur
ludyte has joined #jruby
ruber has quit [Quit: BitchX: it's shagadellic, baby!]
<Aethenelle>
well... the more annoying parts anyway...
mister_solo has joined #jruby
<Aethenelle>
*some of the annoying parts...
mister_solo has quit [Ping timeout: 272 seconds]
<headius>
Aethenelle: ahh yeah, that seems find if we mark it up with some doco
<headius>
so we know to remove it if MRI doesn't change before 2.2
<headius>
or tuck it away or whatever
robbyoconnor has quit [Ping timeout: 246 seconds]
ludyte has quit [Quit: ludyte]
<lopex>
headius: what perf penalty wrt refinements jruby is going to pay wrt mri ?
statonjr has joined #jruby
<chrisseaton>
lopex: now that they are lexical, I think we should be able to do it with minimal overhead - we're getting a masters student to try for Truffle, but I don't think it needs Truffle to be fast
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/c1nC0g
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
jruby/master 736881a Thomas E. Enebo: Remove invalidate from CFGBuilder and resetCFG from IRScope since these actions are not possible
<lopex>
chrisseaton: so the only problem is the deopt semantics ?
<lopex>
chrisseaton: or say, similar problem would be clojure multimethods ?
<chrisseaton>
lopex: deopt is slow path, so we only need to worry about what extra we need on the fast path, which will hopefully be one extra guard
<chrisseaton>
so one new if statement before calls, which isn't fatal
<lopex>
oh I mean when to deop
tlarevo has quit [Remote host closed the connection]
tlarevo has joined #jruby
<headius>
for jruby proper we'll have a flag on calls that says they're potentially refined, and it will do an additional scoped lookup
fivebats has quit [Ping timeout: 240 seconds]
<headius>
they'll be slower than non-refined but only by the cost of an extra lookup/switchpoint
<chrisseaton>
yeah - the one extra guard - I reckon it will be fine
phrinx has joined #jruby
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<lopex>
headius: constant caching is going to play a role here too ?
mister_solo has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/non-indy-jit dd46304 Charles Oliver Nutter: Merge remote-tracking branch 'origin/master' into non-indy-jit
<JRubyGithub>
[jruby] jrubyci pushed 2 new commits to non-indy-jit: http://git.io/jsZSLg
<JRubyGithub>
jruby/non-indy-jit 2065177 Charles Oliver Nutter: Get --bytecode working again.
JRubyGithub has left #jruby [#jruby]
kares has quit [Ping timeout: 250 seconds]
<headius>
lopex: no, they're not related...refinement just affects method lookup
tlarevo has quit [Ping timeout: 245 seconds]
fivebats has joined #jruby
<headius>
yay
<headius>
--bytecode my old friend
DomKM has joined #jruby
mister_solo has quit [Ping timeout: 272 seconds]
jrhe_ has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/non-indy-jit c3866f0 Charles Oliver Nutter: Update block scope handling for new ACP support in IR.
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to non-indy-jit: http://git.io/Z2hcnw
<headius>
subbu: blocks work again
<headius>
I have to investigate a return jump bubbling out though
<subbu>
great! :)
<headius>
if I run with JIT something is screwing up return jump handling in interpreter :-\
<Aethenelle>
headius: looks like I'm getting some traction on my ticket @ mri... almost have enough to go on with implementation.
<headius>
Aethenelle: cool
<subbu>
headius, is that new breakage?
<headius>
yes
<headius>
I have never seen this before
strax has quit [Quit: Connection closed for inactivity]
<subbu>
ok ... return jump bubbling out .. feels very familiar ... i saw that when i was fixing stuff and think i tackled it ... it had ot do with using HAS_NONLOCAL_RETURNS flag in computeScopeFlags.
<headius>
I will gist
<headius>
yeah it's failing to get caught where it should and there's nothing jitted in the stack except the first script loaded
<headius>
JIT shouldn't even be running passes on that code...I'm not running with threshold=0 or anything
<headius>
if I turn off JIT, however, it works
Xzyx987X has joined #jruby
<subbu>
hmm ...
<headius>
working on a smaller repro
shellac has quit [Quit: Computer has gone to sleep.]
havenwood has joined #jruby
<subbu>
headius, it almost feels like scope flags didn't get computed on some scope ... but that doesn;t make sense since JIT picks up what the interp handed it.
<headius>
yeah I'll poke around for a bit
<enebo>
our calculateScopeFlags are pretty ad-hoc
<subbu>
headius, oh .. this is back in interp land.
<enebo>
and we do run some passes in prepareForCompilation
<headius>
yeah
<headius>
well, prepareForCompilation shouldn't run until it actually JITs and I don't see anything failing to JIT
<enebo>
headius: just add calculateScopeFlags near end of prepareForCompilation
<enebo>
headius: oh so you would see this with JIT off?
<headius>
I don't!
<headius>
it's a mystery!
<enebo>
headius: hah
<headius>
it fails in interpreter in code that should never have been considered for JIT yet
<enebo>
headius: yeah add calc scope flags towards end of prepareForCompilation betting JIT is failing and we fall back to interp
<enebo>
headius: or your runs are hitting code which is not tested directly?
<headius>
I will try it
<headius>
this is in optparse, required by rspec
iamjarvo has joined #jruby
<enebo>
I also noticed there is some unneeded stuff in prepforcomp but I will not remove it until you land your JIT work
<headius>
does computeScopeFlags do non-local return stuff too?
<enebo>
headius: It sets all sorts of flags so I think it is possible but not sure off top of my head
<headius>
enebo: does not help
<enebo>
I would add it right after runCompilerPasses
<enebo>
since next two operations might depend on it
Xzyx987X has quit [Ping timeout: 245 seconds]
<headius>
ugh, wait...ignore everything I said
<headius>
I just noticed this method does jit
<enebo>
but if that does not work then perhaps you need to generate massive ir.debug=true output
<headius>
or wait...
<headius>
something JITs near it anyway
<headius>
this is strange
<headius>
a method called search in the same file JITs
<headius>
and then a different method called search fails in interpreter immediately after
<headius>
ok, JIT has to be involved here
<headius>
under many layers
<subbu>
headius, enebo sorry i was away in wmf land for a bit .. but yes, compute-socpe flags checks if a scope has a non-local-return and then sets a 'requires-dyn-scope' flag .. and sets that on all parent scopes that receive it.
<subbu>
lines 771-772 (in my version at least) of IRScope.java
<headius>
ok
<enebo>
heh
<enebo>
scary method
statonjr has quit [Quit: statonjr]
<enebo>
The fact it only resets a portion of flags and then starts toggling
<headius>
UGH
<headius>
concurrency is a problem too
<headius>
background JIT modifying IR while interpreter is running
<enebo>
headius: I am thinking about the problem right now as well…all this stuff is tied together
Xzyx987X has joined #jruby
<headius>
fuck, that's it
<headius>
pardon my french
<headius>
I turned off background JIT and it runs
<subbu>
concurrency is a issue there.
<subbu>
i didn't pay attention to that clearly :)
<headius>
so you're mortal like the rest of us
<headius>
damn
<enebo>
headius: complerpass is implemented to pass new data down to passes which need it and not use IRScope but it is still set as a side-effect in IRScope
<headius>
JRuby 9k...now with not one, but TWO thread-unsafe runtimes!
<headius>
THE FUTURE IS NOW
<enebo>
headius: I would like to make it so it commits all data as a transaction but that only partially solves this
<enebo>
in theory we can solve this easily with a hack
<headius>
I'm going to turn off background JIT but this could obviously still trigger if one thread is running and another hits threshold
<enebo>
well possibly duplicate a couple of others as well
havenwood has quit []
<enebo>
oh actually instrs are fine
<enebo>
maybe we mutate rescueMap?
<enebo>
ah wait a race
<headius>
races all over the place
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] jrubyci pushed 2 new commits to non-indy-jit: http://git.io/GRj-Rw
<JRubyGithub>
jruby/non-indy-jit d5af5d4 Charles Oliver Nutter: Ensure scope flags get computed before JIT.
<JRubyGithub>
jruby/non-indy-jit cb74489 Charles Oliver Nutter: Turn off background JIT until IR is thread-safe.
JRubyGithub has left #jruby [#jruby]
<headius>
with background JIT off I can boot rspec with normal JIT threshold
<enebo>
headius: well it is mostly just the top of interpret in Interpreter
<headius>
threshold=0 hits something else so I'm going to focus on that right now
robbyoconnor has joined #jruby
<enebo>
headius: if we can get that info out of Scope safely and not get it if we are compiling that same scope it might be neough for now
mkristian has quit [Quit: bye]
<headius>
I can help work on making it thread-safe after JIT is done
<enebo>
Although it is probably easier to clone IRScope for compilation
<subbu>
headius, enebo i'll take a look at this state later today / tomorrow while thinking of background jit ... it is a small set of fields.. and at least flag things that i know could be synced/cloned/..
<subbu>
but, yes, i don't want to be the bottleneck.
<enebo>
I think a special clone of IRScope is ok for prepareForCompilation
<enebo>
That has an added benefit that interp does not need to interp compilation pass instrs since it is not optmial for interping
<enebo>
special clone just means making a method which makes a new IRScope and whatever dependent stuff it needs
<headius>
enebo: that's what I'd like
<headius>
I want JIT to work against a separate copy
statonjr has joined #jruby
<enebo>
headius: so it will make JIT slower and it will need to be synch’d so interp will occasionally get held up but it will remove all these problems
<enebo>
JIT compilation time slower
<headius>
interpretation doesn't change any state other than e.g. caches, right?
<headius>
the other option is having interpreted methods clone
<headius>
on construction
<enebo>
caches?
<headius>
so it has a master copy and nobody ever uses that for anything
<enebo>
headius: slows down startup time
<headius>
caches like constants etc
imperator has joined #jruby
<headius>
enebo: undoubtedly
robbyoconnor has quit [Quit: Konversation terminated!]
<enebo>
I guess operands can cache some live values but IRScope itself does not
<enebo>
I think the JIT does not care about those cached values so there is no contention there
<enebo>
unless something dynamic slipped into IRScope
<enebo>
At this moment deep scope clone when entering JIT which is syncd is simplest and does not hurt startup
<enebo>
I don’t really like the idea of maintaining a deep clone piece of logic but it is what it is
<headius>
ok, this may be a scope calculation problem in a nested closure
<headius>
closure within closure
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<headius>
def foo(args) args.each { |x| x.each { |y| yield y } }; end
<headius>
hmmm
<enebo>
So I will start working on what I just said above. It should not be a ton of work. n cloneScope impls for each IRScope type and a call at the top of prepforcomp
<headius>
ok yeah...it looks like this is set up not to push a dynscope, but it still acceses locals from dynscope
<enebo>
I am not sure we even need to synch this if we can assume interp is not modifying IRScope by the time prepforcomp is called
<headius>
yeah that was my thought
<enebo>
headius: It is impossible for two threads to both decide to compile something at same time?
thsig has quit [Remote host closed the connection]
<headius>
even if they did, they'd just both clone
<enebo>
I guess even that won’t matter
<chrisseaton>
Do we still support 1.6 at all? If I have issues confirmed on 1.6 but gone on 1.7 should I close them?
<enebo>
ok this is not so hard I don’t think
<headius>
but no, it shouldn't be...they should hit threshold and flip JIT off, whether it succeeds or fails
thsig has joined #jruby
<headius>
chrisseaton: we do not
<enebo>
headius: ok
<headius>
they can be closed if they're working in 1.7, and if they have no milestone mark it as 1.7.16
<enebo>
chrisseaton: It might not hurt to verify on master as well too
<headius>
ahh true
<chrisseaton>
will do
<enebo>
too many versions :)
<enebo>
chrisseaton: oh also 1.7.x means likely —1.8 and —1.9 if it is not specific to 1.9+
<enebo>
we have 2 impls for some methods (which generally call a common one but I like to make sure)
<headius>
yeah, have to check both... 1.6 was 1.8 mode by default 1.7 switched to 1.9 by default
<headius>
that's not confusing at all
<headius>
enebo: here's another one for you to ponder
<enebo>
HAHAHA add some 2.0 and 2.1 refernces
Hobogrammer has quit [Ping timeout: 250 seconds]
<headius>
JIT threshold = 0 means only JIT passes will run, I think
<headius>
should JIT passes also try to run interpreter passes?
<headius>
that *might* be causing this problem I'm seeing
<enebo>
well yeah I think they should. That in fact was the crap I thought I saw in prepareforcomp…duplicated code
thsig has quit [Ping timeout: 250 seconds]
<enebo>
for threshold=0 I think it would be better to just run the two prepare methods back to back and strip out the duplicated logic
<headius>
yeah if I let it run once in interp and then JIT it's fine
<headius>
it's sorta half computed if I only run JIT passes
<enebo>
headius: yeah strip out duplicated logic in prepforcomp and call both
<enebo>
headius: i hate to say prepForXXX was designed but the intention was that one would be called before the other
statonjr has quit [Quit: statonjr]
<headius>
mmm
<headius>
I'm not sure what I need to keep in p4c
<headius>
relinearization?
<enebo>
We talked a lot about flow of passes and setting up stuff and it easily turned into a talk of a new framework so we punted and did simplest thing
<enebo>
all those checks happen at top of prepforinterp
<headius>
yeah but I don't know if I need to re run some of them
<enebo>
well you can probably leave them in for now anyways
<headius>
ok
<enebo>
the one which stuck out was the buildCFG call to me
<enebo>
It seemed totally unneeded but if you were not calling prepareForInterp I guess it would be then :)
statonjr has joined #jruby
tcrawley is now known as tcrawley-away
mister_solo has joined #jruby
subbu is now known as subbu|lunch
<subbu|lunch>
headius, reading scrollback ... i guess you are also handling the 'reuse_parent_dynscope' flag for blocks?
<headius>
yes
<subbu|lunch>
k
<headius>
bleh...this is all still a problem of the right passes to be running
<headius>
so JIT does call InterpretedIRMethod.ensureInstrsAreReady
statonjr has quit [Client Quit]
statonjr has joined #jruby
<headius>
then it does prepareForInterpretation (again) and buildLinearization, then does a test compile, then does prepareForCompilation, then actual compile
statonjr has quit [Client Quit]
tlarevo has joined #jruby
<headius>
this is all so that if the bytecode is too big it will bail out without messing up the IR
<enebo>
headius: so basically something needs to make interp version before it can even if threshold=0?
<headius>
I'm not sure...some combination of prep is causing issues
odix67 has joined #jruby
<headius>
OH
statonjr has joined #jruby
<enebo>
headius: If it is already doing that then you should not need to call prepareForInterp unless we have some laziness somewhere which your path is not calling
<headius>
here's a theory...I'm guessing prepareForInterpretation doesn't recurse into closures
mister_solo has quit [Ping timeout: 250 seconds]
odix67 has quit [Client Quit]
<enebo>
headius: yeah that is probably partially true
<headius>
I think I'm going to say that JIT needs to get IR that's ready to interpret
<enebo>
headius: initially we only bild the CFG of the immediate scope
<headius>
and remove my hacks
<enebo>
headius: other opts will want to run over those nested scopes which may build the CFG
<enebo>
headius: compilerpass wll force it to build in that case
<headius>
now what about the lambda flag?
<enebo>
headius: but if LVP or something does not happen then perhaps a closure does not actually build until it is run
<headius>
is that really dependent on runtime?
<enebo>
build CFG
<enebo>
headius: I would think that something is a lambda is figured out at IRBuilder time…let me check
tlarevo has quit [Ping timeout: 272 seconds]
<enebo>
oh it is an instr?
<enebo>
BuildLambdaInstr
yfeldblum has joined #jruby
<enebo>
oh but that is only for stabbies
<enebo>
headius: so stabbies are only statically definable lambdas so IRClosure largely cannot know it’s type
<chrisseaton>
Is jrubyc going to be broken at the moment due to the removal of the old JIT?
<headius>
chrisseaton: yes
toady00 has quit [Remote host closed the connection]
<enebo>
headius: lambda {} works on a IRClosure and that execution lets it know it’s type. So like BlockBody or whatever sets that info
toady00 has joined #jruby
<headius>
but that's a problem for me because instr preparation then depends on whether it's a lambda or not
<headius>
which can change at runtime
<enebo>
but it cannot be statically determined?
<enebo>
Unless ->() {}
<headius>
ok, I give up
<enebo>
lambda is not a keyword unfortunately
<enebo>
:)
<headius>
I have a commit that moves more pass stuff around and now I'm getting NPE in buildLinearization
<enebo>
headius: so no CFG yet
<headius>
beats the heck out of me
<headius>
I'll push the patch because it does seem to get farther
<enebo>
headius: if it is that specific method it must be
<enebo>
unless it is happening deeper in the stack than that
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to non-indy-jit: http://git.io/-dZ7Yw
<JRubyGithub>
jruby/non-indy-jit 5dda245 Charles Oliver Nutter: Try to sort out compiler passes for various JIT thresholds
JRubyGithub has left #jruby [#jruby]
<headius>
sorry, not that exact method... it's in CFGLinearizer
<headius>
at org.jruby.ir.representations.CFGLinearizer.linearize(CFGLinearizer.java:44)
<enebo>
yeah same error
<enebo>
I can give you a hack/fix
<headius>
I'm throwing darts here...I need someone to show me exactly what needs to run for interp prep AND I need to know what I can re-run safely before doing compiler passes
<avsej>
hi there. If I have jruby extension, but not packed in .jar, is it possible to load classes like it would be a jar file? i.e. using my class, which implements BasicLibraryService
<Aethenelle>
avsej: yes, just require the .class file
Aethenelle has quit [Quit: Aethenelle]
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<avsej>
do you know if there some way to specify path to service class in some manifest or so?
rsim has quit [Quit: Leaving.]
<avsej>
because it is quite common to call jars in java like foo-bar-1.0.0.jar when jruby requires foo_bar.jar with FooBarService.class in the top-level package
dabradley has quit [Ping timeout: 246 seconds]
thsig_ has quit [Remote host closed the connection]
Hobogrammer has quit [Ping timeout: 240 seconds]
dabradley has joined #jruby
<avsej>
again, found it. the jar should be in class path and it works if requiring using full path like com.example.foo_bar
fivebats has quit []
fivebats has joined #jruby
e_dub has quit [Quit: ZZZzzz…]
mje113__ has quit [Quit: Connection closed for inactivity]
Hobogrammer has joined #jruby
jrhe_ has quit [Quit: Connection closed for inactivity]
colinsurprenant has joined #jruby
enebo has quit [Quit: enebo]
tbrock_ has quit [Quit: Computer has gone to sleep.]
marr has quit [Ping timeout: 272 seconds]
tbrock_ has joined #jruby
subbu has quit [Ping timeout: 260 seconds]
baroquebobcat has quit [Quit: baroquebobcat]
tbrock_ has quit [Quit: Computer has gone to sleep.]
x1337807x has joined #jruby
tbrock_ has joined #jruby
subbu has joined #jruby
zeroecco has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]