<JRubyGithub>
[jruby] jrubyci pushed 2 new commits to non-indy-jit: http://git.io/OWDXLQ
<JRubyGithub>
jruby/non-indy-jit 11aaf09 Subramanya Sastry: Merge branch 'master' into non-indy-jit
<JRubyGithub>
jruby/non-indy-jit 04b89a3 Subramanya Sastry: Build CFG if required in the trial pass (?)....
JRubyGithub has left #jruby [#jruby]
rsim has joined #jruby
subbu has quit [Ping timeout: 240 seconds]
johnsonch_afk is now known as johnsonch
noop has joined #jruby
johnsonch is now known as johnsonch_afk
rsim has quit [Quit: Leaving.]
nipra has joined #jruby
rsim has joined #jruby
rsim has quit [Client Quit]
elia has joined #jruby
rolfb has joined #jruby
fridim_ has joined #jruby
Hobogrammer has quit [Ping timeout: 250 seconds]
rsim has joined #jruby
rsim has quit [Ping timeout: 260 seconds]
johnsonch_afk is now known as johnsonch
rsim has joined #jruby
johnsonch is now known as johnsonch_afk
benlovell has joined #jruby
yfeldblum has joined #jruby
yfeldblum has quit [Remote host closed the connection]
yfeldblum has joined #jruby
rsim has quit [Quit: Leaving.]
elia has quit [Read error: Connection reset by peer]
elia has joined #jruby
mister_solo has joined #jruby
purplefox has joined #jruby
ephemerian has joined #jruby
rsim has joined #jruby
_elia has joined #jruby
rsim has quit [Client Quit]
elia has quit [Ping timeout: 246 seconds]
rsim has joined #jruby
rsim has quit [Client Quit]
zorak8 has joined #jruby
dumdedum has joined #jruby
drbobbeaty has joined #jruby
rsim has joined #jruby
johnsonch_afk is now known as johnsonch
rsim has quit [Client Quit]
johnsonch is now known as johnsonch_afk
dumdedum has quit [Quit: foo]
rsim has joined #jruby
dumdedum has joined #jruby
skade has joined #jruby
JRubyGithub has joined #jruby
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
[jruby] mkristian pushed 1 new commit to redefine-uri-classloader-meaning: http://git.io/Nok04w
<JRubyGithub>
jruby/redefine-uri-classloader-meaning e80967a Christian Meier: do not keep uri:file: protocol intact and add more junit-tests for uri:classloader:
marr has joined #jruby
avsej has quit [Quit: Quit]
shellac has joined #jruby
avsej has joined #jruby
zorak8 has quit [Ping timeout: 245 seconds]
thsig has joined #jruby
rsim1 has joined #jruby
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
rsim has quit [Read error: Connection reset by peer]
toshe_tm has joined #jruby
toshe_tmtm has quit [Ping timeout: 260 seconds]
shellac has quit [Quit: Computer has gone to sleep.]
johnsonch_afk is now known as johnsonch
johnsonch is now known as johnsonch_afk
mister_solo has quit [Ping timeout: 272 seconds]
mister_solo has joined #jruby
vtunka has joined #jruby
johnsonch_afk is now known as johnsonch
johnsonch is now known as johnsonch_afk
_elia has quit [Quit: Computer has gone to sleep.]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/sJuPNw
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
jruby/master c72837d Christian Meier: remove obsolete files [skip ci]
drbobbeaty has joined #jruby
Aethenelle has joined #jruby
avsej_ has joined #jruby
avsej has quit [Ping timeout: 240 seconds]
avsej_ is now known as avsej
elia has joined #jruby
avsej has quit [Ping timeout: 250 seconds]
benlovell has quit [Ping timeout: 240 seconds]
avsej has joined #jruby
johnsonch_afk is now known as johnsonch
avsej has quit [Quit: Quit]
avsej has joined #jruby
johnsonch is now known as johnsonch_afk
tlarevo has quit [Read error: Connection reset by peer]
tlarevo_ has joined #jruby
avsej has quit [Quit: Quit]
avsej has joined #jruby
yfeldblum has quit [Ping timeout: 246 seconds]
benlovell has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] mkristian created uniform-jruby-home (+2 new commits): http://git.io/iMhZPQ
<JRubyGithub>
jruby/uniform-jruby-home 8ad4396 Christian Meier: uniform setting path to jruby home - no detection just use the one from the classloader
<JRubyGithub>
jruby/uniform-jruby-home 9f2e566 Christian Meier: run tests/jruby.index with jruby-complete
JRubyGithub has left #jruby [#jruby]
mister_solo has quit [Ping timeout: 245 seconds]
elia has quit [Quit: Computer has gone to sleep.]
elia has joined #jruby
shellac has joined #jruby
mister_solo has joined #jruby
yfeldblum has joined #jruby
yfeldblu_ has joined #jruby
yfeldblum has quit [Ping timeout: 245 seconds]
yfeldblu_ has quit [Ping timeout: 245 seconds]
rsim1 has quit [Ping timeout: 260 seconds]
rsim has joined #jruby
Aethenelle has quit [Quit: Aethenelle]
brettporter has quit [Remote host closed the connection]
rsim has quit [Ping timeout: 260 seconds]
rsim has joined #jruby
bbrowning_away is now known as bbrowning
erikhatcher has joined #jruby
vtunka has quit [Quit: Leaving]
benlovell has quit [Ping timeout: 250 seconds]
nirvdrum has joined #jruby
vtunka has joined #jruby
rsim1 has joined #jruby
benlovell has joined #jruby
elia has quit [Read error: Connection reset by peer]
rsim has quit [Read error: Connection reset by peer]
elia has joined #jruby
rsim1 has quit [Read error: Connection reset by peer]
rsim has joined #jruby
rsim1 has joined #jruby
tcrawley-away is now known as tcrawley
yfeldblum has joined #jruby
rsim has quit [Ping timeout: 260 seconds]
rsim has joined #jruby
rsim has quit [Read error: Connection reset by peer]
rsim1 has quit [Read error: Connection reset by peer]
rsim has joined #jruby
yfeldblum has quit [Ping timeout: 272 seconds]
shellac has quit [Quit: Computer has gone to sleep.]
colinsurprenant has joined #jruby
rcvalle has joined #jruby
tcrawley is now known as tcrawley-away
tcrawley-away is now known as tcrawley
johnsonch_afk is now known as johnsonch
statonjr has joined #jruby
lance|afk is now known as lanceball
colinsurprenant has quit [Quit: colinsurprenant]
ludyte has joined #jruby
ludyte has quit [Client Quit]
enebo has joined #jruby
e_dub has quit [Quit: ZZZzzz…]
rolfb has quit [Quit: Leaving...]
zorak8 has joined #jruby
vtunka has quit [Quit: Leaving]
tlarevo_ has quit [Remote host closed the connection]
tlarevo has joined #jruby
subbu has joined #jruby
vtunka has joined #jruby
tlarevo has quit [Ping timeout: 272 seconds]
mje113__ has joined #jruby
rsim has quit [Quit: Leaving.]
ludyte has joined #jruby
colinsurprenant has joined #jruby
oblutak has joined #jruby
pchalupa has quit [Quit: Computer has gone to sleep.]
iamjarvo has joined #jruby
lanceball is now known as lance|afk
thsig has quit [Remote host closed the connection]
yfeldblum has joined #jruby
thsig has joined #jruby
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
thsig_ has joined #jruby
thsig has quit [Read error: Connection reset by peer]
e_dub has joined #jruby
kotk has joined #jruby
kotk_ has quit [Ping timeout: 245 seconds]
yfeldblum has quit [Ping timeout: 258 seconds]
iamjarvo has joined #jruby
bbrowning is now known as bbrowning_away
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/master 48601fd Chris Seaton: [Truffle] All #throw specs passing.
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/QB2LQw
JRubyGithub has left #jruby [#jruby]
bbrowning_away has quit [Ping timeout: 245 seconds]
zorak8 has quit [Ping timeout: 246 seconds]
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ludyte has quit [Quit: ludyte]
momomomomo has joined #jruby
<blinsay>
hey, anyone got time to answer a question about Java interop?
iamjarvo has joined #jruby
<nirvdrum>
blinsay: You're better off just asking and if someone does, you'll eventually get a reply.
<blinsay>
cool. so I'm trying to have a Ruby class extend an interface with an "initialize()" method, but I want my Ruby class to take arguments when I call new
<blinsay>
is there a way to avoid that naming conflict?
Sinjo has quit [Quit: leaving]
<blinsay>
I tried using "java_signature 'void initialize(String)'" but I'm getting a TypeError
<blinsay>
"TypeError: expected a Java class, got Java::String"
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/master 94eb4ae Thomas E. Enebo: Split apart InlinerInfo into SimpleCloneInfo and InlineCloneInfo. Specialization used to make it clearer which code is performing which type of cloning
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/iXnr5g
<enebo>
blinsay: oh missed that. I have no idea what java_include is. I would have said it is for jrubyc but that is java_implements. Perhaps we alias it to include.
skade has quit [Quit: Computer has gone to sleep.]
<blinsay>
enebo: whoops, i totally meant java_implements
<enebo>
blinsay: yeah that is for static generation of a java class using jrubyc
<blinsay>
gotcha. does that come into play with become_java! too?
<enebo>
blinsay: I don’t think it does for reification. I have not mucked with that code in a while.
rolfb has joined #jruby
<enebo>
blinsay: There is some overlap there but for some reason I don’t think that is one
<blinsay>
kewl. i'll go poke around
<blinsay>
gotcha
<blinsay>
yeah, I haven't managed to make java_signature work with it
<blinsay>
(that was the TypeError above)
<enebo>
blinsay: yeah I think #1408 might not be the only bug on this but it is because initialize is special in Ruby as a name
<blinsay>
yeah. I think for quality of life I'm just going to use a java shim
<enebo>
blinsay: Worst-case workaround is to use Java reflection to call it
nipra has quit [Quit: Leaving.]
<blinsay>
that avoids using "initialize()" in the interface
<blinsay>
nah, I've gotta instantiate a class that satisfies an interface and pass it to some Java
<blinsay>
using an AWS library
<enebo>
blinsay: if you want all Ruby but a Java shim is probably simple to implement
<enebo>
ok
DomKM has joined #jruby
Hobogrammer has joined #jruby
Aethenelle has left #jruby [#jruby]
Aethenelle has joined #jruby
fridim_ has quit [Ping timeout: 240 seconds]
kotk_ has joined #jruby
kotk has quit [Ping timeout: 250 seconds]
rolfb has quit [Quit: Leaving...]
toshe_tmtm has joined #jruby
pchalupa has joined #jruby
pchalupa has quit [Client Quit]
toshe_tm has quit [Ping timeout: 244 seconds]
iamjarvo has joined #jruby
nipra has joined #jruby
yfeldblum has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/W1KgbA
<JRubyGithub>
jruby/master b6e67a3 Chris Seaton: [Truffle] More character class specs passing.
<headius>
subbu: non-indy branch doesn't spew NPEs anymore, yay
zorak8 has joined #jruby
<subbu>
headius, no fixed that :)
<subbu>
but, i think we haven't seen the last of bugs because of the more arbitrary interactions between passes that i've unleashed .. it is good to shake them all out.
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<subbu>
but, we can clamp down and go conservative if we are wasting too much time on it.
<headius>
ok
<headius>
I'm going to work through remaining threshold=0 failures today
<subbu>
k
tlarevo has joined #jruby
<enebo>
headius: HARRRRRR
<enebo>
headius: perhaps I just need to change permissions once and it will be ok otherwise the jenkins job is resetting them
<chrisseaton>
I wasn't going to suggest turning it on for anything apart from Truffle specs and benchmarks, and purely for marketing reasons I admit
<enebo>
chrisseaton: but I am confused why you cannot handle all this without a semantic option?
<headius>
enebo: I think they are getting reset because the default bucket policy is not public
<chrisseaton>
enebo: sorry, not sure what you mean by semantic option?
<enebo>
chrisseaton: I mean we could change how we indicate this but I don’t have a big opinion
<enebo>
headius: ah. I will read that quick
blinsay_ is now known as blinsay
<chrisseaton>
enebo: if you and headius don't find it offensive I'll code it up and you can see what I mean - as I say it shouldn't get in your way at all
<chrisseaton>
enebo: I just wanted to check you didn't have a big philosophical objection to it before I did any work
<enebo>
chrisseaton: I guess I mostly don’t understand the desire to add a flag vs maintaining tags
<Aethenelle>
ffi 1.9.6 even gets a fix for solaris 11
<headius>
chrisseaton, enebo: yeah, we could have a "pedantic" tag that can be enabled to get the extra stuff
<headius>
Aethenelle: woohoo!
<headius>
chrisseaton: oh, I just got what you want
<headius>
this is a flag to turn on features that are of little importance but represent any size compatibility gap
<headius>
sorta like our -X+O for deeper ObjectSpace features
<chrisseaton>
yeah exactly
<headius>
right?
<enebo>
err yeah I read this a few days ago…I forgot what you wanted :)
<chrisseaton>
the flag says 'behave as RubySpec says we should, even if we disagree with it
<enebo>
chrisseaton: ignore me not understanding I did understand and had forgetten since I read it :)
<chrisseaton>
this may be incompatible with existing JRuby setups or may be slower, so off by default
<chrisseaton>
and then we can say if you really want RubySpec compliance you can have it, but we disagree with some of their specs
<headius>
is this pretty much an uber-flag to say "turn everything on!"
<headius>
?
<chrisseaton>
yeah, and disable some stuff that JRuby does that MRI doesn't, like handling --help in RUBYOPT
<headius>
what about something like -Xstrict.mode=true
<enebo>
headius: I think it may even enable stuff we don’t want to support so it can score better
<headius>
or strict.compat=true
<mjc_>
headius: nice name, 'pedantic' :P
<chrisseaton>
it's generally pretty trivial stuff, but it means JRuby passes 85% of language specs, rather than 100%
<enebo>
headius, chrisseaton: For things we can support but disable for impl reasons I have zero complaints with a strict or pedantic mode. If it is some stuff we decided is impl specific or should not be supported then I am more dubious on the value
<headius>
right, rubyspec isn't even canonical because it still represents opinions of implementers
<headius>
and MRI has many behaviors they wouldn't codify as "spec"
e_dub has quit [Quit: ZZZzzz…]
<headius>
chrisseaton: example of something we wouldn't support either way: retry used to be usable inside any method that received a block, causing the original call to reevaluate its arguments and invoke again
<headius>
it was a goofy implementation artifact that matz pretty quickly agreed needed to go away on 1.9
<Aethenelle>
headius: "pedantic" could mean we can diverge from MRI on inheritance for a while? ... wait ... I'd still have to rewrite it for the flag...
<chrisseaton>
I'm really talking much more trivial stuff than this - some of it is command line argument handling, but it really adds up to lots of expectations
<enebo>
Aethenelle: unless this is opt-in for missing features I don’t think we want to support this
<headius>
sure
<Aethenelle>
... i didn't think so...
<enebo>
Aethenelle: Ruby-truffle can but this does not feel like another option we want to deal with in main impl
<chrisseaton>
ok, I'll create it as a Truffle only option
<Aethenelle>
was really just joking... poorly
<headius>
chrisseaton: well code it up and then we'll have a look
<headius>
it doesn't seem like a bad flag to have...we already have others like --debug, -X+O
<headius>
chrisseaton: if this is basically a strict flag that just turns on everything, then both enebo and I think it's a good thing to have
<enebo>
chrisseaton: If you can support these language features then why not just support them with a truffle guard of some kind internally if they hit our space?
<headius>
another word might be conservative
<headius>
enebo: I think that should come along too
<chrisseaton>
You'll be able to see better what I mean when I code it up
<enebo>
chrisseaton: then we may still like the idea of strict but then it would just be for things we can enable that you basically support
<headius>
a flag like "truffle" that marks specs only working on truffle or something
<headius>
flag/tag
<headius>
chrisseaton: yeah, go for it
<enebo>
chrisseaton: yeah I am sure it will be more clear with a patch
elia has quit [Ping timeout: 272 seconds]
lance|afk is now known as lanceball
skade has joined #jruby
<headius>
damn you asm...why can't you give me a better error for bad frame size than ArrayIndexOutOfBounds
phrinx has joined #jruby
<headius>
subbu: I may have another case where repeating passes is breaking code
<headius>
cloning would improve this, again, but I'll try to sort it out for sure
<subbu>
ok ... command-line?
<subbu>
ok. let me know if you want me to dig in.
<enebo>
subbu: did you land your replacement to the flag stuff I did with the list of passes?
<subbu>
i did.
skade has quit [Quit: Computer has gone to sleep.]
<enebo>
so in theory the pass list can be printed on error
<subbu>
aioobe in interp? .. you mention asm above.
<headius>
enebo: I will try to turn on pass list
<headius>
aioobe *during* JIT in the asm library...it means that a frame (basic block) in the emitted code does not match up stack-wise with the next one
<subbu>
right now it isn't displayed, but that dif line above shows you what field has it.
<rtyler>
headius: remember that 1.7.16 issue I had mentioned a little while back?
<headius>
usually that would be a value left on stack
<enebo>
subbu: you have a equals(“”) to avoid split(“,”) but I don’t think you need that
<rtyler>
not with .15 :/
<enebo>
subbu: or does it return one result of “”
<subbu>
enebo, i vaguely remember getting errors which is why i added it.
<enebo>
subbu: ok
<subbu>
i haven't figured out why deltablue does particularly well in IR mode compare to 1.7 .. ir jit is 2-4x faster than 1.7 jit and interp is also somewhat faster than 1.7 interp.
<headius>
rtyler: ahh yes :-\
<rtyler>
headius: unfortunately my repro case is using gradle fun
<rtyler>
I can probably get gradle to spit out the full command line it's using though if you'd like
<headius>
any repro you can provide would help
<headius>
yeah that would also help
<enebo>
subbu: was it faster before your block scope removal work?
<rtyler>
I need to get my gradle tests into your build process :P
<enebo>
headius: either this is a race and something is happening during interp running passes and JIT decides to compile at same time OR we are not running something we should be on the nested compiler before JIT starts
<enebo>
subbu: ^
<enebo>
That is obviously a very broad stroke :)
<subbu>
enebo, headius ya .. i dont know without looking more. will look later if i have some time during the day .. i fnot, will have to wait for the night.
<enebo>
but if it is a race we can maybe have prepareForComp depdend on sync field which prepareForInterp sets
<headius>
there should be no threads here
<headius>
it doesn't even finish booting RG
<enebo>
I mean a Java JIT thread? Or is that not an issue?
<headius>
that won't affect it
<enebo>
ok
<headius>
oh sorry, I have background JIT off
<headius>
it is disabled on my branch right now
<enebo>
ok
<enebo>
headius: I have that -Xparser.debug=true property which does not load kernel
e_dub has joined #jruby
<enebo>
headius: perhaps you can make a smaller method with this structure without loading kernel and reproduce?
<headius>
I am trying :-\
<headius>
it doesn't want to fail in a simple script
<rtyler>
headius: I'll be running around most of today, but call me back if you need more help with it
<headius>
there's some sequence of load + interp + fail to JIT that's doing this
<headius>
enebo: ok, new twist...if I don't do my test compile it works
<enebo>
test compile?
<enebo>
oh you do a double compilation for failover
<headius>
remember I have to compile twice because if I run JIT passes I'll mess up interp, but JIT can fail
<headius>
yeah
iamjarvo has joined #jruby
<headius>
that first attempt just does buildCFG and buildLinearization
<headius>
second attempt runs prepareForCompilation
<enebo>
aha yeah so one of those two passes cannot be invalidated and run or it is not recognizing they have been run
<headius>
seems like it
<enebo>
it should see they have been run
<headius>
probably not CFG problem
<subbu>
so quick poking around and .. "jruby -X+C -Xcompile.invokedynamic=true -Xir.passes=OptimizeDynScopesPass -S gem list" fails
<enebo>
return scope.getExecutedPasses().contains(this) ? new Object() : null;
<subbu>
but, if you skip that pass .. with other passes, it runs just fine.
<headius>
hmm
<enebo>
subbu: This will not work for some of the stuff you did
arunagw has joined #jruby
arunagw has quit [Client Quit]
<enebo>
subbu: in prepareForCompilation we do new DeadCodeOptimization() and stuff like that per call
<enebo>
subbu: so if he runs this stuff twice it will not see it has been run though
<enebo>
subbu: oh wait you removed those previouslyRun calls too
<subbu>
yes, i moved all the checks into CompilerPass where it belongs.
<subbu>
s/it/they
<headius>
I need a way to get the IR into a bare bones JITable state that won't break when I run additional passes
<subbu>
enebo, headius do you want to meet up in person tomorrow sometime and we can just clean up some of this .. it is hard to do this on irc.
<subbu>
or monday.
<enebo>
subbu: this might not be the right theory but if he runs JIT twice on a snippet of code and only the first two default passes are in there it seems it is not properly detecting they have already been run
<subbu>
why wouldn't it?
yfeldblum has joined #jruby
<subbu>
previouslyRun is looking for a non-null value which it gets.
<enebo>
subbu: I don’t know I am just saying if he removes the second compile from the mix it works
<enebo>
subbu: and the list only shows the first two passes
_whitelogger has joined #jruby
<subbu>
i think we also need more debugigng output tied to commandline flags so we can investigate this without having to uncomment and rebuild.
<enebo>
HAHAH
<enebo>
// ENEBO: If we use a MT optimization mechanism we cannot mutate CFG
<enebo>
// while another thread is using it. This may need to happen on a clone()
<enebo>
// and we may need to update the method to return the new method.
<enebo>
That comment is in runCompilerPasses :)
<enebo>
perhaps it should have been a FIXME
<enebo>
subbu: well more output is ok so long as we can turn this stuff on more separately. ir.debug generates a gazillion meg file as it is
<subbu>
yes, separate flags.
<subbu>
ir.debug emits a trace of all instrs yes :)
<subbu>
which was good for debugging core functionality .. but a pain now that this is meta- .. not individual operands/instrs.
<headius>
I can turn off the double-compile if the JIT passes don't break it for interp
<headius>
or once I get cloning
<enebo>
headius: I would prefer it falls back to interp personally
<subbu>
headius, it shouldn't right now. so try turning it off.
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<subbu>
in my eyes, it is a bug if interp cannot handle the ir it gets from jit.
<enebo>
headius: hopefully I finish cloning tomorrow. I would say today but it ended up being bigger than I thought
<enebo>
headius: oh top of that we should be able to reproduce interp bugs much simpler just but running the same pass list on the same test
<headius>
yeah
<enebo>
coffee brb
<nirvdrum>
subbu: I can play around with it more. But I wasn't able to induce it with POROs. I needed to include the module and have it mess with Kernel#require.
<subbu>
nirvdrum, awesome .. i should be able to poke at this fairely easily. if necessary, i can ask you for more.
<subbu>
*fairly
<subbu>
ok, i have a meeting in 30 mins. have to get some food and prepare.
<nirvdrum>
My guess is this would fail to load even a dummy Rails app.
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to non-indy-jit: http://git.io/bH5AkQ
<JRubyGithub>
jruby/non-indy-jit b8823f8 Charles Oliver Nutter: Eliminate double-compile and print pass list on failure.
JRubyGithub has left #jruby [#jruby]
elia has joined #jruby
erikhatcher has quit [Quit: erikhatcher]
<headius>
I can't merge non-indy-jit back to master until it boots
<headius>
could be the same...in my case, a temp var in the closure *should have* been loaded out of dynscope, but I don't see the load
<subbu>
ok. i really gotta go now.
<headius>
so it's just nil from our initialization and then gets passed along somewhere else that fails
<headius>
subbu: ok :-)
<enebo>
headius: no zsuper?
<subbu>
enebo, headius, opt-dyn-scope code is not too bad. take a look at it in pass/OptimizedynScopesPass.
<headius>
ok
<headius>
I know it modifies it to just use parent dynscope and subtract 1 from depths
<headius>
I will see what I can learn
<enebo>
I am adding special case for zsuper to ignore this but su bb u thinks it should already have marked the scope REQUITES_DYNSCOPE
<enebo>
headius: hmmm that might be a different bug in this pass or possibly in IRBuilder
<subbu>
enebo, i see what you did there .. but i am still sitting infront of the laptop. ok, leaving for real now :)
subbu is now known as subbu|away
<enebo>
subbu|away: nirvdrum: fixes your issue
<enebo>
I will commit with a fixme
<nirvdrum>
enebo: Aww, man. I was too busy trying to find a high quality copy of the "fix it" SNL sketch.
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/Qq2mDw
<JRubyGithub>
jruby/master 44bd989 Thomas E. Enebo: Be more conservative and not disable dynscope if a zsuper is present
JRubyGithub has left #jruby [#jruby]
<enebo>
nirvdrum: this should fix your problem for now
<enebo>
headius: you can try removing OptimizeDynScopesPass from the pass list -Xir.passes (or recompile) and see if your problem goes away. That shoudl at least point to that pass or IRBuilder
<enebo>
headius: although if you case involves zsuper merge my last commit to your branch
<nirvdrum>
enebo: That did it. Thanks.
<nirvdrum>
Now I'm back to my stack overflow issue.
iamjarvo has joined #jruby
<nirvdrum>
org.jruby.ir.instructions.InstanceSuperInstr.interpret(InstanceSuperInstr.java:52) seems to get stuck in a loop.
<subbu|away>
headius, oh wait ... "in my case, a temp var in the closure *should have* been loaded out of dynscope, but I don't see the load" .. .that could be the add-local-var-load-store ... bug. unless opt-dyn-scope pass killed it. good way to know would be turn off opt-dyn-scope-pass and verify.
<enebo>
fwiw. It might be best to just run JIT against -Xir.passes=linearizeCFG until it fully runs
ekinmur has joined #jruby
tlarevo has quit [Remote host closed the connection]
<nirvdrum>
enebo: Is that for me?
<enebo>
nirvdrum: IT IS FOR THE WORLD!
<enebo>
nirvdrum: I was thinking of headius for that but it might not be a bad thing for you as well
<enebo>
nirvdrum: It is minimal amount of pass logic which means less logic to have bugs
havenwood has quit [Remote host closed the connection]
elia has quit [Quit: Computer has gone to sleep.]
iamjarvo has joined #jruby
subbu|away is now known as subbu
<headius>
enebo: doing limited passes for now might keep me sane
<headius>
I'm butting up against bugs in passes and that's keeping me from finishing
<enebo>
headius: yeah
<Aethenelle>
okay... I'm using a Java app with an embedded JRuby runtime. I'd assumed (i know) because the env is fresh on every load it was doing something useful with the old runtime when I unload/reload my extension.Bad assumtion. Is there a way to kill other runtimes from inside JRuby?
<Aethenelle>
And what do I suggest in the bug report?
<headius>
how is the embedded runtime being launched?
<headius>
Typically you'd .teardown a finished runtime or ScriptingContainer
yfeldblu_ has joined #jruby
<headius>
that should emulate what happens when it exits normally
<Aethenelle>
don't know... not my Java code and it's obfuscated so it'd take me too long right now to figure out.
<headius>
well there's a few ways to spawn an embedded runtime...some of them isolate changes and some don't
<headius>
need more info
rsim has joined #jruby
<Aethenelle>
as far as I can tell they're isolated reload my extension (a swing_irb session) leaves me with a blank slate
<headius>
ok...I'm not clear what's actually wrong then
tcrawley is now known as tcrawley-away
yfeldblum has quit [Ping timeout: 272 seconds]
<Aethenelle>
k... my guess is that the env isn't getting .teardown and just being asumed it'll get GC'd or something...
<headius>
yeah that would be my guess too
<headius>
is this on master or 1.7?
yfeldblu_ has quit [Ping timeout: 272 seconds]
<headius>
master changed the behavior of one embedding mode to not GC cleanup stuff, because it was basically killing that mode forever once any runtime GCed
<Aethenelle>
i'm using jruby-complete-1.7.16
<headius>
ok...could be related, but not the exact same issue
<Aethenelle>
search for teardown yields nothing.
<headius>
enebo: do you know the current situation with jruby-openssl on master?
phrinx has quit [Read error: Connection reset by peer]
phrinx has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] jrubyci pushed 2 new commits to master: http://git.io/6DI2YA
<JRubyGithub>
jruby/master d72cbab Chris Seaton: [Truffle] Remove some block tags that don't seem to have corresponding specs.
<JRubyGithub>
jruby/master 5ed8eb1 Chris Seaton: [Truffle] Work on defined? specs.
JRubyGithub has left #jruby [#jruby]
<headius>
it seems to be pulling an older version that uses now-deleted ChannelDescriptor
<headius>
but taht should be at least a couple versions back
<enebo>
headius: I do not and I did not notice it until about 20 minutes ago
tcrawley-away is now known as tcrawley
<headius>
oh, are you seeing that too?
<enebo>
headius: yeah could IR really be responsible for that? It looks like a build issue
<headius>
yeah
<headius>
it's not IR
<enebo>
headius: It is also weird I can run -Pbootstrap and install gems
<enebo>
headius: It is like whatever makes jruby.jar is doing smoething wrong
<headius>
I'm trying some other openssl versions
<headius>
I know mkristian had 0.9.6.dev dependency on master but backed it out for some reason
<Aethenelle>
i hate obfuscated code
statonjr has left #jruby [#jruby]
elia has joined #jruby
oblutak has joined #jruby
<headius>
yeah 0.9.6 can't install gems either :-\
phrinx has quit [Read error: Connection reset by peer]
<headius>
some certificate mismatch problem
phrinx has joined #jruby
<headius>
I have to cut out for the rest of the day…I think I can proceed with JIT work with the reduced passes for now
<headius>
threshold=0 still blows up with what looks like scope depth problems
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/non-indy-jit dbf56ab Charles Oliver Nutter: Merge remote-tracking branch 'origin/master' into non-indy-jit...
<JRubyGithub>
jruby/non-indy-jit a16dfbb Charles Oliver Nutter: Remove DCE and dynscope opto from JIT passes for now.
<JRubyGithub>
[jruby] jrubyci pushed 2 new commits to non-indy-jit: http://git.io/PaxgBQ
JRubyGithub has left #jruby [#jruby]
<headius>
the jruby-openssl thing needs to get sorted out pronto so I'm going to ping kares and mkristian
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/XUfTTg
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
jruby/master ff2d675 Chris Seaton: [Truffle] Work on singleton specs.
dvorak has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/master e19b7c0 Thomas E. Enebo: Change cloneForInliningClosure to be a generic clone() and an instance method of CFG. Fixed bug in clone where GEB was not being set (even though it was being cloned in DG).
<JRubyGithub>
jruby/master 26a96be Thomas E. Enebo: Some CFG diamond removal (trivial) plus some other small changes. Make a generic BasicBlock.clone(InlineInfo). Remove callbase+wrappedirclosure conditionals and let IRClosure.cloneForInlining register with its lexical parent
<nirvdrum>
/home/nirvdrum/.rbenv/versions/jruby-9000.dev-SNAPSHOT/lib/ruby/2.1/e2mmap.rb:132:in `initialize': wrong number of arguments (1 for 0) (ArgumentError)
<chrisseaton>
nirvdrum: ah maybe it's the parser then - which of course we share with JRuby proper
<nirvdrum>
The issue was fixed in IR. There it was a bad optimization.
<nirvdrum>
I can file an issue. Just didn't know if it was something you knew about first.
<chrisseaton>
nirvdrum: can I see the IR fix? we're not ready for Truffle issues yet, but I'll take a look since you asked
<chrisseaton>
nirvdrum: I guess super needs to take the arguments from the method proper - not the block - maybe we're not doing that