Skip to content

Instantly share code, notes, and snippets.

@rue
Created August 30, 2008 22:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save rue/8145 to your computer and use it in GitHub Desktop.
Save rue/8145 to your computer and use it in GitHub Desktop.
Breakpoint 2, op_send_super_stack_with_block (task=0x1818288, js=0x18183fc, index=0, count=1) at vm/gen/instructions.cpp:373
373 bool res = task->send_message(msg);
(gdb) p msg
$1 = (class rubinius::Message &) @0x1b7edf0: {
state = 0x1009400,
arguments = 0x0,
task = 0x1818288,
argument_start = 0,
send_site = 0x181813c,
name = 0x923,
recv = 0x18181e0,
block = 0x1818468,
splat = 0xe,
current_self = 0xe,
total_args = 1,
stack = 2,
start = 0,
priv = false,
lookup_from = 0x1817ef0,
method = 0x0,
module = 0x0
}
(gdb) s
rubinius::Task::send_message (this=0x1818288, msg=@0x1b7edf0) at vm/builtin/task.cpp:199
199 if(!msg.send_site->locate(state, msg)) tragic_failure(msg);
(gdb) s
rubinius::SendSite::locate (this=0x181813c, state=0x1009400, msg=@0x1b7edf0) at vm/builtin/sendsite.cpp:50
50 if(!resolver->resolve(state, msg)) {
(gdb) s
rubinius::GlobalCacheResolver::resolve (this=0x1b7eb70, state=0x1009400, msg=@0x1b7edf0) at vm/builtin/sendsite.cpp:134
134 entry = state->global_cache->lookup(msg.lookup_from, msg.name);
(gdb) n
135 if(entry) {
(gdb) p entry
$2 = (rubinius::GlobalCache::cache_entry *) 0xe83bc4
(gdb) n
136 if(msg.priv || entry->is_public) {
(gdb) p msg.priv
$3 = false
(gdb) p *entry
$4 = {
klass = 0x1817ef0,
name = 0x923,
module = 0x1817cc0,
method = 0x1817c3c,
is_public = true
}
(gdb)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment