jimbaker has joined #jruby
jimbaker has quit [Changing host]
jimbaker has joined #jruby
camlow325 has quit [Quit: WeeChat 1.5]
<GitHub153> [jruby] ryannevell opened issue #4077: Recursive regex compile fails: (RegexpError) invalid group name <0> https://git.io/v6ani
skade has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
dling has joined #jruby
jimbaker has quit [Ping timeout: 252 seconds]
jimbaker has joined #jruby
jimbaker has quit [Changing host]
jimbaker has joined #jruby
etehtsea has joined #jruby
zacts has joined #jruby
jimbaker has quit [Ping timeout: 244 seconds]
<GitHub8> [jruby] etehtsea opened pull request #4078: Bump racc. Fixes #4071 (master...bump-racc) https://git.io/v6aBm
jimbaker has joined #jruby
jimbaker has quit [Changing host]
jimbaker has joined #jruby
tjohnson has quit [Quit: Connection closed for inactivity]
etehtsea has quit [Ping timeout: 240 seconds]
cpuguy83 has quit [Ping timeout: 252 seconds]
cpuguy83 has joined #jruby
jimbaker has quit [Ping timeout: 265 seconds]
tjohnson has joined #jruby
jimbaker has joined #jruby
jimbaker has quit [Changing host]
jimbaker has joined #jruby
etehtsea has joined #jruby
raeoks has joined #jruby
pawnbox has joined #jruby
jimbaker has quit [Ping timeout: 276 seconds]
jimbaker has joined #jruby
jimbaker has quit [Changing host]
jimbaker has joined #jruby
pawnbox has quit [Ping timeout: 265 seconds]
pawnbox has joined #jruby
thedarkone2 has quit [Quit: thedarkone2]
prasunanand has quit [Ping timeout: 240 seconds]
<GitHub79> [jruby] bjfish pushed 1 new commit to truffle-head: https://git.io/v6agO
<GitHub79> jruby/truffle-head c1fcd39 Brandon Fish: [Truffle] Trying another bulk untagging of specs
halorgium has quit [Ping timeout: 258 seconds]
etehtsea has quit [Ping timeout: 265 seconds]
<GitHub23> [jruby] kares closed issue #3861: Double packaging of `org/joda/time/format/messages.properties` in jruby-jars https://git.io/vwhVc
<GitHub49> [jruby] kares pushed 2 new commits to jruby-1_7: https://git.io/v6a2G
<GitHub49> jruby/jruby-1_7 0dc6fa9 Karol Bucek: Merge pull request #4062 from camlow325/add-debug-log-messages-to-jrubyclassloader-find-class...
<GitHub49> jruby/jruby-1_7 95b1ff4 Jeremy Barlow: Write a log message when findClass IOException is caught
<GitHub64> [jruby] kares closed pull request #4062: Write a log message when findClass IOException is caught (jruby-1_7...add-debug-log-messages-to-jrubyclassloader-find-class) https://git.io/v680B
<travis-ci> jruby/jruby (truffle-head:c1fcd39 by Brandon Fish): The build is still failing. (https://travis-ci.org/jruby/jruby/builds/152580320)
yfeldblum has quit [Ping timeout: 250 seconds]
halorgium has joined #jruby
jimbaker has quit [Ping timeout: 240 seconds]
jimbaker has joined #jruby
jimbaker has quit [Changing host]
jimbaker has joined #jruby
yfeldblum has joined #jruby
yfeldblum has quit [Remote host closed the connection]
yfeldblum has joined #jruby
tjohnson has quit [Quit: Connection closed for inactivity]
prasunanand has joined #jruby
TheWhip has joined #jruby
pitr-ch has joined #jruby
pitr-ch_ has joined #jruby
pitr-ch has quit [Read error: Connection reset by peer]
eugenmayer has quit [Remote host closed the connection]
yfeldblum has quit [Ping timeout: 250 seconds]
vtunka has joined #jruby
pil-afk is now known as pilhuhn
skade has joined #jruby
etehtsea has joined #jruby
vtunka has quit [Quit: Leaving]
yfeldblum has joined #jruby
vtunka has joined #jruby
skade has quit [Quit: Computer has gone to sleep.]
raeoks has quit [Quit: My Mac has gone to sleep. ZZZzzz…]
shellac has joined #jruby
<GitHub96> [jruby] etehtsea opened pull request #4079: Fix link to mailing lists (master...fix-mailing-lists-link) https://git.io/v6a11
<GitHub180> [jruby] mkristian closed pull request #4079: Fix link to mailing lists (master...fix-mailing-lists-link) https://git.io/v6a11
<GitHub189> [jruby] mkristian pushed 2 new commits to master: https://git.io/v6aMt
<GitHub189> jruby/master 45ed5f5 Konstantin Shabanov: Fix link to mailing lists
<GitHub189> jruby/master b433c55 Christian Meier: Merge pull request #4079 from etehtsea/fix-mailing-lists-link...
yopp has quit [Ping timeout: 276 seconds]
claudiuinberlin has joined #jruby
vtunka has quit [Quit: Leaving]
vtunka has joined #jruby
TheWhip has quit [Remote host closed the connection]
TheWhip has joined #jruby
TheWhip has quit [Ping timeout: 276 seconds]
pitr-ch_ has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
pitr-ch has joined #jruby
TheWhip has joined #jruby
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
yfeldblum has quit [Ping timeout: 250 seconds]
<travis-ci> jruby/jruby (master:b433c55 by Christian Meier): The build is still failing. (https://travis-ci.org/jruby/jruby/builds/152610412)
yopp has joined #jruby
<ebarrett> chrisseaton: about?
etehtsea has quit [Quit: Computer has gone to sleep.]
prasunanand has quit [Quit: Leaving]
drbobbeaty has joined #jruby
pawnbox has quit [Ping timeout: 250 seconds]
pawnbox has joined #jruby
pilhuhn is now known as pil-afk
TheWhip has quit [Remote host closed the connection]
TheWhip has joined #jruby
<chrisseaton> ebarrett: hello
<ebarrett> ah!
<ebarrett> yeah, i'm failing at making a bigum :P
<ebarrett> see anything wrong with this?
<ebarrett> problem is, maven gives a useless error message
<ebarrett> i just pasted it in the same gist
etehtsea has joined #jruby
<ebarrett> chrisseaton: im going to get some lunch now, but will bbl
<chrisseaton> Will try it soon
<ebarrett> thanks
etehtsea has quit [Ping timeout: 244 seconds]
jkjkjkj has joined #jruby
<jkjkjkj> hi all
jkjkjkj has quit [Client Quit]
etehtsea has joined #jruby
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
pil-afk is now known as pilhuhn
bbrowning_away is now known as bbrowning
johnsonch_afk is now known as johnsonch
judfcv has joined #jruby
<judfcv> yo guys
<judfcv> you can hack with jruby right
<judfcv> how do you guys do it
judfcv has quit [Client Quit]
pawnbox has quit [Remote host closed the connection]
pawnbox has joined #jruby
<ebarrett> chrisseaton: back
<chrisseaton> ebarrett: RubyBignum.newBignum(RunTime.getRuntime(), bi); - that's a JRuby thing, not a JRuby+Truffle thing
<ebarrett> ah
<chrisseaton> public long ReadTSRegStop() { - the first capital letter there might be confusing our code generator as well
<chrisseaton> and ReadTSRegStart
<ebarrett> ok
<ebarrett> i was wondering how i should name those actually
<ebarrett> do the need a special name, or it just uses the first non-constructor it finds?
<chrisseaton> I'd just call them read or something short
<chrisseaton> createBignum(BigInteger value) is how you create your bignum
<ebarrett> i see
* ebarrett tries
<ebarrett> is there a way to see the compilation error
<ebarrett> maven hides it
<ebarrett> so i don't really know what is wrong
TheWhip has quit [Remote host closed the connection]
<ebarrett> chrisseaton: the return type is DynamicObject?
thedarkone2 has joined #jruby
blandflakes has joined #jruby
jimbaker has quit [Ping timeout: 260 seconds]
etehtsea has quit [Quit: Computer has gone to sleep.]
<chrisseaton> it can be anything you want
<chrisseaton> Maven does indeed hide compilation errors that we are interested in
<chrisseaton> Where is your branch? I'll get it working for you
<ebarrett> it's a local patch which gets applied automagically
<ebarrett> moment, and I will link it
jimbaker has joined #jruby
jimbaker has quit [Changing host]
jimbaker has joined #jruby
<ebarrett> why would they hide the errors? :P
<chrisseaton> What commit should I apply that on?
<ebarrett> JRUBY_V=graal-vm-0.12-build-pack-compat
<ebarrett> ^this tag
<chrisseaton> Speak to me before you try and update to something newer in the future (I'd recommend you don't)
<ebarrett> we are not going to for now
<ebarrett> why, hell ensues?
<chrisseaton> Yes - either stay where you are, or merge every week, in between doesn't really seem to work ever
<ebarrett> fast moving targets
pitr-ch has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<ebarrett> interested to know how you find what is wrong, so I can debug myself next time...
pitr-ch has joined #jruby
etehtsea has joined #jruby
<GitHub57> [jruby] eregon pushed 2 new commits to truffle-head: https://git.io/v6V8J
<GitHub57> jruby/truffle-head 79bf4be Benoit Daloze: Clarify $~ spec by using different variables for different cases
<GitHub57> jruby/truffle-head 27c4474 Benoit Daloze: [Truffle] Add a couple Digest methods from MRI stdlib.
<ebarrett> coffee, back in a moment
<chrisseaton> BigInteger bi = BigInteger(u64_in_s64); that's not even valid Java code
TheWhip has joined #jruby
<ebarrett> oh?
<ebarrett> args are wrong, i see
<ebarrett> eh, i wish i couuld see the compile error and I would have been able to fix thiss
tjohnson has joined #jruby
__hudson__ has quit [Remote host closed the connection]
<ebarrett> those lines should be: BigInteger bi = BigInteger.valueOf(u64_in_s64);
<ebarrett> but there is something else...
<chrisseaton> BigInteger.valueOf() is what you want
<chrisseaton> Sorry saw you posted that
<ebarrett> aye
<chrisseaton> But it compiles now for me
<chrisseaton> (Posted a patch to yours)
etehtsea has quit [Quit: Computer has gone to sleep.]
etehtsea has joined #jruby
<ebarrett> chrisseaton: thanks
<ebarrett> i need to figure out why this is not building for me now...
<ebarrett> is there really no way to ask maven to show the compilation error?
<ebarrett> it's not -X or -e
<chrisseaton> My patch doesn't build for you?
<chrisseaton> Did you try a clean build?
<chrisseaton> We've fixed the error message problem, but it's on a more recent commit and can't easily be backported
<ebarrett> just trying that as we speak
camlow325 has joined #jruby
<ebarrett> you changed 4 BigInteger constructors, and that's all, right?
<ebarrett> hah, a clean build worked
<ebarrett> eh maven...
<ebarrett> chrisseaton: thankyou so much, really
<ebarrett> i know the last thing you need is java noobz like me bothering you ;)
<chrisseaton> it's np
<ebarrett> now we have TSR values: 16368487716, 6827455837, 6763598328, 6699273833, ...
<ebarrett> clearly some optimisation on iteration 1 there :)
<chrisseaton> Is that working though?
<ebarrett> i believe so
<ebarrett> these numbers have just been collected via the interface you just fixed for me :)
camlow325 has quit [Quit: WeeChat 1.5]
camlow325 has joined #jruby
<ebarrett> now on to HHVM, which is always an excellent source of hair loss...
<headius> g'day
<headius> donV: around?
jimbaker has quit [Ping timeout: 244 seconds]
jimbaker has joined #jruby
jimbaker has quit [Changing host]
jimbaker has joined #jruby
vtunka has quit [Quit: Leaving]
shellac has quit [Quit: Leaving]
<GitHub155> [jruby] headius opened issue #4080: Null value getting into packed array https://git.io/v6Voh
<GitHub90> [jruby] nirvdrum force-pushed truffle-fix_match_backref from 97b874f to a24037f: https://git.io/v6uWv
<GitHub90> jruby/truffle-fix_match_backref 5f91e6b Kevin Menard: [Truffle] Hide frame-local global variables from the local_variables list.
<GitHub90> jruby/truffle-fix_match_backref da6745f Kevin Menard: [Truffle] Simplified the RegexpNodes#matchCommon call a bit by removing support for 'operator' mode.
<GitHub90> jruby/truffle-fix_match_backref 187cfde Kevin Menard: [Truffle] Replaced calls to Regexp.last_match= with a direct primitive invoke to cut out an extra frame.
<headius> donV: I opened that bug
etehtsea has quit [Quit: Computer has gone to sleep.]
tcrawley-away is now known as tcrawley
tcrawley is now known as tcrawley-away
<GitHub124> [jruby] nirvdrum opened pull request #4081: Truffle fix match backref (truffle-head...truffle-fix_match_backref) https://git.io/v6VX8
prasunanand has joined #jruby
pawnbox has quit [Remote host closed the connection]
zacts has quit [Quit: WeeChat 1.4]
zacts has joined #jruby
etehtsea has joined #jruby
zacts is now known as Guest42865
Guest42865 has quit [Client Quit]
bbrowning is now known as bbrowning-away
bbrowning-away is now known as bbrowning_away
<headius> kares: around?
<travis-ci> jruby/jruby (truffle-fix_match_backref:a24037f by Kevin Menard): The build is still failing. (https://travis-ci.org/jruby/jruby/builds/152719412)
enebo has joined #jruby
<GitHub117> [jruby] headius pushed 1 new commit to master: https://git.io/v6VDX
<GitHub117> jruby/master 150c83d Charles Oliver Nutter: Use the utility methods, so we can centralize all packed const.
pawnbox has joined #jruby
pilhuhn is now known as pil-afk
<eregon> ebarrett: Just wondering, do you actually ever hit the case where the value is over 2^63-1?
claudiuinberlin has quit []
<ebarrett> eregon: in reality no
<ebarrett> but still
<ebarrett> you would need a benchmark that runs a few hundred hours to max out the signed long
<travis-ci> jruby/jruby (master:150c83d by Charles Oliver Nutter): The build is still failing. (https://travis-ci.org/jruby/jruby/builds/152729443)
zacts_pi has joined #jruby
pawnbox has quit [Ping timeout: 265 seconds]
<chrisseaton> you don't want to have to deal with the bug the one day it starts happening
etehtsea has quit [Quit: Textual IRC Client: www.textualapp.com]
camlow325 has quit [Ping timeout: 260 seconds]
camlow325 has joined #jruby
<GitHub33> [jruby] nirvdrum pushed 2 new commits to truffle-fix_match_backref: https://git.io/v6VxE
<GitHub33> jruby/truffle-fix_match_backref 498acef Kevin Menard: [Truffle] We don't need to write to the frame here.
<GitHub33> jruby/truffle-fix_match_backref 1de3ef2 Kevin Menard: [Truffle] Switched to a simpler way of reading values out of a frame.
zacts_pi has quit [Quit: WeeChat 1.5]
claudiuinberlin has joined #jruby
zacts has joined #jruby
pawnbox has joined #jruby
<GitHub14> [jruby] nirvdrum pushed 2 new commits to truffle-fix_match_backref: https://git.io/v6wvO
<GitHub14> jruby/truffle-fix_match_backref ccfc9df Kevin Menard: [Truffle] Renamed a variable for accuracy.
<GitHub14> jruby/truffle-fix_match_backref bae45f6 Kevin Menard: [Truffle] Eliminated some code duplication.
<travis-ci> jruby/jruby (truffle-fix_match_backref:1de3ef2 by Kevin Menard): The build is still failing. (https://travis-ci.org/jruby/jruby/builds/152749200)
zacts has quit [Ping timeout: 250 seconds]
subbu is now known as subbu|lunch
<travis-ci> jruby/jruby (truffle-fix_match_backref:bae45f6 by Kevin Menard): The build is still failing. (https://travis-ci.org/jruby/jruby/builds/152756416)
camlow325 has quit [Ping timeout: 258 seconds]
zacts has joined #jruby
pil-afk is now known as pilhuhn
<claudiuinberlin> good evening, there is any performance penalty by using https://github.com/jruby/jrubyfx?
<claudiuinberlin> we need to ship some desktop app and we plan to use javafx with java or kotlin :)
<claudiuinberlin> but I love os much ruby ...
pawnbox has quit [Remote host closed the connection]
sluukkonen has quit [Ping timeout: 258 seconds]
claudiuinberlin has quit [Remote host closed the connection]
claudiuinberlin has joined #jruby
subbu|lunch is now known as subbu
sluukkonen has joined #jruby
<enebo> claudiuinberlin: no penalty for laying out scene graph and for things which end up eventing it may or may not matter.
zacts has quit [Quit: WeeChat 1.5]
<enebo> claudiuinberlin: Ruby is not usually as quick as Java but I made sprite library with hundreds of sprites on the screen and the CPU was pretty tiny
<enebo> claudiuinberlin: but a lot of behavior in JavaFX is pretty declarative so it is being donei n Java
zacts has joined #jruby
claudiuinberlin has quit [Remote host closed the connection]
claudiuinberlin has joined #jruby
<claudiuinberlin> @enebo thx for the infor
zacts has quit [Quit: WeeChat 1.5]
yfeldblum has joined #jruby
pilhuhn is now known as pil-afk
pil-afk is now known as pil-zzZZzz
sluukkonen has quit [Ping timeout: 260 seconds]
skade has joined #jruby
sluukkonen has joined #jruby
claudiuinberlin has quit [Remote host closed the connection]
claudiuinberlin has joined #jruby
sluukkonen has quit [Ping timeout: 264 seconds]
sluukkonen has joined #jruby
zacts has joined #jruby
zacts has quit [Client Quit]
zacts has joined #jruby
tcrawley-away is now known as tcrawley
blandflakes has quit [Quit: http://www.kiwiirc.com/ - A hand crafted IRC client]
blandflakes has joined #jruby
camlow325 has joined #jruby
<headius> enebo: so I have a fix for readline ^C
<headius> but twiddling readline right now wories me a little
ebarrett has quit [Quit: WeeChat 1.4]
blandflakes has quit [Client Quit]
<headius> this ensures that readline is using the same InputStream/OutputStream we do, even if it's the one wrapped around native IO
<headius> it seems to make ^C behavior at least as good as 1.7
bbrowning_away is now known as bbrowning
<enebo> headius: so risk is System.in/out and the native swapping out and not working in some weird way?
<headius> well, there's that...but it seems like jline just uses the InputStream/OutputStream directly
<headius> the other risk is in having some other aspect of IRB go wonky
<headius> it's just heavily used, so that worries me
<enebo> I have no idea. I wonder how many tests we can do with this
<enebo> pry/irc/rails console (which technically is also irb)
<enebo> uage from jruby-complete (not sure why that would matter)
<headius> yeah
<headius> that's about all I can think of
<enebo> we do not do curses
<enebo> I guess that makes this less risky :)
<headius> irb works fine for a few simple things
<enebo> although maybe curses and readline are not used together
ebarrett has joined #jruby
<enebo> if tabbing and interrupt work?
<enebo> headius: I would try pry I guess
<enebo> headius: I am not a pry user so I don’t know if there are wilder extensions which make more use of readline
<headius> tab completion and ^R seem to work fine
<headius> pry seems to work but I don't know how to really exercise it
<enebo> how about ^D
<headius> it exits
<headius> I assume that's right :-)
<enebo> maybe something about indentation and line handling
<enebo> headius: that is how most other programs work
<headius> MRI does as well
<headius> yeah
<enebo> well I don’t know. these resource interaction bugs are the worst for risk
<enebo> but all things we know of work and one did not before
<headius> well I'll deploy a 1.1 snapshot for jruby-readline and use it on master
<enebo> headius: great
<enebo> headius: my typing is weird enough where I will not be typing for extended periods of time
<GitHub113> [jruby] headius pushed 1 new commit to master: https://git.io/v6wa4
<GitHub113> jruby/master 2d5e038 Charles Oliver Nutter: Update to jruby-readline 1.1 snapshot. Fixes #3721
<GitHub154> [jruby] headius closed issue #3721: Control-C doesn't do anything anymore when entering code in IRB https://git.io/vaLRV
<GitHub44> [jruby] headius reopened issue #3721: Control-C doesn't do anything anymore when entering code in IRB https://git.io/vaLRV
<headius> hey we're down to two pages of issues marked for 9.1.3.0 :-P
<headius> lots of these are just waiting final confirmation though
<enebo> headius: yeah. we will need to get together after this release and prune some stuff down or really change focus for a bit
<headius> enebo: we need kares to look into this AR-JDBC NPE
<headius> it seems like it's related to our autocoercion for RubyArray implements List
<headius> which has had a bunch of changes in the last month
TheWhip has quit [Remote host closed the connection]
TheWhip has joined #jruby
claudiuinberlin has quit []
TheWhip has quit [Ping timeout: 276 seconds]
camlow325 has quit [Quit: WeeChat 1.5]
camlow325 has joined #jruby
bbrowning is now known as bbrowning_away
enebo has quit [Quit: enebo]
zacts has quit [Ping timeout: 258 seconds]
blandflakes has joined #jruby
blandflakes has quit [Client Quit]
drbobbeaty has quit [Quit: My MacBook Pro has gone to sleep. ZZZzzz…]
<travis-ci> jruby/jruby (master:2d5e038 by Charles Oliver Nutter): The build is still failing. (https://travis-ci.org/jruby/jruby/builds/152801691)
at100 has quit [Quit: Textual IRC Client: www.textualapp.com]
at100 has joined #jruby
tcrawley is now known as tcrawley-away
<GitHub172> [jruby] chrisseaton pushed 1 new commit to truffle-head: https://git.io/v6wXT
<GitHub172> jruby/truffle-head 0657bbd Chris Seaton: [Truffle] RUBY_BIN takes priority over mx and eclipse.
skade has quit [Quit: Computer has gone to sleep.]
skade has joined #jruby
skade has quit [Client Quit]
<GitHub99> [jruby] chrisseaton pushed 2 new commits to truffle-head: https://git.io/v6wMK
<GitHub99> jruby/truffle-head e59f43f Chris Seaton: [Truffle] Update JVMCI.
<GitHub99> jruby/truffle-head deafeee Chris Seaton: [Truffle] Try to update dependency layout.
<travis-ci> jruby/jruby (truffle-head:0657bbd by Chris Seaton): The build is still failing. (https://travis-ci.org/jruby/jruby/builds/152815971)
<travis-ci> jruby/jruby (truffle-head:deafeee by Chris Seaton): The build is still failing. (https://travis-ci.org/jruby/jruby/builds/152820226)
<GitHub136> [jruby] headius pushed 2 new commits to master: https://git.io/v6wH6
<GitHub136> jruby/master c5028dc Charles Oliver Nutter: Spec for module_function's singleton method with super....
<GitHub136> jruby/master 30594f4 Charles Oliver Nutter: Define module_function singleton method as proper clone....
<GitHub24> [jruby] headius closed issue #3708: Unresolved super with module_function https://git.io/v2y2e
lanceball is now known as lance|afk
<chrisseaton> Is headius around?
<headius> yup yup
<GitHub10> [jruby] chrisseaton pushed 1 new commit to truffle-head: https://git.io/v6w7P
<GitHub10> jruby/truffle-head e98c935 Chris Seaton: [Truffle] Fix wrong method name bug introduced doing removable of getIdentifier
<headius> chrisseaton: what's up?
<chrisseaton> Do you understand $~ to be both frame local *and* thread local at the same time? That's how we understand it, but I don't think I've ever seen your code that implements that.
<headius> chrisseaton: you or nirvdrum may want to look at this regarding your $~ fix: https://github.com/jruby/jruby/issues/3031
<headius> :-)
<headius> I am looking at this again and I'm not sure how to implement it efficiently
<chrisseaton> We put a ThreadLocal inside our frame
<chrisseaton> Not saying that's efficient :)
<headius> isn't that going to be extremely heavy?
<headius> heh yeah, I did that too as a POC and it worked
<chrisseaton> I wonder how we've found this to be important (we did it a year and a half ago) and you haven't until now
<headius> we used to have a separate holder object in the frame for $~ but even that was too heavy once you have to start clonning the frame
<headius> we haven't until now?
<headius> this bug is over a year old
<chrisseaton> So you've been successfully running Rails for years without the fix
<headius> yes
<headius> because our frames are thread-local
<headius> but for rare cases like a captured proc, they leak across threads
<chrisseaton> Yes it's only the proc case - and you're saying that's rare enough that it's only recently become clearly a problem
<headius> yes
<headius> at least the way we do frames
<chrisseaton> I remember having to implement it for some of the specs - maybe you had those one tagged
johnsonch is now known as johnsonch_afk
<headius> specs are not our highest priority
<chrisseaton> Right, that's probably it. We did a drive for 100% and that's where we found this issue I think.
<headius> rbx exhibits the same issue
<headius> as does 1.8.7 and 1.9.3
<headius> so this is something MRI changed later
<chrisseaton> It took ages to get our head around it
<headius> well, sounds like you're still looking for a good solution too
<headius> oh hmm
<headius> everyone shows the same behavior if the proc is captured in a method
<headius> hmm
<headius> chrisseaton: what made you finally make $~ frame-local btw?
<chrisseaton> Trial and error until specs passed
<headius> we knew $~ couldn't be thread-local but that's how most impls try to do it at first
<headius> simplest sort of case is where you're doing multiple nested regexp searches that depend on $~
<headius> like a gsub in a gsub
<headius> accessing $~ for you forces frame to materialize now?
<chrisseaton> The first time yes, then it specialises to materialise in the first place
<headius> yeah, I hate $~ :-(
<chrisseaton> Of course if you inline between the two methods, the materialisation doesn't matter as it re-dematerialises
<chrisseaton> If we can see the need for materialisation statically, then we hint to inline
<chrisseaton> We should find a way to do it based on dynamic use of materialisation
<travis-ci> jruby/jruby (master:30594f4 by Charles Oliver Nutter): The build is still failing. (https://travis-ci.org/jruby/jruby/builds/152827818)
<headius> chrisseaton: yeah, we pessimistically tag the method names we know have core impls using $~ and use that to trigger having a frame
<headius> our frames are all pre-allocated, so it's just pre/post overhead...but it's still not as good as it could be
<headius> trying a few alternative solutions
<headius> hmm
<headius> in the presence of a captured frame MRI seems to behave like JRuby
<headius> ruby -e 'class Foo; P = proc { p $~; "foo" =~ /foo/ }; def foo; Thread.new {P.call}.join; Thread.new{P.call}.join; end; end; Foo.new.foo'
<headius> nil
<headius> #<MatchData "foo">
<headius> this may be simpler than I thought
<headius> it's obviously still sharing the frame across threads there
<travis-ci> jruby/jruby (truffle-head:e98c935 by Chris Seaton): The build was fixed. (https://travis-ci.org/jruby/jruby/builds/152831149)
<headius> chrisseaton: as with most things in Ruby, it's apparently not as simple as even "frame and thread-local": https://github.com/jruby/jruby/issues/3031#issuecomment-240273700