<Aethenelle>
headius: you see the 9112 comments from Matz? I'm submitting a PR to master adding tests for the current behavior to the MRI suite. Can you push them upstream?
zeroecco has joined #jruby
tlarevo_ has quit [Remote host closed the connection]
subbu|afk is now known as subbu
<subbu>
nirvdrum, do you want to try today's master? A whole bunch of things were fixed y'day.
<nirvdrum>
Will do shortly. I'm fighting with Verizon at the moment.
<subbu>
k, no rush.
pchalupa has quit [Quit: Computer has gone to sleep.]
zorak8 has joined #jruby
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
maleghast is now known as maleghast_away
noop has quit [Ping timeout: 246 seconds]
benlovell has quit [Ping timeout: 260 seconds]
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rsim has joined #jruby
mister_solo has quit [Ping timeout: 258 seconds]
Hobogrammer has joined #jruby
nipra has quit [Quit: Leaving.]
maleghast_away is now known as maleghast
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/master d8d4100 Benoit Daloze: [Truffle] Fix Module#include so it does not copy but modify the ancestor chain....
<JRubyGithub>
jruby/master 5f76775 Benoit Daloze: [Truffle] The lexical parent module is a real Module, not an IncludedModule.
<JRubyGithub>
[jruby] jrubyci pushed 11 new commits to master: http://git.io/VvplwA
<JRubyGithub>
jruby/master 4900f50 Benoit Daloze: [Truffle] Fix bad call to Module#include with a Class.
JRubyGithub has left #jruby [#jruby]
iamjarvo has joined #jruby
baroquebobcat has joined #jruby
havenwood has quit [Remote host closed the connection]
havenwood has joined #jruby
iamjarvo has quit [Client Quit]
havenwood has quit [Remote host closed the connection]
<Aethenelle>
looks like matz is provisionally okay w/ my inheritance changes... now all I have to do is implement them... any of you guys familiar with the MRI codebase?
yfeldblum has joined #jruby
havenwood has joined #jruby
bbrowning is now known as bbrowning_away
statonjr has quit [Quit: statonjr]
yfeldblum has quit [Ping timeout: 260 seconds]
rsim has quit [Quit: Leaving.]
nirvdrum has quit [Ping timeout: 272 seconds]
<chrisseaton>
Aethenelle: I've poked around in it quite a bit - what are you changes though? I haven't been following
<Aethenelle>
chrisseaton: making the inheritance model live (matching my current #prepend work if you've been watching it)
skade has quit [Quit: Computer has gone to sleep.]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/lsU6aQ
<JRubyGithub>
jruby/master 89b288b Benoit Daloze: [Truffle] Document and simplify a few cases dealing with visibility in dispath.
JRubyGithub has left #jruby [#jruby]
baroquebobcat has quit [Quit: baroquebobcat]
<dfr|work>
Hey folks.
baroquebobcat has joined #jruby
<chrisseaton>
Aethenelle: are you committing your prepend stuff as you go?
<chrisseaton>
Aethenelle: you suggested you wanted to try doing this prepend stuff for Truffle - if you do eregon is the person to speak to (if you don't want to do it no problem)
<Aethenelle>
i didn't start on changing it to match MRI's current behavior until today so nothing's started there...
vtunka has quit [Quit: Leaving]
nirvdrum has quit [Remote host closed the connection]
<Aethenelle>
chrisseaton: I'm a ways away from starting on that... I need to fix my current patch to match MRI behavior and get a patch together for the live inheritance stuff in MRI... I'm also quite busy at work for the next couple weeks.
<Aethenelle>
chrisseaton: ahh... that makes more sense then... thanks
<chrisseaton>
we are trying to sort out the include hierarchy and constant lookup in Truffle - it's never been quite right
elia has quit [Quit: Computer has gone to sleep.]
<Aethenelle>
chrisseaton: am I reading this right, each module keeps it's own stack of includes?
colinsurprenant has joined #jruby
benlovell has quit [Ping timeout: 244 seconds]
<chrisseaton>
yeah, but it's a shared stack
<chrisseaton>
so you point to your parent, it points to its, etc
<chrisseaton>
the problem is when I read the Ruby documentation it said that include 'copies' methods, so that's what I implemented, but of course it doesn't do that at all
oblutak has joined #jruby
<Aethenelle>
chrisseaton: yeah... that'd have thrown me off too... on a side note... There's documentation for the innards of MRI?!?
obs has quit [Quit: Saliendo]
bbrowning_away is now known as bbrowning
<Aethenelle>
also, this implementation only differs from MRI or my work in the class of the tree node objects. The implementations I've seen use a wrapper class for non-leaf nodes and the module itself for leaves. But they're also mostly directed graphs, pointers down the inheritance chain are a bit wonky.
<chrisseaton>
I mean the standard ruby-doc.org
<chrisseaton>
yes we used to have a graph with LookupNodes that pointed to modules or classes like you suggest
<chrisseaton>
I think in the end we found that as we tried to generalise to nice data structures we found that implementing MRI's behaviour became trickier
yfeldblum has joined #jruby
<Aethenelle>
ahh... just read that... pretty misleading... good thing I started from the code rather than doc.
nirvdrum has joined #jruby
<Aethenelle>
chrisseaton: i think I botched that explanation... the wrappers themselves inherit from Class but are hacked so they don't show in the ruby runtime but point to the modules they wrap.
<chrisseaton>
do they show up in things like ObjectSpace#each_object?
<Aethenelle>
chrisseaton: MRI's behavior is actually simpler to implement.
<Aethenelle>
chrisseaton: nope, the wrappers don't show at all. you'd have to be sitting in C or Java (depending) to see them in action.
tylersmith has joined #jruby
phrinx has joined #jruby
yfeldblum has quit [Ping timeout: 244 seconds]
<Aethenelle>
In JRuby you can use JRuby.reference to expose them if you really want too... My PR also still has a method left over from debugging that exposes the full Java side of the inheritance chain fo that module.
<nirvdrum>
subbu: I'm still having problems requiring.
<Aethenelle>
ugh... I don't like helper classes... However, it'll be easier to make sense of those wrt MRI's code... I'll take a closer look later...
<chrisseaton>
Truffle will likely lose it's RubyModule etc classes soon anyway as we adopt the new Truffle object model, which stores the internals of classes like that as instance variables
<Aethenelle>
looks like you could move most of these to ModuleChain. imho neater impl that way...
<Aethenelle>
I'll have to look more in to Truffle. That sounds interesting.
mister_solo has quit [Ping timeout: 272 seconds]
dumdedum has quit [Quit: foo]
elia has joined #jruby
x1337807x has joined #jruby
nipra has joined #jruby
x1337807x has quit [Max SendQ exceeded]
x1337807x has joined #jruby
x1337807x has quit [Max SendQ exceeded]
x1337807x has joined #jruby
<subbu>
nirvdrum, hmm .. ok
x1337807x has quit [Client Quit]
x1337807x has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
dumdedum has joined #jruby
x1337807x has quit [Client Quit]
elia has quit [Quit: Computer has gone to sleep.]
dumdedum has quit [Ping timeout: 272 seconds]
colinsurprenant has quit [Quit: colinsurprenant]
dfr|work has quit [Remote host closed the connection]
toady00 has quit []
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/truffle-head 9ac8dfa Chris Seaton: Merge branch 'master' into truffle-head
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to truffle-head: http://git.io/-jAmaw
noop has joined #jruby
dfr|work has joined #jruby
<dfr|work>
rebooting your desktop once every month is sooo painful :(
<Aethenelle>
why do all the SOAP tools for ruby have to be terrible?
<Aethenelle>
dfr|work: I'm at a point where i only reboot when the kernel panics. Of course, that's usually every other day right now...
<Aethenelle>
i'd love to get back to once a month
<Aethenelle>
not really looking forward to upgrading to mavericks... silent kernel panics annoy me more than i ever would have guessed.
<dfr|work>
Aethenelle, it's a problem with SOAP, not with tools. from what I recall, savon was pretty awsome.
<chrisseaton>
I'm looking forward to homebrew package being broken for months when yosemite comes out
<dfr|work>
and BTW, if you ever have to deal with DoubleClick for Publishers soap API, you can somewhat blame me ;)
<Aethenelle>
dfr|work: using savon now.. it's probably awesome if you know the API you're working with and don't need to do anything funny... unfortunately, I don't meet those criteria
<dfr|work>
Aethenelle, from what I recall, when I was doing SOAP clients, I'd generally first build them with WSDL to figure out its API, and then forgo on that.
<dfr|work>
Aethenelle, usually people who have SOAP api have also fat clients which you can sorta navigate to understand how crap works.
<Aethenelle>
there's a bunch of stuff in Savon that's really annoying if you're dealing with more than one wsdl or want to use multiple API keys
<dfr|work>
yea, dunno about that
<dfr|work>
but at least savon was much better than so4r or whatever the othre one was
<dfr|work>
that thing was just a pile of stinking crap.
<Aethenelle>
dfr|work: those fat clients aren't often too useful for me...
<dfr|work>
Aethenelle, I agree.
<dfr|work>
Aethenelle, their code sucks anyway, usually.
thsig has joined #jruby
<Aethenelle>
Savon is better than soap4r if you meet those two criteria. not sure it's better if you don't
<dfr|work>
Aethenelle, savon's internal code has less stupid crap in it. At least it used to 2 years ago when I used it.
ephemerian has joined #jruby
<Aethenelle>
dfr|work: maybe that's changed in 2 years then... I'll have to take a look...
<Aethenelle>
the current version is pretty crappy unless you just want to use a single user and there's only one namespace in use.
postmodern has joined #jruby
<Aethenelle>
i guess the real differences between soap4r and savon (never used handsoap) is savon does a good job of implementing a simple interface for a SOAP API. soap4r might be nastier code and ungainly in places but it's a fully featured object model.
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<nirvdrum>
Isn't soap4r Ruby 1.8 only?
ludyte has quit [Quit: ludyte]
mister_solo has joined #jruby
colinsurprenant has joined #jruby
<Aethenelle>
nirvdrum: dunno
<Aethenelle>
probably
<headius>
Aethenelle: yes, there are a few folks running JRuby on OpenVMS
johnsonch is now known as johnsonch_afk
iamjarvo has joined #jruby
tlarevo has joined #jruby
<headius>
Aethenelle: I will have a look at 9112
<Aethenelle>
headius: k, thanks
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
<Aethenelle>
you happen to know when they'll likely be shooting for 2.3?
<Aethenelle>
same as 2.2 you think? dev starts Dec, RC in sept?
<subbu>
headius, i fixed a bunch of bugs y'day and merged into your branch which you probably saw ... fixes threshold=0 run
<headius>
subbu: yeah I'm getting the weirdest NPE now with threshold=0
<headius>
at org.jruby.ir.dataflow.analyses.LiveVariableNode.markDeadInstructions(LiveVariableNode.java:294)
<subbu>
oh .. that was the one i fixed i though y'day.
<headius>
initSolution is called before this line though
<subbu>
it could also be concurrency related.
<headius>
it's very strange
<headius>
the pass state is created new for any thread that runs it, right? so that shouldn't be concurrency related
<headius>
look at that line when you get a change...it's the "living" BitSet, but that should have initialized fine in initSolution
<subbu>
so, when i was investigation one of those fialures y'day .. i noticed that the variable %block (local-var) had changed to %t_block_49 (a tmp) ... but i didn't look deeply.
<headius>
oh helll
<headius>
I bet it's another goddamn coercion npe
<subbu>
coercion npe?
<subbu>
anyway, hwich is why i suspected that the instrs had changed between the time lva and dce (dce uses lva results for kiling instrs.)
<subbu>
headius, what is the command to repro this?
<headius>
subbu: implicit primitive conversion in Java
<headius>
that is coming back null and then it tries to use it as an int later
<subbu>
headius, right ... that is likely because 'v' is different from what it encounterd during LVA when it initialized it .. which is why i suspected that the cfg morphed because of add-load-store-... in between lva and dce.
<headius>
ahh I see
<subbu>
%block --> %t_block_49
<subbu>
i cannot look more closely now, but if you uncomment the commented out lines in LiveVariableProblem and LiveVariableNode ... you can probably see that.
<subbu>
talking of which, those debugging stmts should probably be behind a debug flag rather than being commented out .. i've used those a fair number of times now.
<subbu>
but, if there is only a single compile thread (not in background), then i don't know why that would happen .. except if the AddLocalVarLoadStore pass didn't properly invalidate the lva state after it got done => dce tries to reuse it and bombs.
<headius>
that's an interesting thought...I will look into that
<subbu>
the latter is possible ... headius actually that may be the bug ... it may not be invalidating lva state properly for all nested closures.
<headius>
it does call invalidate
havenwood has quit [Remote host closed the connection]
mister_solo has quit [Ping timeout: 272 seconds]
<subbu>
right, but as far as i can tell, these NPEs are in blocks, not method scopes.
<headius>
via (new LiveVariableAnalysis()).invalidate(scope);
havenwood has joined #jruby
<subbu>
if i had to bet now, i would say it is a bug in invalidation that is not propagating properly to all nested closures.
<headius>
ahh could be
<headius>
I will try fixing that
iamjarvo has joined #jruby
iamjarvo has quit [Max SendQ exceeded]
iamjarvo has joined #jruby
<subbu>
but, i dont know for sure ... speculating.
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
noop has quit [Ping timeout: 240 seconds]
rsim has quit [Quit: Leaving.]
rsim has joined #jruby
havenwood has quit [Remote host closed the connection]
ludyte has joined #jruby
lanceball is now known as lance|afk
iamjarvo has joined #jruby
thsig has joined #jruby
nipra has quit [Read error: Connection reset by peer]
lance|afk is now known as lanceball
iamjarvo has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
zeroecco has quit [Read error: Connection reset by peer]
<blinsay>
it looks like I can implement it by just calling 'include' no problem on MyThing in ruby, and the java code can call MyThing.intialize no problem as long as they have the same signature
<blinsay>
but I'm trying to have MyThing.new have more than one argument :-/
yfeldblum has quit [Ping timeout: 260 seconds]
JRubyGithub has joined #jruby
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
jruby/master c4ddf94 Chris Seaton: [Truffle] Add a new specialisation for Array#-, tons of extra specs pass.
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/Im-3WA