<GitHub125>
[jruby] kares closed issue #3276: Class with prepended module is its own superclass http://git.io/vsKES
mkristian_ has quit [Ping timeout: 256 seconds]
<kares>
rtyler: actually mysql's official driver has some unique features - multi-host support (built in failover)
<kares>
its much more than a simple driver such as mariadb - which works well as well just by swaping a .jar
<kares>
other reasons might be JNDI ... once you have JNDI+Bogacs you can avoid the AR pool!
yfeldblum has joined #jruby
<kares>
of course it might be slower due conversions but I think those are eliminated for cases such as strings (on master for sure) ... we read bytes directly instead of Java strings
dinfuehr has quit [Ping timeout: 252 seconds]
samphippen has joined #jruby
<kares>
rtyler: essentially you get the entire Java DB ecosystem working for free ... not sure why I need to explain that to you!
sdogruyol has quit [Read error: Connection reset by peer]
yfeldblum has quit [Ping timeout: 246 seconds]
sdogruyol has joined #jruby
<GitHub186>
[jruby] npryce opened issue #3285: "NotImplementedError: waitpid unsupported or native support failed to load" with 9.0.0.0 on Ubuntu if build tools not installed http://git.io/vsNmm
skade has joined #jruby
dinfuehr has joined #jruby
mdedetri_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
erikhatcher has joined #jruby
dinfuehr has quit [Ping timeout: 255 seconds]
drbobbeaty has joined #jruby
sdogruyol has quit [Read error: Connection reset by peer]
sdogruyol has joined #jruby
<GitHub54>
[jruby] chrisseaton pushed 1 new commit to master: http://git.io/vsNC6
<GitHub54>
jruby/master 80578d1 Chris Seaton: [Truffle] Implement ENOTCONN.
<enebo>
headius: ah ok neat so it is actually running all tests now
<enebo>
headius: is this because of excludes
dinfuehr has joined #jruby
<headius>
"this"?
<headius>
there were no excludes...we weren't running the test at all
<enebo>
headius: I was not getting 69 tests yesterdday
<enebo>
headius: I mean when we run the file
<headius>
it was only running partial because about 1/3 of the way through one of the refinements raised an exception, but test/unit still ran what it had defined up to that point on exit
<headius>
so it's not great but it's running a lot more tests now
<headius>
I mentioned it to that Jakub guy to try it today and see if his uses are working
<enebo>
headius: but excluding a test correct the CCE or you fixed something else?
<headius>
I fixed a few things in the ported logic
<enebo>
headius: ok let’s wait for him to get back to us then I guess
<headius>
you were setting up the original class as the metaclass as the refinement instead of the superclass
<headius>
that was the CCE
<headius>
metaclass of...
b_hoffman has left #jruby [#jruby]
<enebo>
oh heh…interesting
<enebo>
headius: did that fix some of the super issues then?
<headius>
the getActivatedRefinementBlahBlah logic was broken too...once I fixed the super logic it would get stuck in an infinite loop
<headius>
I'm not sure
<enebo>
ah ok
<headius>
I don't think we're setting up the frame right yet
<headius>
you can look at TestRefinements.rb to see what's excluded
<headius>
many are probably the same issue
<enebo>
I did flip and flop on some of that logic a few times after the port to make more tests pass
<headius>
yeah, I went back to MRI to walk through it
dinfuehr has quit [Ping timeout: 244 seconds]
<headius>
I think I am getting a reasonable mental model of how it works
<headius>
it's a pseudo-subhierarchy basically
<headius>
so that supers and things appear to do the right thing, but that subhierarchy lives only at the scope level
<enebo>
I call that the magic hierarchy
<headius>
overlay is a pretty good term
<headius>
yeah that too
<headius>
I could probably draw a picture of it now
<headius>
shouldn't be hard to fix up the rest
<enebo>
I feel like I understand it until I try and fix a test
<headius>
oh, no JIT work yet either, but I could get it basically working today
<headius>
just fall back on JVM6 logic and the right call site type
<enebo>
well if we are waiting for some feedbac anyways I guess it would not hurt although better interp passing would probably have a higher payoff
<headius>
yeah
<enebo>
in regards to at least being able to say we support it
<headius>
there's call protocol issues getting jit going too...I'm not sure if ACP is wired to know about refinements
<headius>
and RefinedCallSite requires there be a DynamicScope pushed rather than taking it as an argument
<headius>
it = StaticScope for the refinements
<headius>
so I will set up JIT to kick it out and see if I can improve interp today then
<enebo>
headius: ACP is not no
<headius>
ACP could just be full scope deopt when it sees refinements active but I'd rather wait and do it right
<enebo>
headius: but woulnd’t dynscope.getStaticScope() be the right staticscope?
<headius>
it is
<headius>
but JIT bodies already have StaticScope available directly
<headius>
there's just no way to get it into RefinedCallSite right now
<enebo>
I see
<headius>
once we have that right I can do indy magic with refined sites too
<headius>
cache the scope permanently, add a SwitchPoint for refinement changes, and away we go
<enebo>
yeah so even within potentially rfined area only the sites which are really refined will have any penalty which is pretty awesome
<headius>
I think I can get it down to no penalty
<headius>
other than a chain of SwitchPoint for all enclosing scopes that have been refined
<headius>
usually will be only one, I hope to god
<headius>
using within using seems like a nightmare
<headius>
so, you have at least one bullet for 9.0.1 :-)
<enebo>
Hmmm makes me wonder if we can bubble parent scopes up to children scopes
<headius>
what do you mean?
<enebo>
it is lexical…seems like those refined tables can be hoisted
<enebo>
if you have two nested refined scopes and they both modify the same type I guess then both could be used to refine different methods
vtunka has joined #jruby
<enebo>
If we need to walk statiic scopes down looking for refinement matches we should be able to make top scope some magical table or all nested scopes so you only check current scope
<enebo>
“magical” is a term I use a lot talking about refinements
<headius>
ahh yeah maybe
<headius>
the different scopes are different method search entry points
<enebo>
headius: My main wonderment in that idea is if two static scopes has refinements for Foo but different refined methods then it would need to merge that as well
<enebo>
headius: they do but it is from current scope down always
<headius>
for indy it will just be a matter of grabbing SwitchPoint from each scope in turn and stitching them together
<headius>
I believe they should reduce to a single safepoint
<enebo>
headius: you can no doubt have n switchpoints
<headius>
right
<enebo>
headius: I am just thinking if we can use the basic datastrcture to solve this
<headius>
translating that to non-indy calling is harder
<headius>
we could still use SwitchPoints
<headius>
just do it manually
<enebo>
I guess this is too much to think about right now anyways
<headius>
heh yeah
<headius>
we could also always do indy for refined sites in JIT, at least
<enebo>
Let’s see if anyone uses the things
<headius>
since it will wire up better than this search
<headius>
might be the first case where indy always makes sense
<enebo>
I think hotness is the new hotness
<enebo>
If it is slow before JIT and it is not hot did the bear shit in the woods?
sdogruyo_ has quit [Ping timeout: 246 seconds]
<enebo>
This line I think also applies to our inlining strategy :)
shellac_ has quit [Quit: Computer has gone to sleep.]
<GitHub46>
[jruby] headius pushed 1 new commit to master: http://git.io/vsA46
<GitHub46>
jruby/master 7d6a4e1 Charles Oliver Nutter: Disable JIT for refined call sites for now.
<headius>
hotness is cool
<enebo>
headius: but weigh in on #3228. bbrowning cannot run integs as it is
sdogruyol has joined #jruby
<sluukkonen>
made the issue headius
<sluukkonen>
looks like MRI 2.2.2 also throws an error
<sluukkonen>
not sure what's supposed to happen anymore
colinsurprenant has joined #jruby
<enebo>
sluukkonen: from your question I am confused. I thought we only loaded libc and libcrypt
<enebo>
if you are nprice that is :)
<sluukkonen>
welp
mkristian_ has joined #jruby
<enebo>
return new String[] { "libc.so.6", "crypt" };
mkristian__ has quit [Quit: This computer has gone to sleep]
<rtyler>
kares: heh, it's not that I need it specifically explained, more looking for unique functionalities and features from ar-jdbc
<nirvdrum>
headius: I don't suppose you've seen segfaults from __nss_lookup_function before, have you? One of the Labs guys trying out JRuby is getting a segfault with socket code both with and without Truffle.
<headius>
sure haven't
<nirvdrum>
Without stems from: j jnr.netdb.NativeProtocolsDB$LinuxLibProto$jnr$ffi$2.getprotobyname_r(Ljava/lang/String;Ljnr/netdb/NativeProtocolsDB$UnixProtoent;Ljnr/ffi/Pointer;Ljnr/ffi/NativeLong;Ljnr/ffi/Pointer;)I+223
<nirvdrum>
With, ends up from a getaddrinfo call.
<headius>
got a crash report?
<nirvdrum>
Yeah, that's what I'm looking at.
mkristian__ has joined #jruby
<nirvdrum>
I'm getting to the point where I may need to disassemble whatever the memory dump for the PC is just so I can maybe correlate back to a line of C in glibc.
<nirvdrum>
If there's a smarter way of doing this, I'm all ears (eyes).
mkristian_ has joined #jruby
<mkristian_>
enebo, headius just read the thread above - shall quickly add jruby-jars to the list profile ?
mkristian__ has quit [Ping timeout: 246 seconds]
<headius>
nirvdrum: poking around this sounds like a possible bug in whatever nss lib is installed on that system
<headius>
I see libc bug reports and patches about segv in __nss_lookup_function
<nirvdrum>
Same here. Most seem from the mid 2000s. This is an Ubuntu 14.04 box. It's not been kept completely up to date, but it's modern enough.
erikhatcher has quit [Quit: erikhatcher]
skade has quit [Quit: Computer has gone to sleep.]
dalton has joined #jruby
dalton is now known as Guest16633
dumdedum has quit [Ping timeout: 252 seconds]
skade has joined #jruby
vtunka has quit [Quit: Leaving]
Guest16633 is now known as asd
asd has left #jruby [#jruby]
skade has quit [Quit: Computer has gone to sleep.]
camlow325 has joined #jruby
subbu has joined #jruby
rcvalle has joined #jruby
oblutak has joined #jruby
dinfuehr has joined #jruby
dinfuehr has quit [Ping timeout: 240 seconds]
mdedetrich has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
lea has joined #jruby
camlow32_ has joined #jruby
camlow325 has quit [Ping timeout: 250 seconds]
lea has quit [Quit: bye]
lea has joined #jruby
nirvdrum has quit [Ping timeout: 246 seconds]
lea has joined #jruby
lea has quit [Changing host]
<GitHub149>
[jruby] eregon pushed 2 new commits to master: http://git.io/vsxGh