drbobbeaty has quit [Read error: Connection reset by peer]
drbobbeaty has joined #jruby
drbobbeaty has quit [Read error: Connection reset by peer]
drbobbeaty has joined #jruby
tcrawley-away is now known as tcrawley
xcv has joined #jruby
bbrowning_away is now known as bbrowning
vtunka has joined #jruby
vtunka has quit [Client Quit]
xcv has quit [Remote host closed the connection]
wojtczak has joined #jruby
wojtczak has left #jruby ["Leaving..."]
xcv has joined #jruby
ludyte has joined #jruby
benlovell has joined #jruby
pellis has joined #jruby
pellis has joined #jruby
<pellis>
hi all
<pellis>
what is the reason i get (NoMethodError) undefined method `java_import' for main:Object ?
<pellis>
on jruby 1.6.7
drbobbeaty has quit [Ping timeout: 272 seconds]
tenderlove has joined #jruby
tenderlove has quit [Remote host closed the connection]
vtunka has joined #jruby
lance|afk is now known as lanceball
havenwood has joined #jruby
drbobbeaty has joined #jruby
havenwood has quit [Ping timeout: 264 seconds]
josh-k has joined #jruby
yfeldblum has quit [Remote host closed the connection]
brettporter has quit [Remote host closed the connection]
josh-k_ has quit [Ping timeout: 250 seconds]
josh-k_ has joined #jruby
anaeem1 has quit [Remote host closed the connection]
josh-k has quit [Ping timeout: 258 seconds]
tcrawley is now known as tcrawley-away
drbobbeaty has quit [Ping timeout: 244 seconds]
xxneolithicxx has joined #jruby
<xxneolithicxx>
hi all, have a few questions on porting a ruby app to run successfully on Jruby in order to get real threading functionality. I notice that there are some alternative gems jruby-openssl etc and others for ones that were C based in MRI. When using these alternative gems in JRuby does the require line in the ruby have to change or is it the same?
nirvdrum has joined #jruby
nirvdrum has joined #jruby
postmodern has quit [Quit: Leaving]
josh-k has joined #jruby
josh-k__ has joined #jruby
josh-k_ has quit [Ping timeout: 260 seconds]
yfeldblum has joined #jruby
johnsonch_afk is now known as johnsonch
josh-k has quit [Ping timeout: 240 seconds]
yfeldblu_ has joined #jruby
drbobbeaty has joined #jruby
yfeldblum has quit [Ping timeout: 240 seconds]
<kares>
xxneolithicxx: it's the same - just do not worry bout anything until you hit some C-extension gems (require 'openssl' will work just fine under JRuby) ... also if you're in Rails you will need activerecord-jdbc-adapter
<mberg>
You shouldn't need to change the require. The gem name is still openssl; it just loads a jar instead of a C extension.
yfeldblu_ has quit [Ping timeout: 245 seconds]
erikhatcher has quit [Ping timeout: 272 seconds]
erikhatcher has joined #jruby
xcv has quit [Remote host closed the connection]
colinsurprenant has joined #jruby
havenwood has joined #jruby
josh-k__ has quit [Remote host closed the connection]
<xxneolithicxx>
i think the only one im using now that uses C extensions is mechanize
havenwood has quit [Client Quit]
JRubyGithub has joined #jruby
<JRubyGithub>
jruby/master e0ca0a4 Chris Seaton: [Truffle] Big reorg of module, class and lookup system.
<JRubyGithub>
jruby/master 796189a Chris Seaton: [Truffle] No need to check for singleton classes in symbols - they're not allowed.
<JRubyGithub>
[jruby] jrubyci pushed 2 new commits to master: http://git.io/jJTC7Q
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
Aethenelle has joined #jruby
drbobbeaty has joined #jruby
tylersmith has joined #jruby
benlovell has quit [Ping timeout: 260 seconds]
<chrisseaton>
TieSoul: have you tried win32console
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
e_dub has quit [Read error: Connection reset by peer]
e_dub has joined #jruby
vtunka has quit [Quit: Leaving]
drbobbeaty has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
shellac has quit [Quit: Ex-Chat]
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
zorak8 has joined #jruby
yfeldblum has joined #jruby
yfeldblum has quit [Ping timeout: 260 seconds]
Aethenelle has quit [Quit: Aethenelle]
Aethenelle has joined #jruby
Aethenelle has quit [Client Quit]
Aethenelle has joined #jruby
saga65 has quit [Quit: Computer has gone to sleep.]
saga65 has joined #jruby
<Aethenelle>
headius: https://github.com/jruby/jruby/pull/2003 should be ready to go. I don't recognize the failing tests as FFI related but I haven't fully traced them just yet.
<headius>
ok great
<headius>
will try to get it in later today
saga65 has quit [Ping timeout: 250 seconds]
drbobbeaty has joined #jruby
Hobogrammer has joined #jruby
anaeem1_ has joined #jruby
<Aethenelle>
it passes spec:ffi19 but 18 isbroken w/ an error about Pathname
skade has joined #jruby
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
elia has quit [Quit: Computer has gone to sleep.]
skade has quit [Ping timeout: 258 seconds]
phrinx has joined #jruby
skade has joined #jruby
yfeldblum has joined #jruby
nanoyak has joined #jruby
tcrawley-away is now known as tcrawley
yfeldblum has quit [Ping timeout: 272 seconds]
e_dub has quit [Quit: ZZZzzz…]
mister_solo has quit [Ping timeout: 272 seconds]
Hobogrammer has quit [Ping timeout: 260 seconds]
robbyoconnor has quit [Ping timeout: 260 seconds]
x1337807x has joined #jruby
x1337807x has quit [Max SendQ exceeded]
x1337807x has joined #jruby
x1337807x has quit [Ping timeout: 245 seconds]
skade has quit [Ping timeout: 240 seconds]
nanoyak has quit [Quit: Computer has gone to sleep.]
noop has joined #jruby
x1337807x has joined #jruby
drbobbeaty has joined #jruby
x1337807x has quit [Ping timeout: 272 seconds]
x1337807x has joined #jruby
x1337807x has quit [Max SendQ exceeded]
xcv has joined #jruby
Aethenelle has quit [Ping timeout: 246 seconds]
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
x1337807x has joined #jruby
drbobbeaty has joined #jruby
drbobbeaty has quit [Read error: Connection reset by peer]
drbobbeaty has joined #jruby
postmodern has joined #jruby
Aethenelle has joined #jruby
Hobogrammer has joined #jruby
yfeldblum has joined #jruby
yfeldblum has quit [Ping timeout: 272 seconds]
e_dub has joined #jruby
iamjarvo has joined #jruby
drbobbeaty has quit [Ping timeout: 240 seconds]
gaustin has joined #jruby
drbobbeaty has joined #jruby
SynrG has quit [Remote host closed the connection]
SynrG has joined #jruby
SynrG has quit [Changing host]
SynrG has joined #jruby
anaeem1_ has quit [Remote host closed the connection]
JRubyGithub has joined #jruby
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/kT9AeA
<JRubyGithub>
jruby/master c6627b9 Josef Haider: [Truffle] Start to use Rubinius for core library implementation.
colinsurprenant has quit [Quit: colinsurprenant]
<chrisseaton>
Josef is a master's student at JKU funded by Oracle, for the record
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
yfeldblum has joined #jruby
anaeem1 has quit [Remote host closed the connection]
drbobbeaty has quit [Ping timeout: 240 seconds]
colinsurprenant has joined #jruby
Aethenelle has joined #jruby
yfeldblum has quit [Ping timeout: 258 seconds]
anaeem1_ has joined #jruby
tharindu has joined #jruby
drbobbeaty has joined #jruby
subbu is now known as subbu|lunch
<chrisseaton>
sorry we broke Java 7, just fixing now...
<lopex>
chrisseaton: oh that's an old channel banter
havenwood has joined #jruby
<lopex>
btw, wowsers, I wonder about rubinius core impl perf
<lopex>
on truffle
<chrisseaton>
we're partly doing it for performance - it's easier for us to optimise Ruby code than Java code
<lopex>
yeah I understand
<lopex>
much less opaque
<lopex>
*for ruby semantics
<chrisseaton>
the reason we haven't done it earlier is it's a little harder to work with and debug, but we're ready now - hopefully this is a tipping point for Truffle completeness
<chrisseaton>
eg Josef took the Rubinius Struct implementation, put it in Truffle, and got all the struct specs passing in one go
<lopex>
wowo
<lopex>
well that's suprprising and not surpprising at the same time
ivan\_ has joined #jruby
<lopex>
chrisseaton: is truffle able to inline vm guts just like maxine is supposed to do ?
ivan\ has quit [Read error: Connection reset by peer]
<lopex>
chrisseaton: I guess allocation routine inlining in hotspot is just an intrinsic still right ?
<chrisseaton>
Truffle actually will inline until you tell it to stop - we have an annotation that says 'stop inlining here'
ivan\_ is now known as ivan\
<lopex>
chrisseaton: so truffle guts being inlined with ruby code etc, and it's all deopted just like switchpoint works ?
calavera has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<chrisseaton>
yeah - we call switch points 'assumptions'
<lopex>
why stop ? is it to stop code bloat ?
<lopex>
cache pollution etc ?
<chrisseaton>
Code bloat - and also the partial evaluator can't handle recursion
Hobogrammer has quit [Quit: WeeChat 0.4.3]
nirvdrum has quit [Ping timeout: 245 seconds]
<chrisseaton>
a good example of inlining is Fixnum#/ - this is quite complicated in Ruby, so it needs several instructions. In JRuby this is a Java method, in Rubinius a C++ method, and in both cases it's a black box to the compiler. In Truffle we partially evaluate through the Fixnum#/ method and can emit simpler cases if you don't use all the functionality
<lopex>
yeah, something like an intrinsic
<lopex>
I guess
<lopex>
but that's just those impls boundaries
mister_solo has quit [Ping timeout: 272 seconds]
<lopex>
rubinius/jruby
<lopex>
chrisseaton: does truffle support something like switch instruction ?
<chrisseaton>
sorry not sure what you mean by switch instruction? the Ruby case statement?
<lopex>
yeah, but on truffle primitive level ?
rsim has joined #jruby
<lopex>
chrisseaton: I guess I mean in other languages you'd need fast jump tables/balanced tree searches
<lopex>
just like in normal compilers
<chrisseaton>
oh right - we desugar switch to a series of if's I think
<chrisseaton>
and then we rely on Graal to compile that efficiently
<lopex>
ok
<lopex>
chrisseaton: since most compilers will do jump values density check and decide if to go with jump tables or balnced trees
<chrisseaton>
but in Ruby the semantics of switch is to do a series of tests - so you can't just jump into a case statement match, as the earlier test methods might have side effects which you need to run
<lopex>
but yeah in ruby case is just a hash lookup
<lopex>
at least MRI does so
<lopex>
an jruby too afaik
<chrisseaton>
I think it's just a series of === calls isn't it? can you point me at some code if it isn't?
<chrisseaton>
I thought for each case it does === in turn
<lopex>
chrisseaton: if === isnt overriden then it's a identity hash lookup
<lopex>
*an
<chrisseaton>
ah - maybe I'll look at copying that optimisation - thanks
<lopex>
chrisseaton: I can find it for you in mri
<chrisseaton>
I don't think I have a benchmark using case yet, so I probably haven't look at it in much depth
<chrisseaton>
if it isn't in a benchmark, I just do anything that's slow as long as it's correct
subbu|lunch has quit [Remote host closed the connection]
<lopex>
but that's like all the other mri optz
<lopex>
they keep global "deoptimized operation" table
Hobogrammer has joined #jruby
<lopex>
chrisseaton: and yeah, it changes ruby semantics
<lopex>
but they went with that
<chrisseaton>
ah I see - they do this for those classes because they can't have singleton classes, so it's simpler
<chrisseaton>
I'm doubtful that a lookup in a hash table is going to be faster than a series of machine code tests though - this might be one of those optimisations that works for MRI but is counterproductive when you have a powerful JIT
drbobbeaty has quit [Ping timeout: 260 seconds]
elia has joined #jruby
drbobbeaty has joined #jruby
ephemerian has joined #jruby
tharindu_ has joined #jruby
tharindu has quit [Ping timeout: 245 seconds]
<lopex>
chrisseaton: I guess that depends on switch size
JRubyGithub has joined #jruby
JRubyGithub has left #jruby [#jruby]
<JRubyGithub>
[jruby] jrubyci pushed 1 new commit to master: http://git.io/FOSdeQ
<JRubyGithub>
jruby/master 0a0adb6 Chris Seaton: [Truffle] Remove accidental use of Java 8 time.
<lopex>
chrisseaton: but I guess the question is if one case becomes dominant is it going to be inlined alone ?
cagedwisdom has joined #jruby
rsim has joined #jruby
<cagedwisdom>
how hard is it to package a random gem for jruby?
anaeem1_ has quit [Remote host closed the connection]
subbu has joined #jruby
calavera has joined #jruby
zeroecco has joined #jruby
nirvdrum has joined #jruby
<kares>
cagedwisdom: how hard is it for plain ruby ?