havenwood has quit [Remote host closed the connection]
e_dub has joined #jruby
marr has quit []
<Antiarc>
headius: q for you - I think the signal handling stuff design could be improved a bit. Currently, if the JVM won't handle a signal, it throws an exception which is then rescued in Signal#trap and a warning message is printed. I think this should be changed to either a) "succeed" (ie, set the callback, etc) but throw the warning (the callback would never be invoked by signal, but could then be retrieved with another call to Signal.trap), or
<Antiarc>
don't catch the exception and let the code hard crash-and-burn and let users catch ti themselves.
<Antiarc>
Thoughts?
<Antiarc>
The current "don't save the callback, don't
<Antiarc>
"don't eat the exception" stuff seems iffy
anaeem1_ has quit [Ping timeout: 265 seconds]
<Antiarc>
(1) preserves existing Ruby semantics better, (2) is less surprising, IMO
<Antiarc>
(2) is easier to implement, though
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] chrisseaton deleted truffle-compiler-options at a28ca3a: http://git.io/pLVU7Q
JRubyGithub has left #jruby [#jruby]
ReactiveIO has quit [Remote host closed the connection]
<Antiarc>
"need to reset code range for shared string too, not only copied strings"
<headius>
I did make that change
<headius>
it was a line shift, and we had the same line
<headius>
hmmm
<headius>
where did that go
<headius>
ugh
<headius>
it's gone
<Antiarc>
hah
<headius>
I think I must have reset some local changes
<headius>
I was fixing four things at once
<Antiarc>
I have the opposite problem, I stash/apply like a madman
<headius>
it's trivial though...found 9882 in MRI log and fixed it
<headius>
same thing
<Antiarc>
so my stash stack is scores deep
<Antiarc>
I'll track it down
<headius>
yeah thanks
<Antiarc>
hm, makeShared19 looks like the culprit, but it already uncondtionally performs `shared.copyCodeRangeForSubstr(this, enc);`
<headius>
hmm
<headius>
what is the value that's not matched there? I haven't even looked at the test
<headius>
I just found the 50-line C patch for this sprintf rational failure :-\
<Antiarc>
the hash is different because str1.ascii_only? != str2.ascii_only?
<Antiarc>
Lemme see what the debugger has to say
<headius>
oh I see
<headius>
ahh yeah that's right
<headius>
you're in the right spot
<headius>
oh yeah, I did make the change
<headius>
but it didn't fix it!
<headius>
if you find the diff in MRI, that's basically the same change
<headius>
I'm confused
<Antiarc>
yeah, I did find the diff, and I'm confused too
<Antiarc>
I'll poke at it
<Antiarc>
Though I just discovered that enumerateChars calls makeShared19 for each character, heh
<headius>
ok, this rational stuff is NOT something I'm going to attempt at 11:30 on a Saturday
<headius>
but this one deserves an issue...someone might just love to port this
<Antiarc>
what are "flags" on RubyString?
<Antiarc>
the original has flags of 32, the substr has flags of 16
<Antiarc>
Looks like flags store the code range, among other things
<headius>
yeah
<headius>
among other things
<headius>
frozen status, taint status
<headius>
object-level stuff
<Antiarc>
so yeah, even after copyCodeRangeForSubstr, the original has CR_VALID and the substr has CR_7BIT
Aethenelle has quit [Quit: Aethenelle]
e_dub has joined #jruby
<Antiarc>
It looks like it sets the substring to CR_7BIT because CR_7BIT is valid for it, even though the parent string is CR_VALID
<Antiarc>
And strHashCode includes value.getEncoding().isAsciiCompatible() && scanForCodeRange() == CR_7BIT
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius pushed 1 new commit to master: http://git.io/20OQ7w
<JRubyGithub>
jruby/master 1bf6c68 Charles Oliver Nutter: Exclude test for sprintf %f formatting of Rational. #2160
JRubyGithub has left #jruby [#jruby]
<Antiarc>
So in both cases, it's UTF-8 so it's ascii-compatible, but the original string's code range is CR_VALID, and the substring's is CR_7BIT, so the substring has a different value added to its hash
<headius>
I can't in good conscience mark any sprintf bug as beginner
<Antiarc>
haha
<headius>
Antiarc: bleh, that might be a deeper issue somewhere then
<headius>
but the test case isn't that complicated, is it?
<Antiarc>
I gave StringLiteral a default of CR_7BIT, which should make it effectively compatible with the pre-PR code when CR isn't declared
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] headius pushed 2 new commits to master: http://git.io/5FOHCg
<JRubyGithub>
jruby/master 1899c26 Chris Heald: Propagate coderange from StrNode -> StringLiteral and use it when building compound strings. Fixes bug9882
<JRubyGithub>
jruby/master 0a399ba Charles Oliver Nutter: Merge pull request #2162 from cheald/string_literal_coderange...
vyorkin has quit [Read error: Connection reset by peer]
vyorkin has joined #jruby
paulswilliamsesq has joined #jruby
paulswilliamsesq has quit [Client Quit]
paulswilliamsesq has joined #jruby
vyorkin has quit [Ping timeout: 255 seconds]
rsim has quit [Quit: Leaving.]
rsim has joined #jruby
yfeldblum has joined #jruby
Hobogrammer has joined #jruby
yfeldblum has quit [Ping timeout: 245 seconds]
<paulswilliamsesq>
Hi all
towski has joined #jruby
subbu has quit [Ping timeout: 244 seconds]
auxbuss has joined #jruby
yfeldblum has joined #jruby
paulswilliamsesq has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
rsim has quit [Quit: Leaving.]
yfeldblum has quit [Ping timeout: 244 seconds]
subbu has joined #jruby
auxbuss has quit [Quit: I'm gone.]
x1337807x has joined #jruby
yfeldblum has joined #jruby
subbu has quit [Ping timeout: 272 seconds]
yfeldblum has quit [Remote host closed the connection]
yfeldblum has joined #jruby
fivebats has quit [Quit: quit]
anaeem1 has joined #jruby
anaeem1 has quit [Ping timeout: 240 seconds]
yfeldblu_ has joined #jruby
x1337807x has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
yfeldblum has quit [Ping timeout: 250 seconds]
vyorkin has joined #jruby
<chrisseaton>
can anyone do me a favour? i need to see what happens when someone tries to do something on a GitHub repo with an account other than mine
<havenwood>
chrisseaton: sure, what should i do?
<chrisseaton>
havenwood: thanks - when you try to open a pull request here https://github.com/OracleLabs/GraalVM/pulls (you don't need a branch, you can just click create PR), do you see a link to our contributor guidelines document?
<havenwood>
chrisseaton: the "Create pull request" button is greyed out, hrm.
<chrisseaton>
havenwood: ok, well I guess that's just as good
<chrisseaton>
havenwood: I guess you do actually have to have a branch to pull to see it - ok, thanks very much though
<havenwood>
no prob
josh-k has joined #jruby
josh-k_ has joined #jruby
josh-k has quit [Ping timeout: 240 seconds]
<havenwood>
chrisseaton: yeah, trying from a branch displayed a 'Please review the guidelines for contributing to this repository.' with link to CONTRIBUTING.md
<chrisseaton>
havenwood: ah that's great - thanks very much that's very helpful
ahadding1 has quit [Ping timeout: 272 seconds]
JRubyGithub has joined #jruby
<JRubyGithub>
[jruby] chrisseaton pushed 1 new commit to master: http://git.io/EmCkmg
<JRubyGithub>
jruby/master 0e93ab9 Chris Seaton: [Truffle] Thread#kill.
JRubyGithub has left #jruby [#jruby]
yfeldblu_ has quit [Remote host closed the connection]
DomKM has quit [Quit: Connection closed for inactivity]
<lopex>
chrisseaton: pauseAllThreadsAndExecute is truffle specific ?
<chrisseaton>
chrisseaton: yes - but I think you could possibly create the same thing with indy's switch point - not sure of the specifics
<chrisseaton>
it's a neat idea isn't it?
<chrisseaton>
it effectively allows you to send a closure from one thread to be executed on another, with zero overhead until you actually use it
<lopex>
chrisseaton: oh, the failover case, right
<lopex>
the fail case can be arbitrary code on artibtrary thread right ?
<chrisseaton>
not sure what you mean by fail case - but it's actually arbitrary code to all threads - and that code can check the thread it is if it wants
<lopex>
the invalidate
<lopex>
chrisseaton: you mean guardWithTest ?
<chrisseaton>
for indy - there's an actual SwitchPoint object that does invalidation like this I think
<chrisseaton>
so not a call site - something else entirely
<chrisseaton>
headius would be able to explain how it works I'm sure
<lopex>
yeah I'm talking about j.l.invoke.SwitchPoint
<lopex>
just asking about thread semantics
josh-k_ has quit [Remote host closed the connection]
<chrisseaton>
yeah, and our logic goes into something like the fail case of that
<lopex>
chrisseaton: back in time in 1.8 times it was a mayhem to mimic mir green scheduling semantics
<lopex>
*mri
diegoviola has quit [Remote host closed the connection]
<lopex>
chrisseaton: and Charlie made all of that work magically
<lopex>
lots of hacks
<lopex>
chrisseaton: the graal repo is huge
<lopex>
chrisseaton: what other languages are going to be homed there ?
<chrisseaton>
it's a fork of OpenJDK, so it's all of the history of that as well
<chrisseaton>
It used to include a bundled version of Ruby, but now it's just Graal
<chrisseaton>
There might be some other repos appearing in the Oracle Labs org soon
<chrisseaton>
(that's not a teaser for some big release, I just mean at some point we'll mirror some other stuff)