summaryrefslogtreecommitdiff
path: root/.gdbinit
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-02-09 02:09:24 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2016-02-09 02:09:24 +0000
commit650c05ae40b541f731452019fb08cbe6a666c858 (patch)
treee5694c947a8818b660bd11a38f07acb4c2bd2666 /.gdbinit
parentc1e6048357479699d6dd48739720d81cf79e5ac7 (diff)
.gdbinit: improve rb_imemo [ci skip]
* .gdbinit (rp_imemo): support imemo_ment and imemo_iseq. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@53783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to '.gdbinit')
-rw-r--r--.gdbinit12
1 files changed, 11 insertions, 1 deletions
diff --git a/.gdbinit b/.gdbinit
index bc79f51368..04680c17a9 100644
--- a/.gdbinit
+++ b/.gdbinit
@@ -468,7 +468,7 @@ document rp_class
end
define rp_imemo
- set $flags = (((struct RBasic *)($arg0))->flags >> RUBY_FL_USHIFT) & imemo_mask
+ set $flags = (enum imemo_type)((((struct RBasic *)($arg0))->flags >> RUBY_FL_USHIFT) & imemo_mask)
if $flags == imemo_cref
printf "(rb_cref_t *) %p\n", (void*)$arg0
print *(rb_cref_t *)$arg0
@@ -489,6 +489,14 @@ define rp_imemo
printf "(struct MEMO *) %p\n", (void*)$arg0
print *(struct MEMO *)$arg0
else
+ if $flags == imemo_ment
+ printf "(rb_method_entry_t *) %p\n", (void*)$arg0
+ print *(rb_method_entry_t *)$arg0
+ else
+ if $flags == imemo_iseq
+ printf "(rb_iseq_t *) %p\n", (void*)$arg0
+ print *(rb_iseq_t *)$arg0
+ else
printf "(struct RIMemo *) %p\n", (void*)$arg0
print *(struct RIMemo *)$arg0
end
@@ -496,6 +504,8 @@ define rp_imemo
end
end
end
+ end
+ end
end
document rp_imemo
Print the content of a memo