nicksieg_ has quit [Read error: Connection reset by peer]
nicksieger has quit [Read error: Connection reset by peer]
Aethenelle has joined #jruby
Aethenelle has quit [Read error: Connection reset by peer]
nicksieger has joined #jruby
hobodave has joined #jruby
nicksieger has quit [Read error: Connection reset by peer]
pawnbox has quit [Remote host closed the connection]
nicksieger has joined #jruby
akp has quit [Remote host closed the connection]
camlow325 has joined #jruby
nicksieger has quit [Read error: Connection reset by peer]
jensnockert has quit [Read error: Connection reset by peer]
claudiuinberlin has joined #jruby
jensnockert has joined #jruby
nicksieger has joined #jruby
<chrisarcand>
headius: I have a problem. JRuby seems too cool. I think you guys need to tone it down.
Aethenelle has joined #jruby
<chrisarcand>
... ;) > nobody ever comes in to complain about fun stuff
claudiuinberlin has quit [Remote host closed the connection]
claudiuinberlin has joined #jruby
nicksieg_ has joined #jruby
nicksieger has quit [Read error: Connection reset by peer]
nicksieger has joined #jruby
nicksieg_ has quit [Read error: Connection reset by peer]
thedarkone2 has joined #jruby
akp has joined #jruby
nicksieger has quit [Read error: Connection reset by peer]
akp has quit [Remote host closed the connection]
akp has joined #jruby
nicksieger has joined #jruby
nicksieg_ has joined #jruby
nicksieger has quit [Read error: Connection reset by peer]
bbrowning is now known as bbrowning_away
deobalds has quit [Quit: Computer has gone to sleep.]
pawnbox has joined #jruby
pilhuhn is now known as pil-afk
nicksieger has joined #jruby
nicksieg_ has quit [Read error: Connection reset by peer]
nicksieger has quit [Read error: Connection reset by peer]
jensnockert has quit [Remote host closed the connection]
nicksieger has joined #jruby
shellac has quit [Quit: Leaving]
claudiuinberlin has quit []
nicksieger has quit [Read error: Connection reset by peer]
nicksieger has joined #jruby
<headius>
chrisarcand: hahah
<headius>
etehtsea: yes, we do at least have windows-specific tags
<headius>
I forget exactly how tag exclusion works but I believe all tags get excluded unless you explicitly say to run them
<headius>
we may not be running the "windows" tagged stuff on other platforms either
thedarkone2 has quit [Quit: thedarkone2]
nicksieger has quit [Read error: Connection reset by peer]
nicksieger has joined #jruby
<GitHub100>
[jruby] ivoanjo opened issue #4186: JRuby accepts wrong method arguments when mixing positional with defaults and keywords https://git.io/vPJUZ
nicksieger has quit [Read error: Connection reset by peer]
<headius>
nice
nicksieger has joined #jruby
camlow325 has quit [Quit: WeeChat 1.5]
nicksieger has quit [Read error: Connection reset by peer]
<GitHub150>
jruby/master 69402bc Charles Oliver Nutter: Specialize update for ARGV to preserve its initial javaType....
<headius>
I never knew about JavaCritical JNI bindings on hotspot but it sounds like we could get safepoint-free JNI calls without something specific to graal or truffle
<headius>
jffi already has trivial endpoints that just take primitives
nicksieger has joined #jruby
<headius>
this would make it possible for jnr-ffi to say "bind this C function as a java critical call"
<enebo>
SHIP IT
<enebo>
headius: I like that on non-hotspot it will just use JNI version
<enebo>
headius: well I guess it will start with JNI version until it is native to native calls
<enebo>
right?
<headius>
yeah
<headius>
well it will always be jni but you'll check if it's a supported JVM for JavaCritical
<headius>
in jffi case that will simply mean we have another set of `invoke` calls that are bound JavaCritical, and then we choose which ones to use based on current runtime and user preference
<enebo>
you will check?
<headius>
jffi will check
<enebo>
hmm I just assumed both C entry points exists
<enebo>
and hotspot binds to critical once it is all native
<headius>
hmmm
<headius>
yeah you may be right
<enebo>
headius: I am just trying to decode this helpful but sparse link :)
<headius>
so you just provide a second JavaCritical version in C
<headius>
yeah
<enebo>
I think only limitation is largely it cannot run long and we can use it for many things
<headius>
automatically binding the critical one seems wrong to me now
<headius>
you'd still need to have a separate path that's never critical
<headius>
oh, well I guess that's more a jffi requirement
<headius>
since we use the same JNI endpoint to invoke lots of different types of code
<enebo>
yeah
<enebo>
It requires a decision
<enebo>
I think the same DLL could be loaded twice maybe?
<enebo>
once for JNI only and once for methods which could be called in both ways
<enebo>
then probably an annotation in JFFI which allows marking that
<enebo>
?
<enebo>
brainstorming :)
<chrisseaton>
headius: yeah I had no idea about that
<chrisseaton>
I'll pass that onto the Sulong/NFI people
<headius>
enebo: yeah I think it would have to be opt-in for sure, via a jnr-ffi annotation or whatever
<chrisseaton>
I'd like to re-use the code that makes this work, but get a native function pointer if I can
<chrisseaton>
Maybe I can write my own native code to receive the function pointer, and then hand it back to me - write an identity function in C that returns it as a void*
<headius>
chrisseaton: you pass them as an impl of an interface
<headius>
and define the function to receive the interface
<chrisseaton>
Right, and somewhere it turns that into a real function pointer - can I access that function pointer
<headius>
oh!
<headius>
right ok
<headius>
you can't as far as I know but that ought to be easy to add
<chrisseaton>
do you know which jnr-* layer that lives in?
<headius>
jnr-ffi
<chrisseaton>
ok I'll dig around in there, thanks
deverly has quit [Ping timeout: 264 seconds]
jensnockert has joined #jruby
<chrisseaton>
I continue to be impressed by JNR
<chrisseaton>
(although the memory APIs are a bit crazy, with what looks like custom memory allocators and things)
jensnockert has quit [Ping timeout: 272 seconds]
Aethenelle has joined #jruby
akp_ has joined #jruby
akp_ has quit [Read error: Connection reset by peer]