skade has quit [Quit: Computer has gone to sleep.]
anaeem1 has quit [Remote host closed the connection]
anaeem1_ has joined #jruby
anaeem1_ has quit [Remote host closed the connection]
<Guilt>
I'll take a look at <Set name="systemClasses">
ludyte has quit [Quit: ludyte]
ludyte has joined #jruby
Guilt has quit [Ping timeout: 246 seconds]
rcvalle has joined #jruby
portertech has joined #jruby
saga65 has quit [Quit: Computer has gone to sleep.]
saga65 has joined #jruby
saga65 has quit [Read error: Connection reset by peer]
x1337807x has joined #jruby
saga65 has joined #jruby
nanoyak has quit [Quit: Computer has gone to sleep.]
x1337807x has quit [Client Quit]
x1337807x has joined #jruby
shellac has quit [Quit: Ex-Chat]
anaeem1 has joined #jruby
yfeldblum has joined #jruby
<dfr|work>
morning.
yfeldblum has quit [Ping timeout: 244 seconds]
e_dub has quit [Quit: ZZZzzz…]
benlovell has joined #jruby
drbobbeaty has joined #jruby
phrinx has joined #jruby
benlovell has quit [Ping timeout: 260 seconds]
skade has joined #jruby
tylersmith has joined #jruby
xcv has quit [Remote host closed the connection]
havenwood has quit [Remote host closed the connection]
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
nanoyak has joined #jruby
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
x1337807x has joined #jruby
tvo1 has joined #jruby
nanoyak has quit [Quit: Computer has gone to sleep.]
lance|afk is now known as lanceball
noop has joined #jruby
elia has joined #jruby
skade has quit [Ping timeout: 260 seconds]
elia has quit [Client Quit]
yfeldblum has joined #jruby
<headius>
good morning!
Hobogrammer has joined #jruby
<headius>
rtyler: are you at the show? we don't have any talks today so we may or may not get over there
<rtyler>
headius: no, I'm slammed at work :(
<rtyler>
headius: you guys can come hack at Lookout if you'd like though, we're at Front/Market St :)
x1337807x has quit [Ping timeout: 258 seconds]
TieSoul has quit [Excess Flood]
TieSoul has joined #jruby
<headius>
hey, that's an idea...I'll run it by enebo
<headius>
I think he needs to work on his Minecraft talk
x1337807x has joined #jruby
yfeldblum has quit [Ping timeout: 272 seconds]
nanoyak has joined #jruby
<subbu>
headius, i doubt you have to time to hack .. but if you do, do pull the latest patches and given them a spin with the JIT.
anaeem1 has quit [Remote host closed the connection]
nanoyak has quit [Read error: Connection reset by peer]
benlovell has joined #jruby
nanoyak has joined #jruby
<headius>
actually I do have time...neither of us are speaking today and we haven't even left the apt yet
<rtyler>
headius: do you have my phone number
anaeem1_ has joined #jruby
<headius>
I don't think so...toss me an email and I'll send mine back
e_dub has joined #jruby
<bbrowning>
1-900-jruby9k
anaeem1_ has quit [Ping timeout: 260 seconds]
<headius>
my google voice number ends with BUTTMEAT
drbobbeaty has joined #jruby
drbobbeaty has quit [Client Quit]
<headius>
subbu: I'm seeing some of these in jit tests: NoVarsDynamicScope does not support scopes with one or more variables
<headius>
I need to clean up my work on non-indy to make sure I didn't break something
etehtsea has quit [Ping timeout: 240 seconds]
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/non-indy-jit cc2c0fb Charles Oliver Nutter: Mostly-complete non-indy support for JIT.
<JRubyGithub>
[jruby] jrubyci created non-indy-jit (+1 new commit): http://git.io/5kSicg
JRubyGithub has left #jruby [#jruby]
drbobbeaty has joined #jruby
havenwood has joined #jruby
kares has joined #jruby
<subbu>
headius, ah, it could be me as well .. so far, blocks weren't getting run with any passes .. now they are enabled. so could be something broken that needs fixing .. you could verify by backing out my commits and see if it changes anything ...
<headius>
yeah I saw your commits for that
<headius>
I will do a clean build without my hacked up changes and test it again with and without your commits
<headius>
is org.jruby.ir.instructions.RecordEndBlockInstr new?
<subbu>
no.
<headius>
oh no, that's just END
<headius>
I haven't implemented that in JIT yet
benlovell has quit [Ping timeout: 272 seconds]
<headius>
definitely still seeing novar error on clean master
<subbu>
but, last i tested, i could run rubyspecs (with all passes but ACP enabled) with just 2 failures ... but on first look, they looked like failures because of dce removing some stuff (valid opts) but specs were trying to testing expectations assuming dead code would be around.
dabradley has quit [Quit: WeeChat 0.3.8]
x1337807x has quit [Ping timeout: 272 seconds]
dabradley has joined #jruby
<headius>
this would be ACP related I think
<headius>
I'm bisecting
x1337807x has joined #jruby
<headius>
subbu: bisecting failed me, but rolling back to zsuper does fix the failures
<headius>
general_spec.rb goes from 7 failures to 13 with your patches
<headius>
I will try to get it running today against interpreter
x1337807x has quit [Ping timeout: 260 seconds]
<subbu>
headius, ok. i'll take a look once that is ready.
<headius>
ok
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
x1337807x has joined #jruby
x1337807x has quit [Max SendQ exceeded]
drbobbeaty has joined #jruby
x1337807x has joined #jruby
dabradley has quit [Quit: WeeChat 0.3.8]
dabradley has joined #jruby
rcvalle has quit [Quit: rcvalle]
yfeldblum has joined #jruby
dumdedum has quit [Ping timeout: 258 seconds]
ludyte has quit [Quit: ludyte]
yfeldblum has quit [Ping timeout: 272 seconds]
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
drbobbeaty has joined #jruby
drbobbeaty has quit [Client Quit]
anaeem1 has joined #jruby
etehtsea has joined #jruby
anaeem1 has quit [Ping timeout: 260 seconds]
nanoyak has quit [Read error: Connection reset by peer]
nanoyak has joined #jruby
benlovell has joined #jruby
viking has joined #jruby
viking has joined #jruby
<mjc_>
huh RubyYaccLexer.identifier is taking up 50%+ of the cpu time on this rake task
<mjc_>
1.7.16
<mjc_>
er
<mjc_>
1.7.15
benlovell has quit [Ping timeout: 245 seconds]
calavera has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
nanoyak has quit [Quit: Computer has gone to sleep.]
x1337807x has quit [Ping timeout: 272 seconds]
benlovell has joined #jruby
subbu is now known as subbu|lunch
benlovell has quit [Ping timeout: 258 seconds]
noop has quit [Ping timeout: 272 seconds]
drbobbeaty has joined #jruby
jrhe_ has quit [Quit: Connection closed for inactivity]
<headius>
mjc_: that is one of the hot spots in parser...lots of eval happening?
drbobbeaty has quit [Client Quit]
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/master ece5da4 Chris Seaton: [Truffle] A couple more constant specs pass.
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/e9SISg
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/master 10d65cd Chris Seaton: [Truffle] Change the dispatch action enum.
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/u2J-Xw
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/master f8dddc8 Charles Oliver Nutter: Make compiler test run against IR interp as well as JIT.
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/FOlAjQ
<headius>
subbu|lunch: I modified general_spec to run both interp and compiler
<headius>
er, interp and jit
<headius>
you can turn off the jit half with COMPILER_TEST=false when running it... there's three failures before your recent changes: two are eval('break'), one appears to be a visibility issue on calling self.a
<headius>
I'm running on master now
<headius>
subbu|lunch: hmmm... master doesn't fail any differently when I just run against interp
<headius>
so there's something about compiler handling of your changes I need to look at
<headius>
that's my command line if you want to look at those three
<headius>
chrisseaton: fire away
<chrisseaton>
I think the Truffle constant lookup mechanism isn't quite right. I know that module includes are done by creating a kind of pretend superclass. What I don't get is that constant lookup also includes the module that the module was defined in, doesn't it? Is that somehow linearized in the same way? How does that work?
e_dub has quit [Quit: ZZZzzz…]
subbu|lunch has quit [Ping timeout: 258 seconds]
subbu|lunch has joined #jruby
subbu|lunch is now known as subbu
drbobbeaty has joined #jruby
nanoyak has joined #jruby
<headius>
chrisseaton: the hierarchy lookup just walks that intermediate superclass and uses its module's constant table
<headius>
it's not unlike method lookup
<headius>
hmmm
<chrisseaton>
yeah, I've just unified constant and method lookup so it uses the same nodes and the same caching
<chrisseaton>
but I don't get the module kind of lexical scope thing going on
<headius>
oh well simple constant lookup proceeds lexically first, and then walks hierarchy if it's not found
<headius>
can you show me an example?
<headius>
the lexical search is the reason we have a global invalidation for constants...we'd need to be able to identify all scopes referencing a class to invalidate on a smaller scale
<chrisseaton>
so that happens first, entirely independently from the superclass lookup?
<headius>
it will search B first and then A, then B's metaclass's superclasses
<headius>
yes
<chrisseaton>
ok thanks - I was trying to think about both searches sort of happening interleaved, that's more simple
<chrisseaton>
is there a conventional name for B's relationship to A? I think I call it the declaring module so far
<headius>
lexical enclosing module
<headius>
or just enclosing module
<headius>
I think it's "parent" in JRuby code relating to module nesting
<chrisseaton>
this stuff is literally more complicated than getting a JIT to work...
<headius>
I know
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<headius>
if you can think of a reasonable way for us to do localized constant invalidation, I'd love to hear it
<headius>
the three main impls all do it the same right now, global invalidators by const name
<chrisseaton>
we do a union of assumptions, so the assumption that a module hasn't changed is the union of its parent and superclass not having changed
<chrisseaton>
that gives us one object to assume on
<chrisseaton>
which i guess isn't as easy when you have version numbers (not sure if you do)
<headius>
for method invalidation we do
<headius>
classes have a serial number that's globally unique and incremented on method table change
<headius>
method table changes cascade down hierarchy spinning all child class serial numbers
<headius>
under indy, it's a bit different, using SwitchPoint on each class... method table change cascades while invalidating those SwitchPoints and installs new ones
<headius>
chrisseaton: yeah, for us that would just be two nested switchpoints
e_dub has joined #jruby
<chrisseaton>
I still have to really get my head around bloody class variables...
<headius>
class variables are a little weird
<headius>
actually, class variables are just like methods
<headius>
they're looked up in hierarchy... first one wins... class var decl adds a new entry to current class
<headius>
I have never bothered to set up better caching for them because they're uncommon
benlovell has quit [Ping timeout: 245 seconds]
<rtyler>
headius: you guys wanna come over or what? I'll have to get the streamers and pinata ready
<headius>
but it could be same as methods
<headius>
rtyler: yeah I'll ask enebo...we're going to grab lunch
<headius>
moving a little slow today after dinner + wine pairings + beer tasting last night :-)
yfeldblum has joined #jruby
<chrisseaton>
I'm making a single unified dispatch node and cache that does constants, methods and class variables, all with support for dynamic names so you can use the same names for metaprogramming and get the same speed
<headius>
chrisseaton: I have to run but I will catch up after lunch
yfeldblum has quit [Remote host closed the connection]
drbobbeaty has quit [Client Quit]
yfeldblum has joined #jruby
drbobbeaty has joined #jruby
drbobbeaty has quit [Client Quit]
drbobbeaty has joined #jruby
drbobbeaty has quit [Client Quit]
zeroecco has joined #jruby
brettporter has joined #jruby
brettporter has joined #jruby
subbu has quit [Ping timeout: 272 seconds]
benlovell has joined #jruby
drbobbeaty has joined #jruby
ludyte has quit [Quit: ludyte]
brettporter has quit [Ping timeout: 245 seconds]
postmodern has joined #jruby
nirvdrum_ has joined #jruby
benlovell has quit [Ping timeout: 240 seconds]
nirvdrum has quit [Ping timeout: 260 seconds]
cremes has quit [Quit: cremes]
cremes has joined #jruby
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
rsim has quit [Quit: Leaving.]
subbu has joined #jruby
x1337807x has joined #jruby
<subbu>
headius, reg. general_spec.rb .. you have to interp with the same of passes that are enabled on JIT to test if it is an underlying IR issue or a JIT issue.
tylersmith has quit [Remote host closed the connection]
brettporter has joined #jruby
x1337807x has quit [Read error: Connection reset by peer]
<subbu>
the other thing i see is that for interp mode, the string is eval-ed ... so that might also disable opts.
tcrawley is now known as tcrawley-away
johnsonch is now known as johnsonch_afk
lanceball is now known as lance|afk
<headius>
subbu: I could certainly add some config/params to set the passes to use, but right now it's using default for both
blake has joined #jruby
<headius>
good point about eval...I guess I'd want to do the same logic that InterpretedIRMethod does
<headius>
rtyler: yeah, not much of one, but definitely a little cloudy today