<nirvdrum>
This issue in particular isn't critical for now. It'll need to be addressed to get Rails booting, however.
<nirvdrum>
Getting IRB up, however, would be really nice.
<chrisseaton>
nirvdrum: yeah - I took a look - it didn't look pretty
marr has quit [Ping timeout: 245 seconds]
<nirvdrum>
Heh. I'll be patient then :-)
<nirvdrum>
And you keep rather late hours, eh?
<chrisseaton>
I have a new baby
phrinx_ has joined #jruby
<nirvdrum>
Ahh, fun.
<nirvdrum>
Mine just started walking a few weeks ago. He enjoys yanking my ACM magazines off the bookshelf and playing with my mouse when I get up.
robbyoconnor has joined #jruby
phrinx has quit [Ping timeout: 258 seconds]
robbyoconnor has quit [Read error: Connection reset by peer]
<chrisseaton>
nirvdrum: here's the problem - hub.com/jruby/jruby/blob/master/core/src/main/java/org/jruby/truffle/nodes/supercall/GeneralSuperReCallNode.java#L47 - we just use the current frame's arguments, even if it's a block with its own frame, and we really should be using the parent (or grandparent etc) frame
robbyoconnor has joined #jruby
phrinx has joined #jruby
phrinx_ has quit [Ping timeout: 244 seconds]
<nirvdrum>
Interesting.
<nirvdrum>
Were you able to attach a debugger? Or how did you track that down?
<chrisseaton>
I just looked at it and thought about it - seeing super in a block looked strange, then it was obvious that might not be working
<chrisseaton>
When I read Ruby code now all I see is Truffle nodes
tcrawley is now known as tcrawley-away
<nirvdrum>
Heh.
bbrowning_away has joined #jruby
bbrowning_away is now known as bbrowning
thsig has quit [Remote host closed the connection]
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/master 9d954e0 Chris Seaton: [Truffle] Add option to panic on Java exceptions.
<JRubyGithub>
[jruby] jrubyci pushed 4 new commits to master: http://git.io/C0Ikpw
<JRubyGithub>
jruby/master 4864d4d Chris Seaton: [Truffle] Arity error should say minimum, not maximum.
<JRubyGithub>
jruby/master a34440e Chris Seaton: [Truffle] Mock support for re-raise of an exception.
JRubyGithub has left #jruby [#jruby]
krainboltgreene has left #jruby ["Textual IRC Client: www.textualapp.com"]
<chrisseaton>
The last three commits fix issues Truffle had with your example - we still aren't quite right as I haven't yet implemented re-raise.
e_dub has quit [Read error: Connection reset by peer]
e_dub has joined #jruby
robbyoconnor has quit [Quit: Konversation terminated!]
uberjar has joined #jruby
colinsurprenant has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/pedantic 8499cf8 Chris Seaton: Move the compliance option into a new category.
<JRubyGithub>
[jruby] jrubyci created pedantic (+5 new commits): http://git.io/47gOOQ
<JRubyGithub>
jruby/pedantic 9fe0120 Chris Seaton: Follow RubySpec for processing of switches in RUBYOPTS if strict compliance.
<JRubyGithub>
jruby/pedantic 4453032 Chris Seaton: Add a compliance.strict option for maximum compliance with RubySpec.
JRubyGithub has left #jruby [#jruby]
colinsurprenant has quit [Client Quit]
colinsurprenant has joined #jruby
subbu has joined #jruby
<nirvdrum>
chrisseaton: I'm running through the Truffle wiki again. FYI, the benchmark info is out of date. It might just be that the path moved. Dunno if it's deeper than that.
<chrisseaton>
yeah - need to update that page, sorry
<chrisseaton>
the benchmark graphs are also out of date btw
<chrisseaton>
we might set up a public speed centre at some point
<nirvdrum>
And those images are really hard to read. I thought GitHub would blow them up, but I guess not.
<chrisseaton>
can you click on them?
<nirvdrum>
No. I thought I used to be able to, but they do nothing right now.
<nirvdrum>
I can copy & paste the image URL though.
<chrisseaton>
we also have some bad regressions on master at the moment, so you won't be able to reproduce them (if you were going to try)
<nirvdrum>
Okay. Well, I'll scrap that little project then.
<nirvdrum>
I hadn't upgraded to graal 0.5 until a few minutes ago. I thought I'd see how things were looking.
<chrisseaton>
The benchmarks went because I've made a new benchmark harness in a sparate repo, but haven't gotten around to releasing it yet
<nirvdrum>
No worries.
<nirvdrum>
I'll switch to figuring out how to get rubinius to compile.
uberjar has quit [Quit: .]
tlarevo has quit [Remote host closed the connection]
tlarevo has joined #jruby
robbyoconnor has joined #jruby
tlarevo has quit [Ping timeout: 246 seconds]
colinsurprenant has quit [Quit: colinsurprenant]
robbyoconnor has quit [Max SendQ exceeded]
robbyoconnor has joined #jruby
rsim has joined #jruby
pgokeeffe has joined #jruby
yfeldblu_ has joined #jruby
robbyoconnor has quit [Ping timeout: 260 seconds]
robbyoconnor has joined #jruby
zorak_ has quit [Ping timeout: 260 seconds]
rsim has quit [Quit: Leaving.]
yfeldblum has quit [Ping timeout: 272 seconds]
nirvdrum has quit [Ping timeout: 258 seconds]
pgokeeffe has quit [Ping timeout: 260 seconds]
pgokeeffe_ has joined #jruby
robbyoconnor has quit [Max SendQ exceeded]
robbyoconnor has joined #jruby
robbyoconnor has joined #jruby
robbyoconnor has quit [Changing host]
robbyoconnor has quit [Client Quit]
tlarevo has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/master d3aabe2 Subramanya Sastry: Use CompilerPass.run to process nested scopes.
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/FJwRog
JRubyGithub has left #jruby [#jruby]
josh-k has joined #jruby
josh-k has quit [Remote host closed the connection]
<subbu>
yes. that is how it is right now ... it tries to rerun all the interp passes and works even if it has ... (without the -Xjit.threshold cli arg).
<subbu>
but, for now, till we have cloning in place, you should debug JIT with that patch above.
<subbu>
8 failures with or without -Xjit.threshold=0
<subbu>
and it has all 8 passes, including dce, and opt-dyn-scope.
<subbu>
but you can remove those two if you want. i just added them back as a stress test.
<subbu>
to verify my theory.
<subbu>
i really want to get some of the code understanding offloaded to you and enebo at some point soon .. i always worry about being the bottleneck especially with my daytime workload at my day job.
<chrisseaton>
subbu: can you write it down rather than explaining it person to person?
tcrawley-away is now known as tcrawley
zorak_ has joined #jruby
anaeem1_ has quit [Remote host closed the connection]
havenwood has joined #jruby
subbu|foooood is now known as subbu
<subbu>
chrisseaton, perhaps in terms of general structure, approach, etc. ... i always end up prioritizing coding over wiki / docs / .. since i dont have that many hours to do this. but maybe writing it up is a useful investment of time since there is soemthing to refer back to.
<chrisseaton>
subbu: you guys should write up a paper on it - I think don't there are any other dynamic JVM languages that use a full IR like this (does Nashorn? that must be simpler as JS is simpler). There's good venues for this sort of thing.
iamjarvo has joined #jruby
benlovell has joined #jruby
iamjarvo has quit [Max SendQ exceeded]
<chrisseaton>
I find writing a paper is good motivation for writing stuff up - feels like it has a purpose rather than just doing it to document stuff
iamjarvo has joined #jruby
vtunka has quit [Quit: Leaving]
<dfr|work>
hello all
<dfr|work>
I guess I missed some messages yesterday, so feel free to follow up :)
<dfr|work>
I was at an offsite >.<
<subbu>
chrisseaton, yes, that used to work well in grad school :)
<subbu>
it actually helped clean up code actually.
<chrisseaton>
If you haven't published anything since then we can point you at some good venues and help you find related literature you might not know about.
benlovell has quit [Ping timeout: 255 seconds]
yfeldblum has joined #jruby
robbyoconnor has quit [Excess Flood]
yfeldblum has quit [Ping timeout: 258 seconds]
robbyoconnor has joined #jruby
tcrawley is now known as tcrawley-away
enebo has joined #jruby
<subbu>
i am happy to read up related lit .. i occasonally glance at pldi proceedings and read anything that catches my eye, but i don't follow it that closely anymore.
<subbu>
chrisseaton, i am not sure about a paper however ... this all seems standard stuff ... just adapted to a different setting. but then, as i said, i haven't been following this field as closely for a while now.
<chrisseaton>
Conventional wisdom is that there is no need to do this stuff on the JVM, as it should magically do it all for you. Your research result is that by moving these techniques into the VM language implementation you can achieve better performance.
<chrisseaton>
Because language semantics are lost in the translation to JVM byte code.
pgokeeffe has joined #jruby
mjelen has quit [Ping timeout: 245 seconds]
pgokeeffe has quit [Ping timeout: 260 seconds]
shellac has quit [Ping timeout: 246 seconds]
<subbu>
chrisseaton, interesting ... i don't take magical vm arguments very seriously mostly because langs are a diverse bunch, but i see what you are saying about conventional wisdom.
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] jrubyci pushed 5 new commits to master: http://git.io/U107nA
<JRubyGithub>
jruby/master f51d47b Benoit Daloze: [Truffle] Remove cases using both isModuleMethod and visibility....
<JRubyGithub>
jruby/master ae1e355 Benoit Daloze: [Truffle] Rename isModuleMethod to isModuleFunction....
<JRubyGithub>
jruby/master 630d47b Benoit Daloze: [Truffle] Kernel.binding should not need self....
JRubyGithub has left #jruby [#jruby]
colinsurprenant has joined #jruby
<subbu>
chrisseaton, but, perhaps worth considering (a paper) once we get this 9k beast out the door.
<subbu>
and pointers to related lit is always welcome since you are more plugged in there.
tlarevo has joined #jruby
tylersmith has joined #jruby
phrinx has joined #jruby
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<headius>
I think those only come in via AddLocalVar... eh?
<enebo>
headius: I think so yeah
<headius>
that's a lot of tmp vars
<enebo>
1:9?
<headius>
_255
zorak_ has joined #jruby
<enebo>
oh yeah the temps
<enebo>
not_conv is the ninth see var I thought it was in the block scope
<enebo>
headius: You should be able to see result of that compiler pass above
<enebo>
headius: If the temps look insane then they are but I suspect it does root scope first and you are seeing it as it nests so it will be higher
<headius>
could be
<headius>
it wouldn't surprise me though
<subbu|lunch>
headius open dataflow/DataFlowProblem.java and there is probably a check there for if getCFG() == null ... check if this is the same sccope on which it is failing?
<enebo>
headius: I think opt temp vars does not happen at this point
<subbu|lunch>
tmps should be local to a scope
<enebo>
heh yeah true
<headius>
yeah this is definitely running my passes
<headius>
the nil inits are here
<subbu|lunch>
so, if you are seeing insanely high tmp var #s it is because opt-tmp-var didn't run on it.
<subbu|lunch>
my suspicion.
<subbu|lunch>
but misallocating binding size .. is very odd.
subbu|lunch is now known as subbu
<subbu>
so headius is the wrong-size scope failure on the method or on a block?
robbyoconnor has quit [Ping timeout: 245 seconds]
<headius>
good question
<headius>
the first nested block has three locals
<headius>
oh the error
<subbu>
yes.
<headius>
it's coming from closure 1 in that method... are closures numbered from 0 or 1? :-)
<headius>
I'll gist what I have, but I'm still looking into it
<headius>
added ir.debug output to that gist
<headius>
huh
<headius>
hmm
<headius>
actually I think I'm wrong, I think it fails in the outer method
<headius>
heh, I think it actually gets past the big block, right?
<headius>
so loading vars out of dynscope after the each has run
<enebo>
There is usually pass data showing the full CFG of the method as well which might also help
<subbu>
since it is saying 1:9, it is trying to load from the outer scope.
<enebo>
yeah
<subbu>
which is od if it got past the big-block and isnow in the main method.
<subbu>
because depth should have been zero there.
<enebo>
without knowing which load_Var that is it could also be the next if search block
<enebo>
which would be wrong since it should be 2:9
<subbu>
but, it looks like it didn .. since the exception was in in scope: CLOSURE make_switch_CLOSURE_1
<enebo>
which would explain the error well
<enebo>
oh no it wound’t since it does not have 3 vars in the outer closure hmm
<subbu>
it is executing CLOSURE_1 (which is the opts.each do ..end one)
<subbu>
so, you could shed more light by output more inof in the error message .. by querying how many vars the scope has ... it is odd if make_switch is falsely reporting < 3 local vars.
<enebo>
you think it is around here: pattern = notwice(o, pattern, 'pattern')
<enebo>
sorry wrong name
<enebo>
and it is a method
<enebo>
:)
<subbu>
but, i think headius is right ... it looks as if it went past the big closure ... but the error message is confusing me .. something is weird there.
<subbu>
i dont understand what that load of 'not_conv' corresponds to in the ruby code.
<enebo>
subbu: missing pop binding
<subbu>
where?
<subbu>
also note that initScope runs optimizeSimpleScope (which runs opt-dyn-scopes) in interp mode.
<subbu>
ok, have to leave shortly.
mister_solo has quit [Ping timeout: 272 seconds]
<enebo>
subbu: well if it went off the end of opts closure and hit a line with that load_var then it would still be looking at closure binding
<enebo>
subbu: headius: seeing full CFG for this method would probably make this easier to see
<enebo>
headius: I am also leaving to hang with subbu a couple of hours this afternoon so I will be going dark until I reach the coffee shop
<subbu>
but, nothing to indicate where control is ...
<enebo>
subbu: WHAT? :)
<subbu>
i mean: what scope it is in ...
<enebo>
subbu: true but seeing which line this load_store is on and what is above it may make it obvious
<subbu>
since interp doesn't output debug falgs for when it exits a scope.
<enebo>
subbu: like if there is a missing pop_binding
<subbu>
%t_not_conv_255 = load_lvar(make_switch_CLOSURE_1, not_conv(1:9)) .. indicates it is still in the closure, not outside it.
<enebo>
subbu: like it is loading it
<subbu>
it is not a load_lvar(make_switch, not_conv(0:9))
<subbu>
and the excp message.
<subbu>
2014-10-10T13:08:21.087-05:00: Interpreter: in scope: CLOSURE make_switch_CLOSURE_1[/Users/headius/projects/jruby/lib/ruby/2.1/optparse.rb:1157], caught Java throwable: java.lang.RuntimeException: ThreeVarDynamicScope only supports scopes with three variables; excepting instr: %t_not_conv_255 = load_lvar(make_switch_CLOSURE_1, not_conv(1:9))
<enebo>
yeah so it thinks depth 1 is a three var scope
<subbu>
but, what i meant with my earlier cryptic message was ... i am unable to correlated this load-lvar with the ruby line of code.
<subbu>
right, which is the make_switch method.
<enebo>
yeah me too
<enebo>
subbu: which is why I think seeing the CFG might make it more clear
<subbu>
alright, leaving now. my wmf-colleague will be there probably.
<enebo>
yeah me too. see you in a bit
<subbu>
so, see you in a bit.
enebo has quit [Quit: enebo]
subbu has quit [Ping timeout: 272 seconds]
dfr|work has quit [Remote host closed the connection]
e_dub has joined #jruby
benlovell has joined #jruby
tlarevo has quit [Remote host closed the connection]
tlarevo has joined #jruby
benlovell has quit [Ping timeout: 245 seconds]
ahadding1 has quit [Ping timeout: 272 seconds]
ludyte has quit [Quit: ludyte]
tlarevo has quit [Ping timeout: 250 seconds]
postmodern has joined #jruby
yfeldblum has joined #jruby
ludyte has joined #jruby
ahadding has joined #jruby
iamjarvo has joined #jruby
bbrowning has quit [Remote host closed the connection]
bbrowning has joined #jruby
enebo has joined #jruby
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/1K3b0g
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
jruby/master 259b4bd Thomas E. Enebo: temp locl replace var clone missing
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
tenderlove has quit [Remote host closed the connection]
tenderlove has joined #jruby
tenderlove has quit [Remote host closed the connection]
tenderlove has joined #jruby
tenderlove has quit [Ping timeout: 260 seconds]
nipra has quit [Quit: Leaving.]
benlovell has joined #jruby
tenderlove has joined #jruby
JRubyGithub has joined #jruby
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/2ghCdQ
<JRubyGithub>
jruby/master 583bc54 Thomas E. Enebo: Stick a fork in rescueMap's eye...add rpc field to instr to eliminate need for map since all instrs need rpc anyways
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
tlarevo has quit [Ping timeout: 255 seconds]
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/aqcxRQ
<JRubyGithub>
jruby/master 7a8bf5f Thomas E. Enebo: Clone all instrs in linearized instr list so that when JIT starts it cannot mangle anything in those instrs. Cannot see any measurable startup impact in this change
<subbu>
headius, based on in-person chats, enebo made the above fixes ... there is one last piece of data that ties interpreter to scope, but we talked about a soln. for that as well .. once that is done, interpreter will cut all ties ot scope once it gets going.
tcrawley is now known as tcrawley-away
mje113__ has quit [Quit: Connection closed for inactivity]