Show enters and exits. Hide enters and exits.
| 05:52:05 | aemoncannon | Hi all, quick question. Is rubinius able to generate code coverage statistics? |
| 16:15:25 | brixen | aemoncannon: no, rcov does not yet work with rbx and we don't have an alternative |
| 16:16:00 | brixen | aemoncannon: however, evan has said we will add some hooks that would enable an rcov-like tool |
| 16:29:07 | khaase | rcov does use a trace_func, right? |
| 16:29:32 | khaase | evan said there's no way rbx will have a trace func feature |
| 16:30:52 | Defiler | khaase: there are two rcov modes; one is a C extension, and then it uses trace func if that can't be used |
| 16:30:54 | brixen | khaase: yes, not set_trace_func, but some kind of hook lke it |
| 16:31:06 | brixen | the C ext we would not support for sure |
| 16:31:27 | brixen | rbx looks nothing like MRI inside |
| 16:31:34 | Defiler | probably there will just need to be an rbx version of the extension |
| 16:31:38 | brixen | (thankfully) |
| 16:31:50 | khaase | but set_trace_func is like the ideal entry point for debugging |
| 16:31:58 | khaase | and jruby has it, too |
| 16:32:03 | Defiler | It's also impossibly slow |
| 16:32:07 | brixen | exactly |
| 16:32:13 | brixen | we have a blazing full speed debugger |
| 16:32:22 | brixen | it just needs some work for the native threads |
| 16:32:42 | brixen | last discussion was running the debugger interpreter always on the main thread I believe |
| 16:33:11 | brixen | khaase: anyway, fret not, we have and will have a top-notch debugger |
| 16:33:21 | khaase | yay! |
| 16:33:57 | brixen | our debugger steps through bytecode |
| 16:34:04 | brixen | try that with set_trace_func ;) |
| 16:34:33 | khaase | actually, what i really want are smalltalk debuggers for ruby |
| 16:34:43 | brixen | and with clang integration, we might be able to seemlessly step into machine code for primitives |
| 16:34:47 | Defiler | Welcome to the proper channel to find that |
| 16:34:48 | brixen | that would be freakin awesome :) |
| 16:35:03 | khaase | yes, indeed |
| 16:35:24 | brixen | I meant stepping into machine code, not smalltalk debuggers :) |
| 16:35:32 | khaase | me too |
| 16:35:35 | brixen | :) |
| 16:37:04 | khaase | i so can't wait for my bachelor project to be over. i'm doing so little ruby lately :( |
| 16:37:23 | brixen | well, hurry up already :) |
| 16:37:42 | BrianRice-work | speaking of smalltalk, does the ruby debugger act from a separate process/thread on the stack it's debugging? |
| 16:37:45 | brixen | hm, we already have the machinery to disassemble a jitted method too |
| 16:38:12 | brixen | BrianRice-work: there is no "ruby debugger" as a single entity |
| 16:38:18 | brixen | BrianRice-work: do you mean rbx's debugger? |
| 16:38:42 | BrianRice-work | brixen: yes, rbx-specific is what I meant. surely MRI is not worth asking about |
| 16:38:47 | brixen | heh |
| 16:39:00 | brixen | well, we have a debug interpreter |
| 16:39:15 | khaase | i think mri runs in the stack's thread but halts all other threads. |
| 16:39:22 | brixen | you set a bit in the opcode and the debug interpreter looks at those bits |
| 16:39:22 | khaase | not sure, though |
| 16:39:31 | brixen | the issue is which thread to run it on |
| 16:39:40 | brixen | I think that needs to be resolved |
| 16:39:54 | brixen | right now it would run on any thread I think |
| 16:40:54 | brixen | it's not like the debugger is some thing that monitors this other thing running |
| 16:41:11 | brixen | it's just a version of the interpreter that checks higher order bits for flags set |
| 16:41:26 | BrianRice-work | ok |
| 16:41:40 | brixen | we used to do insn replacement for the debugger |
| 16:41:56 | brixen | but we have all these extra bits in the opcodes |
| 16:43:08 | brixen | BrianRice-work: do you want to look at the code for it? |
| 16:43:40 | BrianRice-work | nah, that's okay |
| 16:44:10 | BrianRice-work | I'm about to set out on vacation. maybe when I return I should try a little cafe session again with you |
| 16:44:23 | brixen | ah sure, anytime |
| 16:44:43 | brixen | I will shortly know much more about the debugger |
| 16:44:49 | brixen | I haven't done any work on it yet |
| 16:44:58 | brixen | but I'm going to try to get it into 1.0 |
| 16:47:04 | BrianRice-work | ok |
| 16:47:38 | BrianRice-work | ours is in userland (and a REPL subtype!) so it messes up sometimes and we'll benefit from process isolation |
| 16:48:11 | brixen | ahh |
| 17:32:32 | Defiler | Hey, if I'm looking for the current darwin version of a Mac OS box.. |
| 17:32:53 | Defiler | in the form of; x86_64-apple-darwin10.x.y |
| 17:33:13 | asap18 | 3.0 i think |
| 17:33:14 | BrianRice-work | uname? |
| 17:33:16 | Defiler | I thought I could get that from gcc -v or uname -a, but not exactly |
| 17:33:28 | asap18 | uname -v ? |
| 17:33:36 | Defiler | gcc -v shows the default target, which ends at the '10' without the minor and teeny |
| 17:33:46 | Defiler | Darwin Kernel Version 10.3.1: Mon Mar 22 15:13:15 PDT 2010; root:xnu-1504.3.52~1/RELEASE_I386 |
| 17:34:01 | Defiler | but I know that not every release changes the 'target' string |
| 17:34:08 | asap18 | are you on a new mbp? |
| 17:34:38 | BrianRice-work | http://www.opensource.apple.com/release/mac-os-x-1063/ ? |
| 17:34:49 | Defiler | Yes, but I've wondered about this numerous times |
| 17:34:50 | BrianRice-work | (listing xnu-1504.3.12) |
| 17:34:57 | asap18 | Darwin Kernel Version 10.3.0: Fri Feb 26 11:58:09 PST 2010; root:xnu-1504.3.12~1/RELEASE_I386 |
| 17:35:38 | asap18 | apple always ships a special build with the new computers with new graphics/driver support that is incorporated in the next point release |
| 17:35:53 | Defiler | it looks like '10.3.0' is the correct target string, despite uname saying 10.3.1 |
| 17:36:15 | brixen | Defiler: did you try rakelib/config.guess ? |
| 17:36:28 | Defiler | not building rubinius; that all works fine |
| 17:36:38 | brixen | I mean, just to get the value |
| 17:36:45 | brixen | instead of gcc -v or whatever |
| 17:37:15 | Defiler | I'll check. good idea. |
| 17:37:25 | Defiler | will ./configure generate that, or do I need to let it perform more steps |
| 17:37:38 | brixen | just do rakelib/config.guess |
| 17:37:40 | brixen | it's a script |
| 17:38:25 | Defiler | x86_64-apple-darwin10.3.1 |
| 17:38:26 | Defiler | interesting |
| 17:39:21 | Defiler | OK, so config.guess assumes that 'uname -r' always maps onto to darwin target name |