Index

Show enters and exits. Hide enters and exits.

00:32:36evanmulti thread programming in ruby is.. interesting.
00:55:08evanyay!
00:55:11evanfixed the jit crash.
00:55:38brixensweet
00:55:50evanjit appears to shave 10s off rdoc
00:55:53brixennice
00:56:22evanI was thinking about inlining in the shower this morning
00:56:30brixenI've got the baseline graphs done, but adding zooming because we're in the 0.1 to 0.6 times MRI range
00:56:34evanoh, more
00:56:39evan56.2s
00:56:40brixengood
00:56:58evanyeah, i noticed that
00:57:05evani tried to figure out zooming in flot
00:57:06evani did not.
00:57:12brixenI got it
00:57:15brixenjust a bit more
00:57:34evananother thing also, FFI stub inlining
00:57:40evanwhen we do something like
00:57:49evanPOSIX.chmod()
00:58:05evanseems like we could almost inline the code to call chmod without a guard
00:58:06evanyes?
00:58:16brixenyeah
00:58:40evanbecause we force FFI functions to be installed in Module's metaclass
00:58:46brixenmaybe a guard on POSIX's serial
00:58:58evanseems like we could just try ignoring the receiver all together
00:58:58brixenah yeah
00:59:00evanno guard
00:59:10evanit's really just a namespace in this case
00:59:13brixenhm, seems reasonable
00:59:24evani'm trying to figure out where that breaks down
00:59:26evanif it does
00:59:53boyscoutFix race condition in ConditionVariable#wait - cfb2e63 - Evan Phoenix
00:59:53boyscoutPromote VariableScope before using it as an object - 69396eb - Evan Phoenix
01:00:07evanrdoc found both of those
01:00:14brixencool
01:00:15evanthe former too me all day to debug
01:00:18evantook
01:00:42evanbasically, turns out that Thread.abort_on_exceptions can be scary
01:00:54brixenis that MRI CV code?
01:01:00evanCV?
01:01:01brixenor did we write it?
01:01:03evanno
01:01:07evanMentalGuy rewrote it
01:01:10brixenahh
01:01:11evani've tweaked it
01:01:36evanbasically, we have a call to Channel.receive_timeout (was just .receive before)
01:01:42evanand the OTHER thread would raise an exception
01:01:46evanand abort_on_exception was set
01:01:53evanso the main thread wakes up
01:02:09evanand the exception bubbles up as though it were raised by receive/receive_timeout
01:02:21evanwhich fucked up some mutex handling
01:02:35ezmobguys what version and where do i put the checkout of LLVM if i want to build rbx with llvm support?
01:02:37brixencrazy
01:03:04brixenezmob: svn head and vm/external_libs/llvm
01:03:18brixenRBX_LLVM=1 rake
01:03:23boyscoutCI: 69396eb success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors
01:03:27ezmobis there a rake task to get llvm?
01:03:48brixennope
01:03:54brixenone sec..
01:04:28brixensvn co http://llvm.org/svn/llvm-project/llvm/trunk
01:04:33ezmobdanke
01:04:36brixenbitte
01:04:41ezmobdo i need to rake distclean if i had it built without llvm?
01:04:48brixenevan: so, we should probably make llvm required soon
01:04:54brixenezmob: just rake should work
01:05:02ezmobk
01:05:02brixenRBX_LLVM=1 rake
01:05:16evanbrixen: yep.
01:05:23evanwe need to discuss how we'll do it
01:05:55evan2.6 will have be out in september
01:06:08evanso we'll need to figure out how to direct people to use svn
01:06:26brixenhave the build task svn co -r into external_libs/llvm if it doesn't exist
01:06:37brixenand run with RBX_LLVM=1 if it does
01:06:43brixenso it will fail gracefully
01:06:53lstollpeople have forgotten how to use svn already?
01:07:06brixenlstoll: svn help command is my lifeline :)
01:07:06evanbrixen: sure
01:07:08evanthat works
01:07:19evanlstoll: it's more whether or not it's "simple"
01:07:39brixenI'd like to forget how to use svn
01:07:47brixenthere is no get reset --hard rev :(
01:07:50brixener git
01:08:10lstollfair point. having the build task sounds like it'd work, and save people from caring. Or git-svn mirror it, and submodule.
01:08:17brixenI miss that command more than anything else besides branches
01:08:35evanthere is a git mirror of llvm
01:08:47evanwe could just experiment with having it be a sub module
01:09:01brixenyeah, that'd work too
01:17:32brixenerg, x zooming but not y yet
01:17:34evanhm, i don't think I can make constant access "pure"
01:17:35brixenso close
01:17:46evanso it can be folded away
01:17:56evanbecause of const_missing
01:18:02brixenhm, yeah
01:18:19evanyou'd think that all const_missing's would be resolved by the time the JIt kicks in
01:18:20brixenunless you can peek in the future and make sure it's not called
01:18:32evanbut remove_const can make future access call const_missing
01:18:33brixenllvm needs a future_peek function
01:18:42brixenyeah
01:19:34brixenneed a guard that's invalidated on a call to remove_const
01:19:56evanI think that could be easy
01:21:22brixenawesome, xy zooming goodness
01:22:21evanyay
01:23:03brixenI'll push as soon as specs run
01:23:08evanrad
01:23:08brixenevan: let's get this set up
01:23:12evanok
01:23:12brixenare we going to use elle?
01:23:15evanwe can do it on elle
01:23:17brixenok
01:23:27brixenso, how about benches.rubini.us?
01:23:34evansure
01:23:44brixenI'll do some runs from the past couple months
01:23:48brixenso we seed it with data
01:23:50evanawesome
01:23:52evanthats perfect
01:23:58brixenand build a 1.8.6 for a baseline
01:24:00evanoh, so since i've added direct threading back in
01:24:02brixenusing wyhaines patch
01:24:05evani need to redo the numeric benchmarks
01:24:11evanwe should be even with shotgun
01:24:15brixencool
01:24:58boyscoutRemoved benchmark results examples. - f026812 - Brian Ford
01:24:58boyscoutAdded baseline graphs and some graph cleanup. - 8a5fa5f - Brian Ford
01:24:58boyscoutAnother example graph page. - dfe9f00 - Brian Ford
01:24:59benschwarzthen you guys can come to australia guilt free
01:25:12brixenevan: have a look at benchmark/results/web/index.html again
01:25:21brixenthe bottom 2 graphs should zoom
01:25:32evanok!
01:26:11brixenI'll add an actual line to the graph at 1
01:26:41evanthe relative ones seem like they should be zoomed lower
01:26:48evanrather than going up to 6
01:26:56brixenyeah, I can add a config for that
01:27:10brixenI'm leaving us plenty of room to improve!
01:27:16brixenit's an incentive
01:27:24brixenthat's why I added zooming :)
01:27:29brixenfor all the complaints
01:27:30brixenheh
01:27:38evanhah
01:27:41evanso true
01:27:45evani can't wait until it's over 6
01:27:59brixenyeah, we'll have a big party and adjust the default
01:28:05brixento ceremony and drinks
01:28:24boyscoutCI: dfe9f00 success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors
01:28:29evansounds good
01:28:56brixenso, just tell me which dir on elle
01:29:11brixenI'll add a top link to rubini.us pages for the benchmark page
01:29:12evanjust make one
01:29:15evanand tell me where you put it
01:29:17brixenk
01:29:20evanand i'll add apache config for it
01:29:50brixenin my home dir, rubinius/benchmark/results/web/benchmarks.html
01:30:22brixener, prefix devel/
01:30:59evanbench.rubini.us?
01:31:04brixenthat works
01:32:20evani'll just set it to /web
01:32:28evanand you can make an index.html
01:32:36brixenk
01:33:30brixenthere's one in there now, so you should be able to test it
01:34:14brixenwyhaines: how should I get/build the 1.8.6 source for optimum goodness
01:34:24brixen(never mind the oxymoron)
01:34:25evanyou mean devel/rubinius
01:34:26evan?
01:34:29brixenyeah
01:36:56brixensweet, works for me
01:37:11brixennow to put some spit shine on it
01:38:13evanok, it might work now
01:38:20evani forgot to update my dns at first
01:38:29evanso i might have screwed up my own cache here
01:38:32brixenI'm seeing it
01:39:02evank
01:47:54boyscoutAdded benchmarks link. - 61daf49 - Brian Ford (gh-pages)
01:48:51brixenoops, not quite right
01:53:13evanstupid airport extreme isn't refreshing dns
01:57:07boyscoutAdded real links. - 9450d43 - Brian Ford (gh-pages)
01:58:05brixengithub is quite spritely on pushing out those changes
04:41:39boyscoutAdded rubini.us template. - f8e437e - Brian Ford
04:42:52brixenrock http://bench.rubini.us/
04:43:05brixennow, to start adding some bench data
04:44:06boyscoutCI: f8e437e success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors
04:47:26boyscoutFix menu link URLs in rubinius benchmark template. - fdd7307 - Brian Ford
04:51:56boyscoutCI: fdd7307 success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors
05:48:06brixenhi maharg
07:34:26brixenargh, it's taking more than 900 sec to run the rdoc benches
07:34:39evanreally?
07:34:44evanit was like 70 before
07:35:26brixenwell, total
07:35:34brixenit has to run them 6 times
07:35:44brixenonce to ensure it's compiled and 5 trials
07:35:47evanah.
07:35:52evanwowzers.
07:35:54evanovernight!
07:36:11brixenyeah, I kicked it off nohup before I drove home
07:36:19brixenfound out it timed out on the last trial
07:36:23brixenso close!
07:36:56brixenI'll have some real data here shortly http://bench.rubini.us/
07:37:12evanrad
07:38:02brixenI won't be able to run the jit going back, but I was going to run regular rbx like each week back in time up to feb or so
07:38:32brixenand I'll fix the cron to run this benchmark/app nightly now
07:40:02brixenweirdly, the mspec-ci bench had wildly different times, as low as 52s, a couple in ~80s, and one up to 153s
07:40:09brixenI dunno why it would vary so much
07:40:21brixenunless the load on elle is pretty sporadic
07:40:41brixenactually one was over 200s
07:41:15evanit could be
07:41:29evanput the script in git
07:41:36evani booted the macmini up today
07:41:38evani'll run it overnight
07:41:42evanwe can take a look at the results
07:41:49brixenk
07:42:35evanthere is no load on it
07:42:56brixenthe mini?
07:43:35evanyeah
07:43:46brixenyeah cool
07:45:24brixenwhat's the proper way to set env vars for a script exec'd by cron? can you put 'VAR=blah some_script' in the crontab?
07:47:28dbussinkbrixen: yeah, you can put that on top
07:47:52brixendbussink: on top of?
07:48:28dbussinkbrixen: in the crontab
07:49:02dbussinkbrixen: if you put in a MAILTO for example that works the same
07:49:11brixenah yeah, ok
07:49:15dbussinksets the env var and crontab uses that env var to determine who to send it
07:49:24brixenI recall that now
07:49:25brixenthanks
07:49:51brixenevan: to set up the baseline on the mini, run rake -q bench:dir DIR=benchmark/app/ VM=rbx GROUP=ruby-baseline
07:50:19brixenevan: the script will expect the baseline data to exist already
07:50:33brixener, VM=ruby
07:50:36evanok
07:52:28evanrad
07:52:46evanso, i've moved the abilities of GlobalCacheEntry into the JIT
07:53:06evanand by making it pin-able (awesome feature of immix)
07:53:24evani can embed derefs to direct address in the assembly
07:53:46brixensweet
07:53:59evanso that reading a cached constant is 2 moves, a compare, then a move
07:54:09brixenawesome
07:54:32evanok, brb.
08:06:18boyscoutAdd faster constant lookup to the JIT - a642a3b - Evan Phoenix
08:14:00boyscoutCI: a642a3b success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors
08:14:17evani also found a place in at&t x86 i really dislike
08:14:35evanmov 0x32a31, %eax
08:14:39evanand
08:14:45evanmov $0x32a31, %eax
08:14:49evanso similar, and so different.
08:15:04evanany ideas what the difference is?
08:15:14brixennope
08:15:31brixenI don't know what $ does
08:16:20evanthe first reads the int thats at 0x32a31 and puts the result into %eax
08:16:28evanie, it's deref's the address
08:16:41evanthe 2nd puts the number 0x32a31 into %eax
08:16:58brixenah, so $ is literal?
08:17:02evanie, it puts a constant int into a register
08:17:02evanyep
08:17:05brixenI see
08:17:12evani thought it was an LLVM bug
08:17:16evanfiled a bug and everything
08:17:19brixenheh
08:17:24evanthen sabre pointed out the difference
08:17:48brixenyeah, bleary-eyed assembly ogling ftl
08:18:03evanyep!
08:29:55brixendang, didn't build with llvm on elle before running the benches with the jit
08:30:03brixenwas wondering what was taking so long
08:30:32brixenit's like 'jit? what jit? <plod>'
08:39:51evanhehe
08:41:44evanI leaned on the GC dependent regions in the JIT
08:41:50evanto make constant lookup fast
08:42:02evanso I wrapped it up into a C++ RIAA object
08:42:09evanso I can just do
08:42:15evanAccessManagedMemory memguard(ls_);
08:42:19evanat the top of a function
08:42:24evanand access managed memory the whole function
08:42:24brixennice
08:42:28mahargRAII you mean?
08:42:33evanyeah, that guy.
08:42:38evannot the guys that hate my music
08:42:38mahargI'd hope the recording industry isn't in rubinius
08:42:45brixenheh
08:44:08brixenhm full spec run seems to be ~5s faster for me, was ~55-56 now ~50-51
08:44:21brixenmaybe my computer is quieter this late
08:47:58evanfaster since when?
08:48:03evani did do all that perf work
08:48:10evanso you're probably seeing it
08:49:53evani've got the macmini plugged into my TV
08:50:01evanit's actually pretty darn cool to have
08:50:39brixenfaster since a day ago I think
08:50:53evanhm
08:51:00evanjust lucky maybe!
08:51:03boyscoutRemoved example benchmarks graph page. - 214e9fa - Brian Ford
08:51:03boyscoutExample cron script to run app benchmarks. - ff80dfd - Brian Ford
08:51:19brixenok, the script is in benchmark/utils
08:51:37brixencron_daily
08:51:56brixenit's got comments, but check it before I crash
08:53:22boyscoutCI: ff80dfd success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors
08:54:22evanok
08:54:31evanactually
08:54:32evannah
08:54:33evanget to bed
08:54:37evani'll start it in the morning
08:54:41brixenok
08:54:42evani've got to get LLVM up on this machine
08:54:53brixenI'm setting elle to run this but yeah, need to compile llvm first
08:54:58brixenthat should take a while
08:54:59evanyep
08:55:11brixenso, open source bridge tomorrow
08:55:19evanoh yeah!
08:55:21brixenI need to finish my slides
08:55:23evanyou all ready?
08:55:33brixenbut I'll start working on importing syck
08:55:38brixenpretty ready
08:55:46evancoolness
08:55:48brixenI'm pretty familiar with the topic :)
08:55:59evanyeah, the best kind of talk to give
08:56:04brixenheh yeah
08:56:04evanthats why i hardly prepare anymore
08:56:17evani've got it coming out my pores at this point
08:56:29brixenyeah
08:56:51brixenthe hard thing for presenting is remembering what it was like before that
08:57:08brixencus that's what the audience is like
08:57:26brixen'the what does how to who?!'
08:57:39evanhehe
08:57:47evanin those cases
08:57:50evani take a quick survey
08:57:56evanto figure out where people are
08:58:05brixenyeah
09:19:46boyscoutFix line endings. - 8952959 - Brian Ford
09:19:46boyscoutAdd ticks when zooming graphs. - 44d1da7 - Brian Ford
09:22:07boyscoutCI: 44d1da7 success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors
09:46:12brixenevan: I needed this to compile on elle, but it doesn't work on os x http://gist.github.com/131153
09:46:33brixennot sure the best way to conditionalize that
09:48:49evanumm
09:48:50evanreally?
09:49:06evani thought llvm-config set those flags...
09:50:24evanput a #ifndef __STD..
09:50:26evanconditional around it
09:51:49brixenk
09:52:29brixenalso, seeing what seems to be a hang in Thread#wakup spec
09:55:04brixenhttp://gist.github.com/131156
09:55:51evanhrm
09:55:51evanok
09:56:56evani'll take a look tomorrow
09:57:05brixenok
09:57:12evani fixed check_serial
09:57:18evanwhich gives us another little boost
09:57:21evanabout to commit it
09:57:30brixennice
09:57:39evanClass.new is a lot more effecient now
09:57:46brixenexcellent
09:57:56evanwe don't have to box the arguments to pass them into initialize
09:58:08evancheck_serial sees if we would have called the normal Class#new
09:58:25evanand if so, does the allocate and initialize in the caller
09:58:41evanwith the arguments evaluated and passed directly into initialize
09:58:58brixencool
09:59:07evanit ignores complicated call sites
09:59:11evansplats, blocks, etc.
09:59:21evanjust passing all that to the normal Class#new
10:00:31evanoh, and nicely
10:00:40evancheck_serial works joinly with a send instruction
10:00:46evancoordinating a single SendSite object
10:00:54evanthe send fills it, check_serial checks it next time
10:02:17evanoooh
10:02:25evanwe're right on the cusp of sub 50s specs runs
10:02:33evanjust got 50.42
10:02:41brixenyeah, something sped it up in the last day
10:02:47boyscoutCheck that a GlobalCacheEntry exists before using it - b7858b5 - Evan Phoenix
10:02:47boyscoutFix check_serial - 0bf2da3 - Evan Phoenix
10:02:56brixenbecause I updated to do the graph stuff
10:03:03brixenand I was getting 55-56s
10:04:05evanit could have been direct threading maybe
10:04:14evananyway
10:04:16brixenah could
10:04:25evanor maybe pixie dust
10:04:27evani'll take either.
10:04:28brixenthis thread pass spec is wtf
10:04:34brixenI hate these thread specs
10:04:35evani'm off to bed
10:04:37brixenyep
10:04:40brixennite!
10:04:41evana spec for Thread#pass
10:04:43evanUG.
10:04:52evanyou should get some sleep too
10:04:57brixenit's Thread#wakup actually
10:04:57evanwhat time is your talk?
10:05:06brixenthurs at 11:20
10:05:22evanoh, not tomorrow
10:05:23evangotcha
10:05:23brixenI've got 30 hrs or so
10:05:24evanok
10:05:25brixenheh
10:05:36evanyou can stay up later then
10:05:38evan:D
10:05:39evannite!
10:05:41brixennite!
10:08:38boyscoutCI: 0bf2da3 success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors
10:09:17boyscoutInclude __STDC_LIMIT_MACROS stuff if needed. - 794b460 - Brian Ford
10:11:34boyscoutCI: 794b460 success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors
12:07:44nemerle_mHello, are there any known mspec-ci failures ( threads ) on current master ?
16:16:11Ingmargit HEAD fails to compile for me http://dpaste.com/56437/
16:16:33IngmarLinux x86_64, GCC 4.4.0
16:18:40nemerle_mHi, i'm too using gcc 4.4, but i didn't have this problem, could you try to change the 'char *tmp;' line to 'const char * tmp;' ?
16:21:20Ingmarsure, a sec
16:23:12IngmarThat gives me http://dpaste.com/56439/
16:23:28IngmarWouldn't not using -Werror avoid making it fatal though
16:24:05nemerle_myou might also encounter one other issue, id_to_quark is using tLAST_TOKEN, but tokens are defined later on, I've solved that by moving id_to_quark below scan_hex
16:26:44nemerle_manother issue you might encounter is strict aliasing problems in libgdtoa
16:28:54nemerle_madding CC flag '-fno-strict-aliasing' to the libgdtoa's Makefile solved that one for me :)
16:29:12IngmarIs there any way to build using system libraries, instead of included 3rdparty libs?
16:31:04nemerle_mnot that i know of, but then, i know not a whole lot :)
16:31:13Ingmaroki, thanks :)
16:31:31Ingmarmore than I know at least ;)
16:32:11nemerle_mwell, i tackled the same problems (sans "char * -> const char *" one ) just yesterday
17:12:25brixendang, I keep missing nemerle
17:14:45brixenIngmar: which distro are you using?
17:15:46Ingmarbrixen: Exherbo, pretty sure you don't know it yet :)
17:15:53Ingmarbrixen: Why?
17:16:01brixenheh, no I hadn't heard of it
17:16:08brixenI want to fix the gcc 4.4 issues
17:16:12IngmarIt's sort of similar to Gentoo
17:16:18Ingmarok
17:16:22brixenI've got an ubuntu x86_64
17:16:30brixenI'm booting vbox now
17:16:41Ingmargreat
17:16:49IngmarI'll gladly test patches :)
17:17:05brixencool
17:17:06IngmarIs rubinius packaged in any linux distros atm?
17:17:23brixenI think someone was working on a deb or ubuntu package
17:17:30brixenwe'd love to have packagers
17:20:26sbryant_workbrixen: I saw the benchmark graphs. Neat, but they're kind of difficult to read.
17:23:07brixensbryant_work: which? the bench.rubini.us?
17:23:19sbryant_workYep
17:23:49sbryant_workI don't really see any metrics.
17:24:00sbryant_workWhich make it hard to understand what those numbers really mean
17:24:01brixenwell, there's a couple issues, 1 there is no data really, 2 the benches have a big range
17:24:13sbryant_workFair enough
17:24:27brixenthe top graphs are # of seconds, the bottom are X times MRI (baseline)
17:24:47brixenthey are snapshots
17:25:00brixenyou can see in the bottom, all the dots are below the baseline 1X MRI
17:25:09brixenpretty clear there
17:25:18brixenso, you should see the top graphs trending down
17:25:23brixen(takes less time to run)
17:25:29brixenand the bottom trending up
17:25:34brixen(closer to MRI)
17:25:50sbryant_workGotcha
17:25:54brixenand eventually crossing the baseline into N X MRI where N > 1
17:26:18brixenI'll be backfilling some of the data from the past 4 months
17:26:22sbryant_workMakes sense
17:26:29brixenbut the jit data will start from yesterday
17:26:37brixensince the jit is really new
17:26:38sbryant_workAhh.
17:26:47sbryant_workYeah, been following the commits.
17:27:00brixenfor some reason, my cron didn't run last night though
17:27:03brixennemerle!
17:27:15brixennemerle: hey, do you have a patch for all the gcc 4.4 fixes?
17:27:42sbryant_workbrixen: cool. Thanks for the update. Wish I could help, but I was robbed and they stole my laptop :-\
17:27:46nemerlesure thing, let me clean it up a bit
17:29:20brixensbryant_work: wow, that sucks! did they catch them?
17:29:26brixennemerle: awesome
17:29:33brixennemerle: also, what distro do you use?
17:29:36sbryant_workbrixen: no.
17:29:43sbryant_workAnd what's worse is that they took the kindle with them
17:29:44brixensbryant_work: :( sorry to hear that
17:29:49brixendamn!
17:29:58sbryant_workSo I have a way to track it but amazon isn't really doing anything for me
17:30:18sbryant_workYeah it sucks a lot.
17:30:25sbryant_workEspecially since everything was brand new.
17:30:34brixenno doubt
17:30:38brixenwhere were you?
17:30:44sbryant_workI was home sleeping.
17:30:58brixenburglary?
17:31:01sbryant_workYep
17:31:04brixenjeez
17:31:13sbryant_workThe people actually came into the bedroom while I was sleeping
17:31:18sbryant_workWoke me on their way out.
17:31:25sbryant_workDidn't get a chance to see them or anything
17:31:37brixenmessed up
17:31:45sbryant_workYeah it is.
17:31:48brixenI suppose that's when you wish you had a dog
17:31:49sbryant_workIt only gets worse.
17:31:56brixena big dog with big fangs
17:32:00sbryant_workMy laptop bag and everything was already packed up.
17:32:20sbryant_workSo my preparedness only helped them :(
17:32:34brixenyeah, like a giftwrapped package :(
17:33:25sbryant_workYeah, my living room is like a grab bag for thieves.
17:33:54sbryant_workBut I'll give it another week and then pony up and buy a new one :-\
17:35:52brixenare you thinking of buying a dog too?
17:36:18sbryant_workNo.
17:36:29sbryant_workMy friend wants me to get a kitten so her kitten can have a playmate
17:36:36brixenheh
17:36:50brixencuteness only gets you so far it the world
17:36:54sbryant_workI'll get a guard kitten.
17:37:03brixenyou can't lol those bastard thieves away
17:37:08sbryant_workhaha.
17:37:29sbryant_workI'm probably going to move into a better neighborhood.
17:37:42brixenwhereabouts do you live?
17:37:48sbryant_workI live in Atlanta in a not so nice area.
17:37:53brixenahh
17:38:16sbryant_workI'm not kidding there's a homeless shelter across the street from me. And on the other street is a rehab center.
17:38:35sbryant_workAnd the other place across the street is the place where they make the crack for the rehab patients.
17:39:31brixenum yeah, get out of dodge
17:40:12sbryant_workYeah, a friend is moving here from Germany in a couple of weeks and I'll probably move then.
17:40:55sbryant_workThere are some fancy high rise places that I'm looking at.
17:41:05sbryant_workI just don't want to fork over 2600 a month in rent.
17:41:43sbryant_worklikes to save money
17:41:49brixenyeah, that's spendy
17:41:58brixenat least in portland
17:42:13brixenyou can get a pretty big place in the the most expensive part of downtown for that
17:42:18brixenin a highrise
17:42:43sbryant_workThat's neat. I need to get out to Portland.
17:43:07sbryant_workMidtown isn't the cheapest but it's not the most expensive by a longshot.
17:43:17nemerlebrixen: i'm on debian squeeze/sid
17:43:28nemerlebrixen: http://www.nemerle.eu/gcc_4.4.diff
17:43:57brixennemerle: awesome
17:44:12brixenI'm trying to get my ubuntu vbox running 4.4
17:45:07nemerlebrixen: there is also a problem with threads ( mspec-ci fails ), but that one might be a 'bit' harder for a newb such as me, to find/fix :)
17:45:52brixenyeah, there are some issues with threads
17:46:09brixenI was seeing a sporadic hang on Thread#wakup on a deb machine
17:46:58nemerlethat one, as well as assertion caused by EAGAIN ( resources exhausted ) on the deadlock thread spec
17:47:09brixeninteresting, ok
17:47:36nemerlebut when running only that specific spec it ran ok
17:47:56nemerleso it looks like threads just don't die :)
17:48:08brixenyeah, those failures can be a bitch
17:48:45sbryant_workcould it be a signal causing all conditionals to wake up?
17:49:21brixenwell, evan fixed a race that was causing an issue with a mutex yesterday
17:49:42brixenthis is what I saw last night http://gist.github.com/131156
17:49:57brixenso, looks like it could be a similar issue
17:54:36sbryant_workbrixen: did you check the other threads?
17:55:04brixennah, it was 2am
17:55:18brixenI just grabbed some bts
17:55:23sbryant_workahh
17:55:54brixencrap, distclean cleans llvm too :(
17:55:58brixenwe'll have to fix that
17:56:41brixenhm, shouldn't have set RBX_LLVM
19:09:46boyscoutFix indent - 397faf1 - TAKANO Mitsuhiro
19:12:17brixenevan: so, I accidentally ran rake distclean with RBX_LLVM=1 on os x and while building got the error at the top http://gist.github.com/131399
19:12:29brixenI think the diff at the bottom is a better way to handle it
19:12:46brixenor add -D__STDC_xxx to FLAGS in vm.rake
19:12:52brixenwhat do you think?
19:13:06evanthats fine
19:13:13evanthose -D's i think came from llvm-config by default
19:13:14brixenI can't repro the path to it, frustratingly
19:13:29brixenyeah, but for some reason are not defined in a certain path
19:13:35brixenand I can't figure out which
19:13:39boyscoutCI: 397faf1 success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors
19:13:42evanhm.
19:13:56brixenso, use the #ifndefs or add -D to vm.rake?
19:14:07evankendall :: git/rbx ยป vm/external_libs/llvm/Release/bin/llvm-config --cflags
19:14:07evan-I/Users/evan/git/rbx/vm/external_libs/llvm/Release/include -D_DEBUG -D_GNU_SOURCE -D__STDC_LIMIT_MACROS -D__STDC_CONSTANT_MACROS -O3 -fno-common
19:14:18brixenyeah, I grepped and saw those
19:14:22evanlets just be sure we're getting all those flags in
19:14:30evanwe should be getting them
19:14:38evanand not need to hardcode them ourselves
19:14:41brixenyeah
19:14:56brixenit happened both times rebuilding llvm completely
19:15:00brixenon os x and elle
19:15:15evanoh
19:15:17evanyou know what
19:15:23brixenI can't get it to happen by building llvm partially (ie removing an llvm lib)
19:15:26evani'll bet it's happening trying to compute the deps...
19:15:35evanvm.rake makes me cry.
19:15:35evansigh.
19:15:35brixenah could be
19:15:39brixenyeah
19:16:40evanhm, yeah, it should be using all of --cflags
19:16:47evanexcept for -O
19:24:29brixenevan: hm, the updating deps code explicitly adds those macros
19:24:58brixenargh, I wish there was a way to repro this without the process taking 30 min
19:34:15brixenbuilds llvm for the 3rd time today
19:34:36evan:(
19:37:23brixenhm pragprog has a new book in beta 'Debug It!'
19:37:28evanoh?
19:37:37brixenyeah
19:37:44brixenI think I'll get it
19:37:54evanurl?
19:38:18brixenhttp://www.pragprog.com/titles/pbdp/debug-it
19:38:38brixenohh heh, chapter "Teach Your Software to Debug Itself"
19:38:41brixensold!
19:39:17brixenrbx --debug-yourself core-file :)
19:39:56evan--fire-it-out-yourself-jerk
19:39:57evaner.
19:40:04evan--figure-it-out-yourself-jerk
19:40:10brixenheh
19:40:25evanrolls his eyes at his own hands
19:40:41evan's hands give his eyes the finger
19:40:49brixenhaha
19:41:36brixenit's this damn primitive tech, we should all be holograms in a room by now
19:42:00brixenwhere's my hoverboard?!
19:43:37scooprand transparent aluminum
19:44:48evanand whale aliens!
19:44:55evanoh wait, thats startrek 4.
19:45:16brixenthis looks interesting too http://www.pragprog.com/titles/tpdsl/language-design-patterns
19:59:03evanshouldn't rake's file tasks be recursive?
19:59:20evanb has c as a prereq, a has b as a prereq
19:59:24evanc changes, a should be rebuilt
19:59:35brixenyou'd think
20:00:16evanok, rake doesn't do that
20:00:23evanand i think thats the source of a lot of frusteration
20:01:28boyscoutFixed the shebang on the bench cron script. - 4baaa76 - Brian Ford
20:01:28boyscoutPatch from nemerle for GCC 4.4. - 0f637e4 - Brian Ford
20:01:28boyscoutBetter fix for LLVM needing __STDC macros. - 926be1c - Brian Ford
20:02:00brixenevan: committed nemerle's gcc 4.4 patch, I think it warrants a commit bit
20:02:09evanok
20:02:16evannemerle: let me know your github info
20:02:33brixenI still don't have gcc 4.4 to test, but it doesn't break anything on os x or elle
20:03:33evanok
20:04:52brixendist upgraded my x86_64 ubuntu vbox so I'll install 4.4 on that
20:05:12evancool
20:06:09brixenoff to the conf, not sure how good wifi will be, but I'll probably be around
20:06:18boyscoutCI: 926be1c success. 2709 files, 10767 examples, 33781 expectations, 0 failures, 0 errors
20:06:36evanno prob
20:06:37brixenI'll be running benches on elle to backfill those graphs
20:06:37evanhave fun!
20:06:42brixenthanks!
20:42:11dgtizedwhere are the benchmark graphs going? just in the repo or on the web somewhere?
20:42:34evanbench.rubini.us
20:43:21slavayo evan
20:44:11evanyo yo