Show enters and exits. Hide enters and exits.
| 00:13:21 | evan | brixen: i'm making mkmf into a library :/ |
| 00:13:35 | brixen | heh |
| 00:13:37 | brixen | ok |
| 00:13:50 | evan | mkmf sets up -D defines when you call have_func |
| 00:13:59 | evan | and they're checked for all over the openssl code |
| 00:14:02 | evan | so there is really no gettting around it |
| 00:14:09 | brixen | right |
| 00:14:10 | evan | unless I go through openssl tediously |
| 00:14:15 | evan | and i'm feeling extra lazy today |
| 00:14:19 | brixen | ok |
| 00:34:45 | evan | BLARG. |
| 00:34:52 | evan | it's a black hole of tedium. |
| 00:34:57 | evan | gives up for now. |
| 00:40:54 | brixen | yeah, it's such a pita |
| 00:43:53 | evan | i'm pushing the work i've done thus far to a branch |
| 00:46:10 | boyscout | Fix invalid method - bcc24f0 - Evan Phoenix |
| 00:46:10 | boyscout | Simplify checking for modification - 7db7249 - Evan Phoenix |
| 00:46:24 | evan | those were 2 other commits |
| 00:46:30 | evan | the openssl branch is pushed now |
| 00:46:33 | evan | if you wanna check it out |
| 00:47:27 | brixen | ok |
| 00:48:14 | brixen | I'm fixing some 1.8.7 specs, then I'm going to sync the specs |
| 00:48:25 | brixen | then fix some mspec stuff and sync that |
| 00:48:55 | boyscout | CI: 7db7249 success. 3004 files, 11486 examples, 35631 expectations, 0 failures, 0 errors |
| 00:49:35 | evan | cool. |
| 00:51:45 | brixen | man, what *is* it with ppl and whitespace |
| 00:52:04 | brixen | "if I pack this into one tiny line it will be golden...." |
| 00:54:42 | BrianRice-work | brixen: they fear staring into the unknown in the gaps between the characters |
| 00:54:50 | brixen | BrianRice-work: haha |
| 00:54:52 | brixen | must be.... |
| 00:55:07 | brixen | fear the void... it'll eat you alive |
| 00:55:08 | brixen | muhahah |
| 00:56:52 | brixen | BrianRice-work: btw, I think I forgot to introduce you... |
| 00:56:52 | brixen | evan: BrianRice-work is the Slate guy |
| 00:56:52 | BrianRice-work | oh, no worries. I'm still at a lurking stage |
| 00:56:52 | brixen | BrianRice-work: evan is the rubinius guy... |
| 00:56:52 | evan | ah! |
| 00:56:52 | brixen | hehe |
| 00:56:52 | evan | BrianRice-work: your reputation preceeds you. |
| 00:56:52 | BrianRice-work | Slate is under heavy hacking at this point. we have a lot of ground to make up |
| 00:56:52 | brixen | BrianRice-work: nothing like putting you on front street huh? :) |
| 00:56:52 | BrianRice-work | wow, I hope not :) |
| 00:57:00 | evan | BrianRice-work: i hear you guys are considering using LLVM then? |
| 00:57:21 | BrianRice-work | evan: sure, and we do have an unfinished plugin for using it. at least our instruction set is SSA (memory-managed) |
| 00:57:37 | BrianRice-work | src/unfinished/llvm iirc |
| 00:57:57 | BrianRice-work | nope, it's src/llvm/ |
| 00:58:46 | evan | yeah, i was checking it out |
| 00:58:56 | evan | looks like you have bound to LLVM via the C bindings |
| 00:59:12 | BrianRice-work | lately I've been just attacking the performance and usability issues. I *need* a real module system for slate before I do a bunch of other things. right now we just have a load: method for files which just exec's stuff |
| 00:59:17 | evan | those tend to be a bit cumbersome compared to the C++ API |
| 00:59:26 | BrianRice-work | right. although we changed our VM from C->C++ since that was written |
| 00:59:37 | BrianRice-work | so I guess that could also be fixed now |
| 00:59:48 | BrianRice-work | writes a google code issue |
| 00:59:55 | evan | :) |
| 01:00:11 | evan | the only downside is that your JIT is in C++ then |
| 01:00:23 | evan | or at least custom IR to LLVM IR step is. |
| 01:01:17 | BrianRice-work | nods |
| 01:04:12 | BrianRice-work | actually, I forgot to ask brixen, but do you guys have the equivalent of pyc? |
| 01:04:31 | BrianRice-work | (take a file, compile it, save a version of it that can be fast-loaded next time) |
| 01:04:31 | brixen | yeah |
| 01:04:38 | brixen | rbc |
| 01:04:41 | brixen | :) |
| 01:04:58 | BrianRice-work | is there a little spec on it? I'm curious about certain issues like linking up symbols |
| 01:05:04 | BrianRice-work | googles |
| 01:05:07 | brixen | it's a \n delimited ascii file essentially |
| 01:05:11 | brixen | one sec.. |
| 01:05:24 | evan | the format is documented in our ruby code that reads and writes it :) |
| 01:06:17 | BrianRice-work | well that might be fine |
| 01:06:17 | BrianRice-work | huh |
| 01:06:30 | brixen | doc/vm/rbc_files.txt also |
| 01:06:49 | brixen | although that could be a bit dated.. |
| 01:07:28 | BrianRice-work | it's sufficient to grok it |
| 01:07:39 | brixen | BrianRice-work: http://github.com/evanphx/rubinius/blob/cfb2726da00b8c5a76c87a0f31f784b6daa16430/lib/compiler/comp iled_file.rb#L247 |
| 01:07:48 | BrianRice-work | ok |
| 01:07:59 | evan | there is no symbol linking in there really |
| 01:08:04 | evan | because ruby is so dynamic |
| 01:08:39 | evan | all method calls just reference the Symbol in the literals table for the name of the method to look for |
| 01:08:43 | evan | exactly like ST-80. |
| 01:08:47 | BrianRice-work | ok. we do have an interning step |
| 01:09:20 | evan | what does that step do? |
| 01:09:23 | BrianRice-work | which this kind of scheme should handle. I think I'll make this my next short-term project; we've been missing this |
| 01:09:43 | BrianRice-work | oh, just store 'symbolname' -> #symbolinstance in a Symbols table :) |
| 01:10:18 | BrianRice-work | (that's slate lexical notation of course) |
| 01:10:37 | BrianRice-work | I just have to stitch up the users of the symbol as the load happens |
| 01:10:38 | evan | ah |
| 01:10:45 | evan | yeah, .rbc's handle that automatically |
| 01:10:48 | BrianRice-work | as long as it's 4x faster than parsing, I'll be satisfied |
| 01:10:53 | BrianRice-work | thanks, guys |
| 01:11:04 | evan | the literals table contains direct references to Symbol objects |
| 01:11:08 | evan | np. |
| 01:11:54 | BrianRice-work | alright, time to head home. I've got these urls noted for review probably tonight but maybe tomorrow |
| 01:14:28 | jarib | hey guys |
| 01:14:41 | jarib | i have a small patch |
| 01:14:43 | jarib | http://gist.github.com/252155 |
| 01:16:21 | jarib | let me know if i should post that somewhere else |
| 01:16:29 | brixen | jarib: you can open an issue |
| 01:16:37 | brixen | jarib: you should just use Type.coerce_to |
| 01:16:46 | brixen | or StringValue |
| 01:17:02 | brixen | grep for how those are used |
| 01:17:55 | brixen | although, a case may be a better idea |
| 01:18:32 | brixen | hrm, I guess you can't just use Type.coerce_to |
| 01:18:46 | jptix | i saw this being done in kernel/common/signal.rb:8 |
| 01:19:02 | jarib | yeah, exactly |
| 01:19:08 | brixen | yeah, I forgot about that |
| 01:20:52 | evan | that change is fine |
| 01:21:01 | evan | this is a place where the method really takes either |
| 01:21:05 | evan | a String or Symbol |
| 01:21:17 | evan | and needs to convert the Symbol to string if it got one |
| 01:21:25 | evan | rather than saying "I need a String like thing" |
| 01:22:03 | evan | ie, the type signature would be "kill(Fixnum, String|Symbol)" |
| 01:22:17 | evan | that code probably does need a Type.coerce_to |
| 01:22:22 | evan | if the arg is neither a String nor a Symbol. |
| 01:22:58 | brixen | seems like it should probably test if Integer, else StringValue |
| 01:23:08 | brixen | but, there should be specs... or specs written |
| 01:23:21 | jptix | i have a spec for the symbol case |
| 01:23:25 | brixen | s/written/need to be written/ |
| 01:23:36 | evan | brixen: you can't call StringValue on a symbol |
| 01:23:36 | evan | you get an exception |
| 01:24:11 | brixen | well, Type.coerce_to |
| 01:25:03 | evan | nah |
| 01:25:08 | evan | because if someone does |
| 01:25:17 | evan | Process.kill 8, Object.new |
| 01:25:23 | jarib | how is Type.coerce_to different from to_s? |
| 01:25:38 | evan | i don't think they they'd want us to try and send signal "#<Object:0x...>" |
| 01:25:52 | brixen | good point |
| 01:25:56 | evan | jarib: they're the same |
| 01:26:02 | evan | Type.coerce_to uses to_s if you tell it to |
| 01:26:10 | evan | but it also makes sure that the return value of to_s is a String |
| 01:26:17 | evan | Type.coerce_to obj, String, :to_s |
| 01:26:25 | evan | call to_s, and makes sure the return value is a String |
| 01:26:33 | evan | it's such a common pattern |
| 01:26:34 | jarib | ah, i see |
| 01:26:35 | evan | we put it into a method. |
| 01:27:04 | evan | ok, well, i'm going to head home. |
| 01:27:05 | evan | bbiab. |
| 01:27:09 | rue | It is a common silly requirement to be compliant with MRI, to be precise |
| 01:28:15 | jarib | rue: and Process.kill taking a Symbol is what made you come to this conclusion? :) |
| 01:28:43 | jarib | or are you talking about Type.coerce_to |
| 01:29:00 | jarib | the latter makes more sense |
| 03:02:16 | BrianRice | wow, yeah .rbc is pretty damn simple |
| 03:03:23 | BrianRice | although one method per file seems a bit limiting |
| 03:04:37 | BrianRice | oops, I was looking at specs :) |
| 06:44:24 | brixen | BrianRice: yeah, an rbc is really a tree of compiled methods, serialized |
| 07:44:36 | dbussink | evan: still there? |
| 07:44:47 | evan | for 2 minutes |
| 07:45:13 | dbussink | evan: ah ok, i saw you closed #114, which seems a bit weird for me, since i actually confirmed the issue there |
| 07:45:31 | evan | perhaps I read it wrong |
| 07:45:34 | evan | i can't repro it |
| 07:45:40 | evan | and no additional details were provided |
| 07:45:43 | evan | like platform, etc. |
| 07:46:44 | evan | oh |
| 07:46:52 | evan | i misread your comment |
| 07:46:59 | evan | i got it |
| 07:47:05 | evan | i'll try on linux tomorrow |
| 07:49:15 | evan | off to bed. |
| 08:34:39 | boyscout | Updated CI frozen specs to RubySpec 06112c74. - c16673f - Brian Ford |
| 08:34:40 | boyscout | Comment out super spec that causes compilation failure. - fed372e - Brian Ford |
| 08:34:40 | boyscout | Updated CI tags for specs. - 53ad731 - Brian Ford |
| 08:37:40 | boyscout | CI: 53ad731 success. 3018 files, 11551 examples, 35627 expectations, 0 failures, 0 errors |
| 16:46:21 | brixen | morning |
| 16:50:46 | evan | good morning. |
| 16:50:59 | agardiner | afternoon here! :-) |
| 16:51:51 | brixen | afternoon agardiner! |
| 16:52:09 | agardiner | hiya brixen! |
| 16:53:48 | brixen | evan: git show fed372e |
| 16:53:56 | brixen | evan: what's the plan for this? |
| 16:54:26 | brixen | you'll need to pull |
| 16:55:47 | evan | oh |
| 16:55:50 | evan | did I not fix that? |
| 16:55:52 | evan | I thought I did. |
| 16:56:03 | evan | those should work fine |
| 16:56:50 | brixen | ok, I'll look into it |
| 16:56:54 | brixen | they do not compile atm |
| 16:57:38 | evan | hm. |
| 16:57:41 | evan | lets see.. |
| 16:58:57 | evan | huh. a bug. |
| 16:59:43 | evan | likely related to my block change |
| 16:59:46 | evan | i'll fix it. |
| 17:02:32 | brixen | ok |
| 17:04:40 | evan | hm, fugitive is nice once I remember to use it |
| 17:05:12 | brixen | fugitive? |
| 17:05:33 | evan | http://github.com/tpope/vim-fugitive |
| 17:05:55 | brixen | ahh yes, forgot about it |
| 17:06:15 | brixen | creative, got fu and git all into a noun |
| 17:06:46 | brixen | heh, I have it installed, never used it |
| 17:07:27 | evan | yeah, I hadn't either |
| 17:07:34 | evan | thought I'd give it a shot. |
| 17:07:42 | evan | Gblame is decent |
| 17:07:50 | evan | though it uses a vertical split |
| 17:08:01 | evan | so you have to have the window super wide |
| 17:11:10 | evan | ah ah |
| 17:11:13 | evan | i think we had this before |
| 17:11:28 | evan | yes, I recall now. |
| 17:11:38 | evan | I hadn't yet done support for this one |
| 17:11:42 | evan | lets see how hard it would be... |
| 17:12:13 | evan | hm |
| 17:12:25 | evan | ok, there is no way for the compiler to know where the args are |
| 17:12:26 | evan | in this case. |
| 17:12:54 | brixen | yeah, we talked about needing to do this in the vm |
| 17:12:58 | evan | because it's the args in the || that we need |
| 17:12:59 | evan | yep |
| 17:13:02 | brixen | ok |
| 17:13:02 | evan | so lets see. |
| 17:13:19 | evan | I could add a push_args opcode |
| 17:13:29 | evan | that packages up the args into an array |
| 17:13:33 | evan | and pushes it |
| 17:13:42 | evan | then ZSuper could use send_stack_with_splat |
| 17:14:07 | evan | therealadam. |
| 17:14:34 | evan | brixen: we'll have to do that for any zsuper in a block |
| 17:14:39 | brixen | ok |
| 17:14:47 | evan | which isn't that big of a deal |
| 17:14:49 | therealadam | evan: has notre dame tried to recruit you as coach yet? |
| 17:14:57 | evan | i got the call yesterday |
| 17:15:14 | evan | I said "can I run the program straight into the ground?" |
| 17:15:23 | evan | they said "sure, as long as you say nice things and don't swear" |
| 17:15:32 | evan | me: "ah fuck it." |
| 17:16:11 | therealadam | haha |
| 17:16:29 | therealadam | some things are just too much to ask |
| 17:16:34 | evan | exactly. |
| 17:17:01 | evan | i also inquired about being able to paint charlie weis' face on the field during a game |
| 17:17:04 | evan | so we could run all over it |
| 17:17:07 | evan | they seemed ok with that |
| 17:17:15 | therealadam | good idea |
| 17:18:16 | evan | have they called you about the future Cowboys coaching vacancy? |
| 17:18:22 | evan | can't be long now. |
| 17:19:22 | therealadam | I've been coaching flozell adams on the subtleties of offsides |
| 17:19:35 | therealadam | but, apparently we need to work on "not grabbing guys by the face at half-time" now |
| 17:19:41 | therealadam | s/offsides/false start/ |
| 17:19:55 | evan | ha |
| 17:20:11 | evan | baby steps |
| 17:21:12 | therealadam | also finishing my proposal to put some real, real teeth on holding calls so it's not just called when the refs feel like it |
| 17:21:51 | evan | i find it funny the number of holdings that go uncalled |
| 17:21:54 | evan | in all games. |
| 17:22:03 | therealadam | yeah, it's totally lame |
| 17:22:19 | evan | the subtle of the hold i think is beginning to negate the ability to call fairly. |
| 17:22:26 | evan | subtlety |
| 17:22:31 | therealadam | it's dumb that the call that has the most effect on games is not reviewable |
| 17:22:50 | evan | esp. given it's a 10 yard penalty |
| 17:22:53 | therealadam | *calls (holding and interference) |
| 17:25:27 | evan | hm, i wonder what this rb_raise buried deep in MRI zsuper logic is for...... |
| 17:31:25 | evan | if anyone wants a challenge |
| 17:31:45 | evan | figure out what code causes line 3533 of eval.c in 1.8 to run |
| 17:31:53 | evan | it's the rb_raise with "super: specify arguments explicitly" as a message |
| 17:32:06 | evan | here is something to get you started: http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/3874 |
| 17:34:47 | brixen | um.. |
| 17:36:06 | brixen | in 1.9 it should raise RuntimeError in this case |
| 17:36:11 | brixen | but this code is old... |
| 17:37:14 | evan | i'm trying to figure out the condition. |
| 17:49:57 | evan | brixen: huh |
| 17:50:11 | evan | so, headius showed me that zsuper in a define_method isn't valid in 1.9 even. |
| 17:50:23 | brixen | yeah |
| 17:50:26 | brixen | there is a spec for that |
| 17:50:34 | brixen | I'm trying to follow the convo hehe |
| 17:50:38 | evan | oh oh |
| 17:50:39 | evan | yes |
| 17:50:41 | evan | der. |
| 17:50:46 | Zoxc | what's zsuper? |
| 17:50:53 | evan | Zoxc: super without args |
| 17:50:54 | brixen | Zoxc: super with no arguments |
| 17:51:07 | evan | meaning to pass the arguments that were passed into the current method to the super method |
| 17:51:43 | Zoxc | how do you call super with no arguments then? |
| 17:51:58 | evan | super() |
| 17:52:07 | evan | you explicitly pass no args |
| 17:52:16 | brixen | def foo(a,b) super end; calls foo in a super class passing a, b |
| 17:52:36 | rue | Shazam |
| 17:52:45 | evan | jazz hands! |
| 17:52:58 | Zoxc | should implement the argument passing after he finds out what causes the segfault in mirb |
| 17:58:30 | rue | WTF Firefox is completely screwed up...refusing to close tabs, blank preference pane |
| 17:58:57 | rue | Scrollbar on the left..?? |
| 18:00:36 | evan | maybe I should just add a zsuper opcode |
| 18:06:08 | brixen | seems like it would be easier |
| 18:06:29 | evan | yeah |
| 18:06:35 | evan | i'm almost done doing a little fixup |
| 18:06:50 | evan | so that we properly track the Arguments* for a CallFrame* |
| 18:06:54 | evan | and GC it |
| 18:07:01 | evan | well, GC the contents |
| 18:07:17 | evan | so that it can be used anytime in a method |
| 18:07:23 | evan | i'll use that to implement a zsuper opcode. |
| 18:07:28 | brixen | cool |
| 18:15:16 | evan | a secret little part of me wants to say "well, 1.9 doesn't support this, so you probably shouldn't do it in real code now anyway" |
| 18:16:56 | Zoxc | the rest of you should post a ticket ;D |
| 18:18:25 | brixen | evan: yeah, not_compliant_on is reasonable, except we need the compiler not to choke |
| 18:18:39 | evan | well thats easy to fix! :D |
| 18:18:49 | brixen | heh |
| 18:19:04 | evan | hrmph |
| 18:19:05 | evan | no no |
| 18:19:13 | evan | i'll just add the zsuper instruction |
| 19:19:37 | em-dash | are there known issues with building rubinius on Mac OSX 10.6.2 using the instructions in docs/getting_started.txt? |
| 19:19:55 | em-dash | (because it seems to build, but then fails when running the VM tests) |
| 19:20:10 | evan | nope |
| 19:20:19 | evan | open an issue with the problem you're having. |
| 19:20:30 | em-dash | ok, will do |
| 19:22:34 | em-dash | more important: congratulations on RC1! |
| 19:23:22 | brixen | em-dash: thanks! |
| 20:48:09 | rue | For a bit, I wondered how someone's nick was "more important" |
| 22:05:12 | evan | https://gist.github.com/0a2662f390388d7b10ee |
| 22:05:16 | evan | look at that wacky shit. |
| 22:07:20 | brixen | wow |
| 22:07:27 | evan | run it. |
| 22:07:30 | brixen | I did |
| 22:07:40 | evan | if a is an array, it's sent up like a splat |
| 22:07:43 | evan | if i do a = 8 |
| 22:07:43 | brixen | on 1.8.6 1.8.7 1.9 and rbx |
| 22:07:57 | evan | then just 8, unwrapped, is sent up. |
| 22:08:40 | evan | i'm not even sure how we support that currently |
| 22:08:46 | brixen | hehe |
| 22:08:47 | evan | just lucky i guess. |
| 22:08:51 | brixen | I guess so |
| 22:08:55 | brixen | that's funny |
| 22:09:05 | brixen | I was expecting rbx not to work |
| 22:09:12 | evan | me too. |
| 22:09:18 | brixen | but I keep getting the same results as mri |
| 22:10:09 | rue | It is one of the less POLS |
| 22:10:51 | rue | But same even with a simpler example |
| 22:12:31 | evan | POLS? |
| 22:12:47 | evan | oh |
| 22:12:49 | evan | least surprise. |
| 22:21:55 | brixen | evan: headed to a shop of coffee... bbiab.. |
| 22:22:01 | evan | np. |
| 22:39:58 | rue | evan: Yeah, insofar as I recall, super will use the variable names in their state at the time of the call regardless of situation |
| 22:40:10 | rue | I have to say, I have tried to avoid having to test this extensively |
| 22:40:23 | evan | heh |
| 22:42:09 | Zoxc | why does *a = 6 turn into 6 on 1.9 btw? |
| 22:42:20 | evan | *shrug* |
| 22:44:10 | evan | all the masgn edge cases suck ass. |
| 22:44:13 | evan | they're all useless |
| 22:44:26 | evan | i'd prefer if they were just syntax errors. |
| 23:10:35 | rue | Zoxc: The most common use case, I suppose |
| 23:12:00 | Zoxc | wouldn't you do a = 6 then? |
| 23:16:34 | rue | More that you end up differentiating between single-element and not |
| 23:16:45 | rue | Maybe even for nil specifically. Who knows |
| 23:17:15 | evan | I can't see any use for *a = .... |
| 23:24:23 | brixen | man tiny coffee shop and like 20 people all showed up at the same time |
| 23:24:31 | evan | hehe |
| 23:24:41 | brixen | I think everyone is sick of freezing heh |
| 23:24:51 | brixen | it was like 8 deg F this morning |
| 23:24:58 | evan | :( |
| 23:25:00 | evan | wowzers. |
| 23:25:06 | brixen | yeah crazy |
| 23:25:18 | brixen | I'm just glad there's no precip |
| 23:25:25 | evan | it's -1 in Bozeman right now |
| 23:25:29 | evan | thats where we're going for xmas |
| 23:25:53 | brixen | fun |
| 23:25:59 | brixen | at least you'll be skiing |
| 23:26:03 | brixen | I imagine |
| 23:35:35 | evan | nearly got zsuper working |
| 23:38:03 | slava | what's new in the world of rbx? |
| 23:38:11 | evan | oh, fixin' super. |
| 23:38:51 | brixen | hi slava |