Index

Show enters and exits. Hide enters and exits.

01:10:55evanRAWR
01:11:18evanfix the c-ng slowness.
01:11:20evanfixed
01:11:44evanfind spec -name "*.rbc" -delete
01:12:14evanFinished in 100.703253 seconds
01:12:24Zoxcwonders how fast the breaks and returns in Rubinius is :]
01:14:13evanpretty darn fast
01:14:19evanreturn in a method is a C return
01:14:34evanbreak in a while is a jump
01:14:40ZoxcI was thinking of in blocks :)
01:14:48evanbreak in a block is a C return and then a comparison
01:15:02Zoxchow do you manage that? :/
01:15:10evanmagic!
01:15:23brixenheh
01:15:32evaneverything in rubinius takes STATE as the first arg
01:15:48Zoxcdoesn't really believe in magic :)
01:16:41evanoh, me neither.
01:17:01evanso, STATE is thread local
01:17:12evanto break in a block, it does, basically
01:17:20Zoxcthat return and comparison thing doesn't sound good for ensure blocks, unless you was thinking of return chained exceptions?
01:17:23evanstate->condition = break;
01:17:32evanstate->destination = scope;
01:17:34evanreturn 0;
01:17:46evanthe caller sees the 0 and knows there is an exception
01:17:56evanit checks if the condition is break
01:18:02evanand if so, if the destination matches itself, it's done.
01:18:24evanZoxc: for an ensure, it's just condition = ensure
01:18:31evanand return 0;
01:18:35Zoxcwhat happens if there is no one to handle it?
01:18:45evanthere is always someone to handle it
01:18:49evanbecause there is a toplevel frame
01:18:54evanthat is part of the VM
01:19:07evanto provide the user with some "hey, something went wrong"
01:19:16evanloader.rb typically catches anything that comes into it
01:19:48Zoxcit should raise a LocalJumpError from the break position right?
01:20:24evanyou mean when the caller has returned?
01:20:47Zoxcyeah
01:21:02evanwhen a scope returns
01:21:12evanit sets the heap alias for itself to returned = true
01:21:22evanthe heap alias is what the break closure holds
01:21:43evanso it checks if destination->returned before it unwinds
01:21:59evanif destination->returned { do LJE error; }
01:24:27Zoxcthe returned variable is set when the call with the attached block returns?
01:24:55evanyeah
01:25:01evanwhen the context that created the block returns
01:26:25Zoxcdoes MRI use SJLJ for exceptions?
01:26:31evanno
01:26:48ZoxcI just saw some macros for them :/
01:27:02ZoxcI'm guessing it's green thread related then
01:27:05evanwhere at?
01:27:10evanwe've used them for various things
01:27:15evanbut we don't use them to implement exceptions
01:27:15ZoxcDon't remember
01:40:48Zoxcpushed tons of renaming stuff commits to mirb :D
01:46:20boyscoutFix handle leakage GC issue - d4c677c - Evan Phoenix
01:46:21boyscoutAdd -Xgc.immix.debug and streamline immix marking - e99908e - Evan Phoenix
01:46:21boyscoutTeach GC::scan_object about Tuples specificly - b704c2a - Evan Phoenix
01:46:36evanbrixen: http://github.com/evanphx/rubinius/commit/d4c677c2de5b991f52b9fc3fa626b60cb55de508
01:49:37boyscoutCI: b704c2a success. 3002 files, 11756 examples, 35757 expectations, 0 failures, 0 errors
01:49:42brixenahhh
01:49:51evanwe were doing ref() everytime
01:49:55evaneven though it was already in the set
01:49:59brixen:/
01:49:59evanbut we only deref() once
01:50:10evanso anything that was used 2+ times leaked.
01:50:11brixenso everything stayed forever
01:50:23evanpretty much
01:50:24evanactually!
01:50:31evani'm surprised rubinius even survived this.
01:50:35evanthats good for us!
01:50:37brixenheh
01:50:43evanbecause basically the memory footprint was unbounded
01:50:43brixenyeah, rbx is pretty hardy
01:51:15brixenthis should help brianmarios benchmark on yajl too
01:53:10brixenI will say that ubuntu 9.10 is the slickest install yet
01:53:20brixenthey've *really* slimed things down
01:53:31brixenwin7 eat your heart out
01:53:45brixenhasn't installed win7 of course :)
01:54:22brixenwhoa, what's this Ubuntu One?
01:54:23Zoxcvista/win7 uses like 15min before the setup window pops up
01:54:29brixen2GiB of cloud storage?
01:54:51brixenZoxc: boot to installed on this vbox will be about 10 min
01:54:57ZoxcI didn't like the silver logo stuff on ubuntu 9.10 :/
01:55:19brixenlooks better than any windows stuff, imho :)
01:55:37Zoxcnah it doesn't :)
01:55:40brixenheh
01:55:49brixenhmm, I wonder what font they're using on this
01:56:20evanbrixen: yeah, this issue effected all extensions
01:56:32evanand would cause it to basically get slower and slower
01:56:51brixenwhoa, the ubuntu installer let me launch ff while it's running
01:57:03brixenso I could visit www.ubuntu.com/support
01:57:31evanhm, i should install that
02:28:50boyscoutRemove old cruft - 9a29da1 - Evan Phoenix
02:36:23boyscoutCI: 9a29da1 success. 3002 files, 11756 examples, 35757 expectations, 0 failures, 0 errors
10:26:41rueWin7 installs much nicer than XP. Dunno about Vista