debug.c: imemo_mask
* .gdbinit (rp, rp_imemo, rb_ps_thread): update imemo_mask. * debug.c (ruby_dummy_gdb_enums): include imemo_types. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@60407 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
e565c838ce
commit
3fc0c18193
6
.gdbinit
6
.gdbinit
@ -245,7 +245,7 @@ define rp
|
|||||||
else
|
else
|
||||||
if ($flags & RUBY_T_MASK) == RUBY_T_IMEMO
|
if ($flags & RUBY_T_MASK) == RUBY_T_IMEMO
|
||||||
printf "%sT_IMEMO%s(", $color_type, $color_end
|
printf "%sT_IMEMO%s(", $color_type, $color_end
|
||||||
output (enum imemo_type)(($flags>>RUBY_FL_USHIFT)&imemo_mask)
|
output (enum imemo_type)(($flags>>RUBY_FL_USHIFT)&RUBY_IMEMO_MASK)
|
||||||
printf "): "
|
printf "): "
|
||||||
rp_imemo $arg0
|
rp_imemo $arg0
|
||||||
else
|
else
|
||||||
@ -546,7 +546,7 @@ document rp_class
|
|||||||
end
|
end
|
||||||
|
|
||||||
define rp_imemo
|
define rp_imemo
|
||||||
set $flags = (enum imemo_type)((((struct RBasic *)($arg0))->flags >> RUBY_FL_USHIFT) & imemo_mask)
|
set $flags = (enum imemo_type)((((struct RBasic *)($arg0))->flags >> RUBY_FL_USHIFT) & RUBY_IMEMO_MASK)
|
||||||
if $flags == imemo_cref
|
if $flags == imemo_cref
|
||||||
printf "(rb_cref_t *) %p\n", (void*)$arg0
|
printf "(rb_cref_t *) %p\n", (void*)$arg0
|
||||||
print *(rb_cref_t *)$arg0
|
print *(rb_cref_t *)$arg0
|
||||||
@ -1123,7 +1123,7 @@ define rb_ps_thread
|
|||||||
set $cfpend = (rb_control_frame_t *)($ps_thread_th->ec.vm_stack + $ps_thread_th->ec.vm_stack_size)-1
|
set $cfpend = (rb_control_frame_t *)($ps_thread_th->ec.vm_stack + $ps_thread_th->ec.vm_stack_size)-1
|
||||||
while $cfp < $cfpend
|
while $cfp < $cfpend
|
||||||
if $cfp->iseq
|
if $cfp->iseq
|
||||||
if !((VALUE)$cfp->iseq & RUBY_IMMEDIATE_MASK) && (((imemo_ifunc << RUBY_FL_USHIFT) | RUBY_T_IMEMO)==$cfp->iseq->flags & ((imemo_mask << RUBY_FL_USHIFT) | RUBY_T_MASK))
|
if !((VALUE)$cfp->iseq & RUBY_IMMEDIATE_MASK) && (((imemo_ifunc << RUBY_FL_USHIFT) | RUBY_T_IMEMO)==$cfp->iseq->flags & ((RUBY_IMEMO_MASK << RUBY_FL_USHIFT) | RUBY_T_MASK))
|
||||||
printf "%d:ifunc ", $cfpend-$cfp
|
printf "%d:ifunc ", $cfpend-$cfp
|
||||||
set print symbol-filename on
|
set print symbol-filename on
|
||||||
output/a $cfp->iseq.body
|
output/a $cfp->iseq.body
|
||||||
|
2
debug.c
2
debug.c
@ -57,6 +57,8 @@ const union {
|
|||||||
RUBY_NODE_LSHIFT = NODE_LSHIFT,
|
RUBY_NODE_LSHIFT = NODE_LSHIFT,
|
||||||
RUBY_NODE_FL_NEWLINE = NODE_FL_NEWLINE
|
RUBY_NODE_FL_NEWLINE = NODE_FL_NEWLINE
|
||||||
} various;
|
} various;
|
||||||
|
enum imemo_type imemo_types;
|
||||||
|
enum {RUBY_IMEMO_MASK = IMEMO_MASK} imemo_mask;
|
||||||
} ruby_dummy_gdb_enums;
|
} ruby_dummy_gdb_enums;
|
||||||
|
|
||||||
const SIGNED_VALUE RUBY_NODE_LMASK = NODE_LMASK;
|
const SIGNED_VALUE RUBY_NODE_LMASK = NODE_LMASK;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user