Show enters and exits. Hide enters and exits.
| 17:10:48 | evan | morning! |
| 17:11:26 | kronos_vano | evan, evening! |
| 17:13:16 | evan | hi kronos_vano |
| 17:25:57 | brixen | morning |
| 17:26:21 | evan | brixen: have a nice weekend? |
| 17:27:32 | brixen | pretty nice |
| 17:27:48 | brixen | worked on rubyspec quite a bit |
| 17:28:25 | evan | cool |
| 17:29:01 | evan | i'm rewriting find_canditate, which is what finds what method to JIT when a counter overflows |
| 17:29:12 | brixen | ahh cool |
| 17:29:19 | brixen | any new insights? |
| 17:30:30 | evan | well, i read the explaination of how they expected it to work in Self |
| 17:30:45 | evan | and realized that not checking the methods size as we walk upward is bad |
| 17:30:52 | brixen | ah |
| 17:31:03 | evan | because we can easily walk beyond where the inliner will run |
| 17:31:10 | brixen | gotcha |
| 17:31:48 | evan | the current logic, in fact, will walk up 8 levels, only stopping on a method that isn't run much, is a block, or uses a splat |
| 17:32:00 | evan | in fact, i'm pretty sure it stops one level too deep too |
| 17:32:06 | evan | which is also bad. |
| 17:32:16 | evan | the logic is a mess, so thats why i've just started over |
| 17:32:23 | brixen | awesome |
| 17:32:39 | evan | it's a small method, but it's already clearer about what the logic is supposed to do |
| 17:32:47 | brixen | since we saw some pretty nice improvements with that messy logic, could be much room to improve |
| 17:33:31 | brixen | I have this crazy issue running the IO specs under 186 |
| 17:33:41 | evan | ug. fun. |
| 17:34:08 | brixen | a file has some 8bit chars in it and merely requiring the file (ie the spec never runs) causes an EBADF in a completely different file |
| 17:34:15 | brixen | reliably I think |
| 17:34:41 | brixen | s o f r u s t r a t i n g |
| 17:35:51 | evan | wow. |
| 17:36:13 | brixen | srsly |
| 17:36:58 | brixen | comment the str literals, it runs; uncomment them, the other spec fails |
| 17:37:07 | brixen | color me blue |
| 17:37:48 | evan | wow |
| 17:37:51 | evan | whats the string literal? |
| 17:37:58 | evan | does it cause like the next file to fail? |
| 17:38:23 | brixen | um... |
| 17:38:38 | brixen | not the next |
| 17:38:46 | brixen | this is a shared spec for #each |
| 17:38:49 | evan | a specific other file? |
| 17:38:52 | brixen | and the IO.new spec if failing |
| 17:39:25 | brixen | I think I'm just going to use a different fixture |
| 17:40:23 | brixen | this is the spec http://gist.github.com/298387 |
| 17:40:31 | brixen | that spec is never invoked |
| 17:40:49 | brixen | commenting the literal array makes everything pass |
| 17:41:12 | brixen | uncommenting it causes IO.open emits a warning if given a block ERROR to fail with EBADF |
| 17:41:18 | brixen | only on 186 |
| 17:41:31 | brixen | so most likely some bug was fixed |
| 17:41:44 | brixen | since it doesn't happen in 1.8.7 |
| 17:41:49 | evan | ug. |
| 17:42:00 | brixen | that's why I'm just gonna use a different fixture |
| 17:43:21 | brixen | <3 vim |
| 17:43:24 | brixen | d i [ |
| 17:43:29 | brixen | awesome command |
| 17:44:01 | evan | oooh |
| 17:44:03 | evan | thats a good one! |
| 17:44:14 | brixen | yeah, love those |
| 17:44:16 | brixen | c i " |
| 17:44:19 | brixen | etc |
| 17:53:26 | evan | hey nerds: anyone know what haskell uses for runtime type checks? |
| 17:53:29 | evan | it must have them. |
| 17:54:20 | brixen | hm really? |
| 17:54:32 | brixen | I thought everything was compile-time resolved |
| 17:54:40 | brixen | but I really don't know |
| 17:55:25 | brixen | I suppose #haskell would know |
| 17:55:39 | brixen | tell me what you find out! :) |
| 17:55:44 | evan | i just don't know enough |
| 17:55:50 | evan | I mean, you can do |
| 17:55:56 | evan | type Thing = Person | Rock |
| 17:56:18 | evan | so.... it seems like there could be cases where at runtime you wouldn't know if a Thing was a Person or a Rock |
| 17:56:36 | evan | but i guess it might be able to resolve that at compile time |
| 17:56:52 | brixen | http://okmij.org/ftp/Haskell/types.html |
| 17:56:58 | evan | :) |
| 17:57:02 | evan | I did a google search too :) |
| 17:57:04 | brixen | s for run-time check |
| 17:57:18 | brixen | under the Dependently-typed append |
| 17:57:21 | brixen | section |
| 17:59:24 | evan | yep |
| 18:01:40 | evan | i guess the good thing about find_candidate not working well is that it's decision isn't final |
| 18:01:47 | evan | or even super important |
| 18:02:13 | evan | because if it picks the wrong method, it will probably pick the right method shortly |
| 18:06:33 | brixen | cool |
| 18:08:26 | evan | also, i'm going to write up a new benchmarking method today |
| 18:08:42 | evan | constant time, variable iterations |
| 18:08:52 | evan | reported in terms of ips (iterations per second) |
| 18:09:15 | evan | it solves the "really slow on one implementation" problem |
| 18:09:18 | brixen | ohh nice |
| 18:09:23 | brixen | yeah |
| 18:09:29 | brixen | I wanted to do something like that |
| 18:09:47 | brixen | so you could normalize all the benches to like 3 sec on an impl |
| 18:09:53 | evan | right |
| 18:09:54 | brixen | and look at the delta on another impl |
| 18:09:58 | evan | exactly. |
| 18:10:01 | brixen | sweet |
| 18:10:13 | evan | i think i can do it with an ivar read and compare per iteration |
| 18:10:24 | evan | and spinning up another thread |
| 19:04:16 | cremes | how can i force the JIT on for everything? i think i have discovered a bug where Float.zero? returns true for negative numbers when the JIT is active |
| 19:04:16 | cremes | i can't reduce it to a simple case because it requires a lot of data to force the JIT on; the bug does not occur when run with -Xint |
| 19:04:47 | evan | cremes: there is no such way. |
| 19:04:53 | evan | you need to run it in a loop |
| 19:04:58 | evan | that will force it to get JITd |
| 19:05:04 | cremes | i'll try that... |
| 19:05:14 | evan | if it's a simple bug in Float#zero? |
| 19:05:21 | evan | it should be easy to put in a loop and run. |
| 19:06:50 | cremes | got it; after 12260 invocations of the loop, #zero? starts returning true for a negative number |
| 19:07:00 | cremes | i'll open an issue |
| 19:07:15 | cremes | anything magical about 12260? |
| 19:08:28 | evan | ha |
| 19:08:28 | evan | no. |
| 19:08:41 | evan | the number of iterations depends entirely on your machine and the code |
| 19:08:54 | cremes | ah, subsequent runs triggers the bug at different times; nevermind! |
| 19:10:30 | dbussink | cremes: as long as it reliably happens at some point :) |
| 19:10:43 | dbussink | evan: i also have a reliable segfault on freebsd 8 |
| 19:10:53 | evan | ok |
| 19:10:54 | evan | ticket it. |
| 19:11:03 | dbussink | i'll get as much out of it |
| 19:11:17 | dbussink | evan: it also supports ucontext, so can enable fibers there too |
| 19:11:24 | evan | ok |
| 19:11:31 | evan | just need to add a condition to fiber.hpp |
| 19:12:54 | dbussink | evan: yeah, did that already |
| 19:13:05 | evan | k |
| 19:13:23 | dbussink | i'll get as much info out of it :) |
| 19:14:14 | cremes | issue 185 created; let me know if you need additional details |
| 19:14:34 | cremes | dbussink: 60% of the time it happens *every* time! |
| 19:15:02 | dbussink | cremes: evan loves puzzles like that ;) |
| 19:15:24 | evan | heh |
| 19:15:33 | cremes | heh; i'm starting to run rbx for everything i do these days, so as i run across stuff i'll try to reduce it and create issues |
| 19:16:28 | evan | someday people wil remember to put code in tickets inside a <pre> |
| 19:16:29 | evan | le sigh. |
| 19:16:46 | evan | cremes: thanks for the ticket |
| 19:16:51 | evan | it's probably something easy actually |
| 19:16:57 | evan | related to the JIT's float logic |
| 19:17:05 | evan | gee, that sounded dumb. |
| 19:17:34 | brixen | heh |
| 19:18:17 | cremes | it's a tautology! |
| 19:18:36 | cremes | "this JIT float bug is probably related to a bug in the JIT code" |
| 19:26:59 | brixen | le sigh, IO in mri 1.8... |
| 19:28:47 | brixen | I bet this is related to not dup'ing the fd on IE.new(some_file.fileno) |
| 19:28:58 | brixen | these random EBADF errors |
| 19:29:14 | brixen | s/IE/IO/ |
| 19:29:27 | brixen | although 1.8 IO reminds one of IE |
| 19:29:55 | evan | oh |
| 19:29:57 | evan | totally. |
| 19:30:32 | brixen | I may have to put those specs in a subprocess spec |
| 19:30:50 | evan | yeah |
| 19:42:05 | tarcieri | haha brixen |
| 19:42:18 | tarcieri | re: 1.8 I/O and IE |
| 19:44:14 | brixen | tarcieri: :) |
| 19:44:26 | brixen | y'all see this? http://gitorious.org/metatrace |
| 19:44:32 | brixen | dwaite linked me to that |
| 19:44:48 | tarcieri | hahahahahahahaha |
| 19:44:50 | tarcieri | awesome |
| 19:44:51 | brixen | all together now... o/~ craaaazy o/~ |
| 19:44:55 | tarcieri | indeed |
| 19:44:58 | brixen | yeah, for some values of awesome |
| 19:45:09 | brixen | mostly in the extended reals |
| 19:45:09 | tarcieri | it's cooler than Perl's Acme::Turing :) |
| 19:45:13 | brixen | heh |
| 19:51:23 | evan | so |
| 19:51:33 | evan | does it do the raytracing actually as template expansions? |
| 19:53:05 | Zoxc | http://h3.team0xf.com/ctrace/ :) |
| 20:11:49 | evan | sweet, i've got a nice IPS harness setup |
| 20:11:54 | evan | with a nice compare script |
| 20:12:24 | evan | and a script to generate boiler plate benchmark files, one for each method in a class |
| 20:12:50 | evan | and compare automatically excludes unedited boiler plate files |
| 20:13:08 | evan | should be a good setup for benchmarking core methods. |
| 20:28:48 | lopex | wow, metatrace rulez |
| 21:56:07 | evan | man, this IPS setup is so much nicer than guessing an iteration count. |
| 21:56:20 | brixen | nice |
| 21:57:07 | evan | i'm writing simple benchmarks for each String method |
| 21:57:30 | brixen | based on the existing ones? |
| 21:57:38 | evan | no. |
| 21:57:48 | evan | quite literally the simplest thing |
| 21:57:53 | evan | a loop calling the method. |
| 21:58:15 | brixen | hmm |
| 21:58:17 | evan | but i'm already seeing good data |
| 21:58:37 | brixen | well, the existing ones attempt to make the results meaningful |
| 21:58:39 | evan | this benchmark is entirely seperate from the other benchmarks |
| 21:58:53 | evan | the other is all about how fast some ruby code be run |
| 21:58:57 | evan | i'm not interested in that here. |
| 21:59:12 | evan | (well, i am only because rubinius implements most of these methods with ruby) |
| 21:59:26 | evan | i'm interested in where rubinius sits wrt the speed of the kernel itself. |
| 21:59:35 | evan | because thats where our benchmark/speed improvements go |
| 21:59:44 | evan | we need to know whats slow to know what to fix. |
| 22:01:43 | brixen | I actually added factors to all the bm_string benches to make them approximately the same magnitude runtime on 186 |
| 22:01:55 | brixen | I'm curious how you make the string to test a method on |
| 22:02:23 | evan | oh yeah |
| 22:02:26 | evan | i forgot we had bm_string |
| 22:02:27 | evan | ug. |
| 22:02:29 | evan | well |
| 22:02:52 | evan | having them all in one big ass file |
| 22:02:58 | evan | and with no warmup |
| 22:02:59 | evan | etc. |
| 22:03:03 | brixen | yeah |
| 22:03:03 | evan | sucks. |
| 22:03:08 | brixen | I'm not arguing that |
| 22:03:18 | evan | plus this is iteration based. |
| 22:03:22 | evan | IPS is so much better. |
| 22:03:30 | brixen | just that I tried to make the input at least a bit statistically independent of the operation |
| 22:03:48 | evan | IPS solves the (random_expression).times {} problem |
| 22:03:52 | brixen | eg sub'ing a non-existent char might give different results than sub'ing an existing char |
| 22:04:03 | evan | and these use a constant for the string? |
| 22:04:11 | brixen | yeah |
| 22:04:12 | evan | mine just use a local. |
| 22:04:15 | evan | and they're isolated |
| 22:04:21 | evan | because each runs in a seperate process |
| 22:04:25 | evan | with warmup |
| 22:04:31 | brixen | sure |
| 22:05:22 | brixen | anyway, there's a comment above the string data |
| 22:06:04 | brixen | the constant lookup is factorable using the "base" bench |
| 22:06:49 | brixen | problem is, not every one of those benches use the constant |
| 22:06:56 | brixen | so yeah, it's a mess |
| 22:07:16 | brixen | but I think the string needs to be appropriately random |
| 22:07:37 | brixen | to attempt to avoid impl biases |
| 22:09:08 | evan | that run method is confusing. |
| 22:12:33 | evan | ah, thats how individual ones run |
| 22:12:38 | evan | yeah, this is too confusing |
| 22:12:46 | evan | and introduces all kinds of other problems. |
| 22:13:10 | brixen | heh, I'm agreeing |
| 22:13:20 | brixen | the only point is to use an appropriately random string |
| 22:14:08 | evan | hm. |
| 22:14:21 | evan | yeah, i guess thats important |
| 22:14:31 | evan | i'm sort of at the stage where being biased is fine |
| 22:14:42 | evan | if an impl can do it faster because it's biased |
| 22:14:46 | evan | bonus for it. |
| 22:15:02 | evan | i'm looking for objectivity |
| 22:15:17 | brixen | well, unless that's somehow qualifiable, it's hard to interpret |
| 22:15:20 | evan | just places that we need to do some work |
| 22:16:20 | brixen | I'm beginning to despair that a single solitary rubyspec file exists that won't make me groan upon opening it |
| 22:16:35 | brixen | the IO specs are just effen gross |
| 22:17:19 | evan | spec/ruby/core/true/to_s_spec.rb |
| 22:17:41 | brixen | ? |
| 22:17:55 | evan | that can't make you groan when you open it |
| 22:18:00 | brixen | heh |
| 22:18:12 | brixen | true! |
| 22:18:21 | brixen | or "true"! |
| 22:25:22 | evan | ok, i added a simple helper system to the new benchmarks |
| 22:25:42 | evan | that loads automatically |
| 22:25:53 | evan | and put the random string into a random_string method to be used. |
| 22:26:23 | brixen | cool |
| 22:28:37 | evan | i think i'll commit these |
| 22:28:44 | evan | i did about 10 |
| 22:28:45 | evan | in String |
| 22:28:49 | evan | but the setup is there |
| 22:28:52 | evan | we just need to flesh them out |
| 22:29:15 | brixen | ok |
| 22:31:47 | tarcieri | you guys still all about being embeddable? |
| 22:32:03 | tarcieri | there's been a few people asking about it on ruby-talk |
| 22:32:07 | evan | tarcieri: we've done nothing to preclude ourselves from being embedded. |
| 22:32:08 | tarcieri | feel like I should point them at Rubinius |
| 22:32:36 | tarcieri | evan: one guy was reporting segfaults when trying to run multiple copies of the Ruby VM in the same process, heh |
| 22:32:43 | tarcieri | I guess in different threads? |
| 22:32:48 | evan | of MRI? ug. |
| 22:32:50 | tarcieri | it's like "segfaults? imagine that" |
| 22:32:51 | evan | mm, yeah. |
| 22:35:09 | tarcieri | I try to embed a Ruby interpreter into an application through a shared |
| 22:35:09 | tarcieri | library. This application can call more than one time Ruby interpreter. |
| 22:35:09 | tarcieri | In the attached testcase, first call works as expected but next calls |
| 22:35:10 | tarcieri | create a segmentation fault. |
| 22:35:14 | tarcieri | ^^^ yeah, that guy |
| 22:35:15 | tarcieri | heh |
| 22:35:29 | evan | fun. |
| 22:35:42 | tarcieri | some other guy asking where the Ruby C embedding API is |
| 22:35:47 | evan | zoinks |
| 22:35:47 | tarcieri | and everyone being like "whaaaaa?" |
| 22:35:57 | evan | our String#dump is 0.039 times the speed of MRI's |
| 22:36:09 | tarcieri | awesome |
| 22:36:11 | evan | this is why I realized we needed these. |
| 22:46:44 | brixen | I think the concept that the specs would show code examples *you might actually use* has been lost |
| 23:09:48 | evan | brixen: if you're curious, kresten finally open sourced his ruby impl he talked to me about a few years ago |
| 23:09:49 | evan | http://github.com/krestenkrab/hotruby |
| 23:10:01 | evan | he's where I got the idea for packed ivars from |
| 23:10:03 | brixen | oh cool |
| 23:10:23 | evan | that code seems to implement it, but i haven't sorted through some of the details yet. |
| 23:10:31 | brixen | ok |
| 23:12:28 | evan | you'll have to check it out with git to navigate it |
| 23:12:32 | evan | it sticks with the java way |
| 23:12:38 | evan | and thusly there are a million nested directories |
| 23:12:44 | brixen | fun |
| 23:12:59 | evan | but checkout CompiledIVar |
| 23:13:12 | evan | CompiledIVarAccessor rather |
| 23:13:20 | brixen | interesting, IO.foreach(name, sep) in 1.9 calls #to_str on sep for every line read if sep is not a String |
| 23:13:29 | brixen | clones |
| 23:13:39 | evan | genius! |
| 23:23:15 | evan | zoinks |
| 23:23:26 | evan | Toyota is recalling all 2010 pruises |
| 23:23:41 | brixen | ouch |
| 23:23:59 | evan | as though they didn't have enough problems. |
| 23:24:39 | evan | cremes: just fixed your bug |
| 23:24:52 | evan | it was <sheepish>a typo</sheepish> |
| 23:25:04 | cremes | evan: np; i'll test it out after you push |
| 23:25:13 | evan | k |
| 23:25:20 | evan | running tests now, then i'll push. |
| 23:25:21 | cremes | bet you wish all bugs were that easy :) |
| 23:25:26 | evan | I DO. |
| 23:25:39 | evan | please provide me with more typo bugs |
| 23:25:47 | cremes | i'll get right on that... |
| 23:26:42 | brixen | cremes: creating typos to file bugs on is excluded :) |
| 23:27:02 | cremes | you guys have all the angles covered! |
| 23:27:07 | brixen | heh |
| 23:27:25 | cremes | now i really need to run; chat tomorrow! |
| 23:27:47 | evan | :) |
| 23:27:49 | evan | see ya! |
| 23:29:31 | boyscout | The beginning of the core benchmarks - ce306b0 - Evan Phoenix |
| 23:29:31 | boyscout | Fix segfault in exiting before JIT actually runs - 558e3b5 - Evan Phoenix |
| 23:29:31 | boyscout | Reformulate find_candidate - 5892f94 - Evan Phoenix |
| 23:29:31 | boyscout | Fix latent typo in Float#== inlining. Fixes #185. - 7fe1be7 - Evan Phoenix |
| 23:31:08 | maharg | any chance the patches in #168 could get applied? I'd like to stop needing to rebase in order to use rubinius ;) |
| 23:31:18 | evan | sure |
| 23:31:19 | evan | one sec |
| 23:31:46 | maharg | thanks |
| 23:34:41 | boyscout | CI: rubinius: 7fe1be7 successful: 3041 files, 11849 examples, 36136 expectations, 0 failures, 0 errors |
| 23:35:49 | evan | maharg: where is your patch to fix #168? |
| 23:35:52 | evan | i only see the patch for the spec |
| 23:36:17 | evan | oh i see it |
| 23:36:38 | evan | you sort of fixed your spacing, but only in the spec. |
| 23:36:41 | maharg | the other guy put in a patch on that one. My patch had formatting issues and this guy actually fixed it first. I could repair the formatting on mine if you'd prefer |
| 23:36:47 | evan | his patch is wrong. |
| 23:36:49 | evan | :) |
| 23:36:52 | evan | no |
| 23:36:57 | evan | i've already repaired it |
| 23:36:59 | evan | the spec is in |
| 23:37:04 | evan | i'm going to hand apply your fix |
| 23:37:13 | maharg | k |
| 23:41:55 | evan | I wonder if MRI does all this just so that the new Exception has no backtrace |
| 23:42:04 | evan | and raise can create one. |
| 23:44:14 | brixen | I wish File has_a IO rather than File is_a IO |
| 23:44:28 | ezmobius | http://gist.github.com/298733 |
| 23:44:30 | evan | that would be nice |
| 23:44:30 | evan | yeah |
| 23:44:38 | ezmobius | i keep having issues trying to get rubinius built on snow leopard |
| 23:44:44 | ezmobius | that i upgraded from leopard |
| 23:44:49 | evan | ezmobius: get a new clone. |
| 23:44:56 | evan | it's too complicated otherwise |
| 23:45:04 | ezmobius | its mostly melbourne for mri?}do i need to rebuild my mri for snow leopard or something |
| 23:45:05 | evan | because things switched from 32bit to 64bit when you upgraded. |
| 23:45:09 | ezmobius | i did get a new clone |
| 23:45:11 | brixen | ezmobius: what is your default MRI? |
| 23:45:15 | brixen | ahh that |
| 23:45:16 | evan | oh |
| 23:45:16 | evan | yeah |
| 23:45:19 | evan | you need to rebuild your MRI |
| 23:45:20 | ezmobius | 1.8.6 that i hand built |
| 23:45:23 | ezmobius | yeah figured |
| 23:45:34 | ezmobius | ok cool ill try that |
| 23:45:57 | evan | maharg: so, do you have code thats doing |
| 23:46:07 | evan | exc = WhateverException.new(blah) |
| 23:46:12 | evan | raise exc, "exceptions are fun!" |
| 23:46:46 | maharg | without being on 2 lines, yeah that's the code I'm running into |
| 23:47:01 | maharg | raise Exc.new(blahblah), "blorp" |
| 23:47:04 | evan | right |
| 23:47:05 | evan | ok |
| 23:47:12 | evan | for future reference |
| 23:47:19 | evan | if you fix yoru #initialize |
| 23:47:21 | evan | and pass the message up |
| 23:47:23 | evan | so you can do |
| 23:47:26 | evan | raise Exc.new(blah) |
| 23:47:31 | evan | (no 2nd arg notice) |
| 23:47:39 | evan | it will be a lot more efficient |
| 23:47:55 | evan | the 2 arg version has to do the whole clone code you fixed |
| 23:48:00 | evan | the 1 arg version doesn't |
| 23:48:10 | maharg | makes sense. |
| 23:48:16 | evan | er. that should be |
| 23:48:22 | evan | raise Exc.new("blorp", blahblah) |
| 23:48:25 | evan | but you get me. |
| 23:48:31 | maharg | yep |
| 23:49:59 | evan | i think this protocol exists so you can do |
| 23:50:04 | evan | rescue => e |
| 23:50:12 | evan | raise e, "more generic message" |
| 23:50:42 | boyscout | Updated spec for issue when raising an object instance with a message - aa321d1 - Graham |
| 23:50:42 | boyscout | Exception#exception is crazy. Fixes #168. - c40a935 - Evan Phoenix |
| 23:50:43 | maharg | huh. Never thought of that, but it makes sense |
| 23:50:47 | evan | for those playing at home that want to play with an awesome feature |
| 23:50:52 | evan | you can do: |
| 23:50:55 | evan | rescue => e |
| 23:51:03 | evan | raise OuterError, "more generic message", e |
| 23:51:05 | evan | in rubinius |
| 23:51:10 | evan | to create chained exceptions |
| 23:51:28 | evan | when the instance of OuterError is printed out |
| 23:51:33 | evan | e will be printed out too. |
| 23:51:41 | evan | with their own backtraces |
| 23:55:03 | boyscout | CI: rubinius: c40a935 successful: 3041 files, 11850 examples, 36139 expectations, 0 failures, 0 errors |
| 23:59:33 | evan | ooh |
| 23:59:34 | evan | fun! |
| 23:59:37 | evan | new protocol! |
| 23:59:41 | wayneeseguin | evan: can I get a quick code review from you ? |
| 23:59:41 | wayneeseguin | http://github.com/ashebanow/rvm/commit/aa9ac1617e0c03b175a7c36321865b1a445e086b |
| 23:59:50 | wayneeseguin | Does that look correct-ish for installing rbx? |
| 23:59:52 | evan | so, should the name of the method that fills an exception's backtrace be called |
| 23:59:58 | evan | #fill_locations() |