Index

Show enters and exits. Hide enters and exits.

00:23:21evanquiet day
00:24:35slavahi evan
00:24:57evanhello slava
00:27:09slavaI haven't gotten much done lately, having a difficult time implementing some algorithms
00:27:28evanstill working on your cross block stuff?
00:27:47slavayeah
00:28:06slavahow's your jit coming along?
00:28:17evanpretty good
00:28:42evanneed to get blocks JIT'ing
00:28:47evanworking on that now, sort of.
00:28:53evangot side tracked, looking at the code in Array
00:34:56boyscoutRevise Array#slice! for speedup - f36b819 - Evan Phoenix
00:34:57boyscoutMinor clean and optimization of Array#[]= - ef2a006 - Evan Phoenix
00:34:57boyscoutRemove CompiledMethod#activate_as_script - a67580f - Evan Phoenix
01:03:10brixenle sigh
01:05:03brixenevan: read through some of these http://gist.github.com/126154
01:05:06evanbrixen: sup?
01:05:25brixenFloat() converts String without calling #to_f
01:05:37evanoh come on!
01:05:43brixenInteger() raises if there are trailing underscores
01:06:08tarcieriwow
01:06:14tarcierijust tried doing AST munging in Ruby
01:06:18tarcierimutable state is... handy
01:06:37tarcierino goddamn mapfold_subtrees insanity
01:06:50evanbrixen: i don't know if spec'ing that Float() must not use String#to_f is valid
01:06:53evanpersonally
01:08:03brixenevan: you get my pm?
01:09:52brixengit add -i is the poor man's merge but pretty effective
01:10:19evanyep
03:48:12ddubgood evening everyone
03:51:42yakischlobaevan: cuda?
04:30:56brixenhttp://gist.github.com/126236
04:31:27brixenbullshit mri, bullshit bullshit bullshit
04:31:43brixenis in a bad mood trying to update rbx rubyspecs
06:14:13boyscoutUpdated MSpec source to d47b8987. - 3e33fab - Brian Ford
06:14:13boyscoutUpdated CI frozen specs to RubySpec 68fb64a5. - 607885a - Brian Ford
06:14:13boyscoutPorted MRI fix for bigdecimal. - dcf61e8 - Brian Ford
06:14:13boyscoutFixed rb_str_resize to update cached data. - 585b948 - Brian Ford
06:14:13boyscoutFixed String() regexp for valid floating-point Strings. - 990b5ea - Brian Ford
06:14:14boyscoutUpdated CI tags for merged rubyspecs. - c33c67d - Brian Ford
06:19:55boyscoutRemoved inadvertently added MSpec gem. - fce471c - Brian Ford
14:17:18badboyhello
16:07:32brixenbadboy_: hello
16:57:07badboyok, re
16:57:23badboysomeone here? i can't compile rubinius =(
16:59:16brixenbadboy_: what platform are you on?
17:00:55badboylinux
17:01:02badboyarch linux to be precise
17:01:18brixenuse pastie or gist to paste me what you get
17:01:39badboyyeah, i'm on it ;)
17:02:23badboyhttp://gist.github.com/126594
17:03:39brixenhm, that's a new one
17:03:43brixenwhat gcc version?
17:03:55badboy[~]% gcc --version
17:03:56badboygcc (GCC) 4.4.0 20090526 (prerelease)
17:04:04brixengood lord :P
17:04:10brixenso loves gcc
17:04:14badboy=D
17:04:24brixenbadboy_: you might be the first to try on 4.4.0 :)
17:04:31badboyah, ok :)
17:04:37badboy*install 3.4*
17:04:43brixenif you use 4.3.x you should be good
17:04:51brixenor send us a patch for 4.4
17:05:06badboyok, maybe i find some time tomorrow =D
17:05:31brixenI wonder if there is a gcc 4.4 package for ubuntu
17:05:38brixenI suppose I could build from source
17:06:39badboyi love arch linux =D
17:06:53badboyalways bleeding edge :)
17:06:57brixenheh
17:07:12badboyand full control over installed packages
17:07:20brixenwell, should be easy enough to fix up rbx
17:07:33brixenI just don't have any 4.4 installed at the moment
17:07:36badboyok
17:07:56badboyi will try compiling with gcc 3.4.6 now
17:08:13brixenyou should use at least 4.0
17:08:43badboydamn...my cpu is so slow *zZzZzZ*
17:10:22badboyhm...another error...
17:25:47badboydumdidum...compiling gcc 4.3 *zZzZzZ*
17:26:58badboyok...chainging the related line from strchr to a simple (char*)strchr causes another error
17:27:16badboygrammar.y:201: error: 'tLAST_TOKEN' was not declared in this scope
17:27:24badboyi'll wait for gcc 4.3 to finish..
17:29:46brixenbadboy_: that's odd, I compile with 4.3.3 on ubuntu jaunty jackass without any errors
17:30:10badboyyeah...my 4.3.3 is not yet compiled ;)
17:30:25badboythe last_token error is from 4.4 too
17:31:04brixenahh ok I see
17:32:29badboyok, configure is running...
17:55:28dbussinkbrixen: i've been able to compile it with 4.4.0 on os x
17:58:36brixendbussink: sweet
17:58:40brixenwithout errors?
17:58:52brixenor did you patch anything?
17:59:01dbussinkbrixen: yeah, although i don't think i rebuild any external deps like llvm etc.
17:59:18dbussinkbrixen: so it was kindof a frankenstein, but it did work :0
17:59:19dbussink:)
17:59:22brixenheh
17:59:40dbussinkworks pretty well with macports actually
17:59:43brixenwell, good to know the tradition of gcc being different on apple continues with 4.4 :)
18:00:27dbussinkyeah, snow leopard will probably bring another gcc hybrid spawned in the bowls of cupertino
18:09:14evanmorning
18:14:18badboymorning?
18:19:47brixenbadboy_: heh, what tz are you in?
18:32:19badboygmt +1
18:32:22badboygermany =D
18:32:24badboyand you?
18:33:40evanbadboy_: he's in PST -8
18:33:53brixenbadboy_: and so is evan :)
18:34:08brixenbadboy_: so yeah, moring for us
18:34:14brixener morning rather
18:36:42evanheh
18:40:07badboyok...
18:40:08evanbrixen: so, i'd love to read that paper on a generational GC for ruby
18:40:11evansad that it's in japanese
18:40:13evanoh well.
18:40:25badboy*grml* gcc 4.3 is still compiling
18:40:41evanwhy are you compiling gcc 4.3?
18:41:33badboybecause with gcc 4.4 I get an error compiling rubinius
18:41:40evanoh?
18:41:42evanwhat error?
18:41:56badboyand I hope gcc 4.3 will fix this..and if it does, I will try to patch the code to work with 4.4 aswell =D
18:42:07badboyhttp://gist.github.com/126594
18:42:09badboythis
18:42:26evanoh, thats easy to fix
18:43:07badboyyeah, i thought that, too
18:43:12evantmp just needs to be declared as a const char*
18:43:16badboybut fixing this error brings up another on...
18:43:28evanwhats that one?
18:43:59badboyone moment...
18:44:28badboyfirst: YEHA! gcc 4.3 just finished^^
18:44:48evanhah
18:45:28badboyvm/parser/grammar.y: In function 'quark rubinius::parser::id_to_quark(quark)':
18:45:28badboyvm/parser/grammar.y:201: error: 'tLAST_TOKEN' was not declared in this scope
18:45:37evanwell now
18:45:39evanthats just not true
18:45:52badboy:)
18:45:55brixenevan: dbussink said he's compiled on os x using 4.4, so the gcc platform fun continues with that version
18:46:06evanwoo. :(
18:46:24brixenbadboy_ is on arch linux
18:46:24evanbadboy_: um.. you're going to have to debug the bison output a little
18:46:36evanwow, arch. I didn't think people actually used arch.
18:46:37evan:D
18:46:43badboyo_O
18:46:54badboyhttp://archlinux.org/ it's great
18:47:17badboyi will try if my gcc 4.3 works and then test with this
18:47:57evanok
18:53:15badboyi just saw the "vm/parser/grammar.y" line flushing over the screen...seems like 4.3 has no problems there
18:54:02evanbadboy_: hm. ok.
18:56:26badboyaaaaaaaaaah! with gcc 4.3 it compiled successfully...
18:56:32badboyit's running the tests at the moment
19:01:21badboy2709 files, 10679 examples, 33476 expectations, 12 failures, 0 errors
19:03:24brixeninteresting
19:03:37brixenbadboy_: could you pastie the spec failures
19:03:41badboyso it's definitely related to gcc4.4 -_-
19:03:47badboyyeah, of course
19:05:22badboyhttp://gist.github.com/126690
19:09:10evanthats probably linux
19:09:27badboyyou're on a mac?
19:09:57evanyep
19:10:11badboy^^
19:11:28brixenhrm, why are those Math specs not failing on linux
19:11:46brixenbadboy_: what is the value of your MRI RUBY_PLATFORM const?
19:11:46evanthey're failing
19:11:50evanjust differently
19:12:13evani think linux uses ERANGE instead of EDOM
19:12:17badboy[~]% irb
19:12:17badboy>> RUBY_PLATFORM
19:12:17badboy=> "i686-linux"
19:12:18brixenyeah, the EDOM vs ERANGE is fucked
19:12:21evanwe ran into this before at one point
19:12:23brixenbadboy_: ok cool
19:12:43brixenwe'll need to conditionalize that
19:13:15brixenor define the expected constant I suppose
19:13:27brixenin platform
19:19:51brixenevan: oh! can you kick boyscout CI
19:19:57brixenhe hasn't reported in a long while
19:20:06evansurely.
19:20:13brixenI'm surprise that last failure about Date#civil is in there
19:20:17brixenit's supposed to be tagged
20:12:29evanweird!
20:12:34evansomehow we do the right thing for:
20:12:43evanclass X; def initialize; yield; end; end; p X.new { break 42 }
20:12:47evanie, print 42
20:15:01evanah, i know why
20:15:02evanfunny.
20:15:10evanit's a wonderful reason too
20:17:10evanie, our Class#new is not special in any way
20:17:13evanit's just ruby code
20:17:15evanlove it!
20:17:21brixenheh, yeah
20:17:48evanI forget about the semantics of break-in-a-block
20:58:19evanmuhaha
20:58:21evani love LLVM.
20:58:26evani got it wired up to JIT blocks
20:58:42evanso, as I test, I had it JIT "{ 1 }"
20:58:51evanand got
20:58:51evan 0x2980010 mov $0x3, %eax 0x2980015 ret
20:58:54evanthats it.
20:58:58evan2 x86 instructions.
20:58:58brixenhah sweet!
20:59:02brixenno call
20:59:10evanwell, this in the block body
20:59:14brixenahh ok
20:59:18evanis this is post block invocation
20:59:19evanbut still
20:59:28brixenyeah
21:07:03devinusis rubinius using the ruby parser yet?
21:07:39evanwe've been using it for quite some time now
21:07:57evanwe don't use it inside rubinius all the time because it slows things down too much
21:08:02brixendevinus: you can enable it in rbx by passing --ruby_parser
21:08:15brixendevinus: the rake tasks use it to compile the kernel as well
21:09:10devinusok, i was just wondering because i just noticed it in a backtrace
21:09:25brixenbacktrace of what?
21:10:01devinusbrixen: i can't remember :-/
21:10:04brixenheh
21:10:05brixenok
21:10:33devinusthis may sound stupid
21:10:44devinusbut i'm actually using rubinius to teach myself ruby
21:10:54brixencool!
21:11:01brixenthat sounds like a great idea :)
21:11:26devinusit's a great learning tool to be able to go through all the ruby kernel and see what it does
21:12:54devinusfor instance, i can see the ruby implementation of FalseClass
21:13:16brixenyeah, it's pretty cool to see that stuff in ruby
21:22:50badboygood night, guys ;)
21:33:36dgtizedhmm something since yesterday caused this to fail: Date#civil doesn't blow up (illegal instruction and segfault, respectively) when fed huge numbers FAILED
21:33:57dgtizedbecause of: Expected FloatDomainError but got FatalError (failed to allocate memory)
21:34:25brixenI just tagged that
21:34:32brixendid you pull recently?
21:35:59brixenevan: can you see if boyscout is getting notified
21:52:02dgtizedbrixen: ah, yup I see that now
21:59:54brixendgtized: yeah, those are weird
22:00:04brixenI can't get it to happen in isolation
22:00:23brixenthey're from merging an MRI patch to bigdecimal that prevents a segfault
22:05:23rueHave stubs generating.
22:19:07evanbrixen: CI was hung
22:19:11evanbrixen: i restarted it
22:33:25brixenevan: I've pushed since then
22:33:43brixenunless you mean just now CI was hung
22:33:50evanwell, i restarted it...
22:33:51evanhm.
22:34:09brixenrubyspec irccat is reporting, so that made me wonder about boyscout
22:34:27evanhm, no, CI finished....
22:34:30evanponder...
22:34:41evanoh oops.
22:39:37evanok, should be working now.
22:39:52evandouble checking
22:43:31boyscoutCI: d0ba11d success. 2709 files, 10677 examples, 33474 expectations, 1 failure, 0 errors
22:44:52brixenall righty
22:48:19brixenso wth does that run clean on ubuntu after that commit...
23:21:02brixenevan: I'm looking at Kernel/common/proc.rb line 39 in #binding, where do I get the static scope of the BlockEnvironment?
23:21:39evanfrom the CM the block uses
23:21:53brixenok
23:22:13brixensure 'nuff, thanks
23:22:28evannp