Show enters and exits. Hide enters and exits.
| 00:00:32 | rue | Listening to my Ornette Colemans while coding |
| 00:03:25 | rue | The Programming Language shall define a new paradigm, Jazz-Oriented Programming |
| 00:03:46 | slava | http://www.jazzscheme.org/ |
| 00:05:16 | rue | Those poseurs |
| 07:11:07 | ddub | looks back in time to see just how dead the channel is |
| 07:11:25 | ddub | why can't there ever be lively technical discussions on _my_ schedule?! |
| 07:11:27 | ddub | :) |
| 07:11:31 | brixen | this is a trappist channel |
| 07:11:41 | brixen | we're studying, not dead :P |
| 07:11:48 | ddub | sorry, I'm in a weird mood |
| 07:11:51 | ddub | I blame the paint fumes |
| 07:11:56 | brixen | hehe |
| 07:12:42 | ddub | plus, someone put the jimmy the cab driver commercials (from mtv) up on youtube |
| 07:12:48 | ddub | been looking for those for a while |
| 07:14:07 | ddub | ( http://www.youtube.com/watch?v=Jd68qvUilDY ) |
| 07:14:52 | brixen | resists wasting time on youtube |
| 07:17:04 | ddub | stronger than me! |
| 07:18:31 | brixen | not that there's anything wrong with youtub, I'd just rather get this profiler fixed |
| 07:18:40 | brixen | youtube even |
| 09:27:52 | jzk | Hi, what is VMMethod? How does it compare to CompiledMethod? |
| 16:27:00 | rue | VMMethod, for posterity, is the "backend" implementation of a given CompiledMethod. It abstracts away whether the method executes through the interpreter, LLVM or whatever |
| 16:28:16 | tilman | rue: oh hai. think this looks correct? http://7f08dfffd5646341.paste.se/ |
| 16:28:25 | tilman | it fixes the 'bt' command in the debugger |
| 16:29:14 | rue | Sec, flambeing something |
| 16:34:36 | tilman | :o |
| 16:39:54 | rue | tilman: With a 0 offset, the backtrace will also contain the .backtrace method's frame, dunno if that is desirable? |
| 16:40:19 | tilman | probably not |
| 16:40:41 | tilman | rue: i'm not sure System::vm_backtrace is what i want to use. |
| 16:41:31 | tilman | rue: getting a backtrace everytime someone asks for Thread#context feels a bit funny |
| 16:43:32 | rue | Yeah.. you should be able to retrieve it when it is actually needed |
| 16:52:55 | tilman | rue: re. the 0 offset -- which .backtrace method did you mean? |
| 16:53:26 | tilman | i should probably check out an ooold revision and see how the bt looked before stackful |
| 16:57:40 | rue | The C++ backtrace, but good point |
| 16:58:02 | rue | Generally, the 0th frame is whichever the primitive call is in |
| 16:58:19 | tilman | i don't see that. seems to work just fine |
| 16:59:02 | rue | Goodies, then |
| 17:00:45 | oda | i saw there is a branch called stackfull, why is it called this? |
| 17:01:30 | rue | As opposed to stackless, with a bonus spelling error |
| 17:01:45 | oda | does it versus stackless? |
| 17:01:55 | oda | thanks :) |
| 17:02:16 | rue | I deleted it a couple days ago, though |
| 17:02:31 | oda | it is merged in master |
| 17:02:38 | rue | Right |
| 17:03:22 | oda | what changes does it include? use native thread to replace green thread... |
| 17:03:51 | rue | Main change is using the C stack for calls rather than maintaining a separate callstack in heap memory |
| 17:04:48 | oda | emm, I need take a look at the code. thanks rue |
| 17:16:33 | oda | Hi, rue |
| 17:16:50 | oda | is there any resource i can read about using the C stack for calls |
| 17:24:30 | rue | I am sure there is, although finding something applicable to this situation may be hard.. |
| 17:24:57 | rue | oda: Do you know how the C calling convention works? |
| 17:25:25 | rue | If not, that might be a place to start |
| 17:25:52 | rue | Essentially, this is the "normal" way, whereas stackless execution is a specialised mechanism |
| 17:26:19 | oda | emm, i see |
| 19:13:23 | evan | tilman: you around? |
| 19:13:58 | tilman | yeah, hi |
| 19:14:16 | evan | could you explain 93baca35e8 to me? |
| 19:14:21 | evan | mainly, what was breaking |
| 19:14:30 | tilman | yes :) |
| 19:15:05 | tilman | evan: running "[1,2,3].each" would read call_frame->stk[-1] instead of stk[0] |
| 19:15:20 | evan | read for what? |
| 19:15:21 | tilman | ie we'd take an itm off the array, push it onto the stack (to stk[0]) |
| 19:15:25 | evan | the yield in Array#each ? |
| 19:15:36 | tilman | then the yield_stack instruction would want to read that value off the stack again |
| 19:15:37 | evan | i'm confused because your change means a different set of argument is passed to the block |
| 19:15:47 | evan | so i'm confused WHY it worked at all before |
| 19:16:06 | tilman | i think that branch is only exercised if t1 is nil |
| 19:16:08 | evan | since every block would be getting the wrong values as it's block args. |
| 19:16:20 | evan | ah. |
| 19:16:21 | tilman | and since NilClass#call just raises, you don't end up seeing what was read off the stack |
| 19:16:32 | evan | yes, yes. |
| 19:16:33 | evan | i see. |
| 19:16:36 | evan | this is the uncommon case |
| 19:16:40 | tilman | yep |
| 19:16:49 | evan | ie, there is neither a Proc nor a BlockEnvironment in ->block |
| 19:16:53 | tilman | exactly |
| 19:17:06 | evan | so something like |
| 19:17:14 | evan | [1,2,3].each &blah.method(:foo) |
| 19:17:15 | evan | should cause it too. |
| 19:17:50 | tilman | i didn't try that :o |
| 19:19:00 | evan | seems like yield_splat is busted then too... |
| 19:19:07 | evan | it's doing just (count), not (count -1) |
| 19:19:08 | tilman | i wondered about that |
| 19:19:19 | tilman | but didn't find a test case where count >0 |
| 19:19:33 | evan | i also notice that almost all calls to stack_back_position are called with - 1 |
| 19:19:38 | evan | so we should probably change it's impl |
| 19:19:47 | tilman | i wanted to suggest that, too |
| 19:20:12 | tilman | it's unintuitive to pass 0 if you want 1 element imo |
| 19:20:48 | evan | hm |
| 19:21:24 | evan | ok, i see. |
| 19:21:32 | evan | this is a simple size versus index problem |
| 19:21:35 | evan | thus the - 1 |
| 19:22:08 | evan | i'll do a quick audit right now |
| 19:22:13 | evan | and see where stack_back_position is used |
| 19:22:22 | evan | pretty sure we can change it to do position - 1 |
| 19:23:27 | tilman | evan: can you put this in your review queue please? http://03b673c918730184.paste.se/ |
| 19:24:09 | evan | i'm going to say no |
| 19:24:23 | evan | ObjectMemory should not be exposed to general code |
| 19:24:27 | evan | it's an internal detail |
| 19:24:32 | tilman | ok |
| 20:12:51 | boyscout | Sanitize stack_back_position API - 5355a64 - Evan Phoenix |
| 20:19:21 | boyscout | CI: 5355a64 success. 1503 files, 7245 examples, 23659 expectations, 0 failures, 0 errors |
| 23:39:32 | boyscout | Fix debugger show ivars command - c52cb0f - Adam Gardiner |
| 23:39:32 | boyscout | Fix debugger sexp command - 1860a50 - Adam Gardiner |
| 23:41:01 | boyscout | CI: 1860a50 success. 1503 files, 7245 examples, 23659 expectations, 0 failures, 0 errors |