mirror of
https://github.com/ruby/ruby.git
synced 2025-08-15 13:39:04 +02:00
Ensure ObjectSpace.dump won't call cc_cme on invalidated CC
This commit is contained in:
parent
a9f6fe0914
commit
640a2f1dc7
1 changed files with 9 additions and 6 deletions
|
@ -451,13 +451,16 @@ dump_object(VALUE obj, struct dump_config *dc)
|
|||
break;
|
||||
|
||||
case imemo_callcache:
|
||||
mid = vm_cc_cme((const struct rb_callcache *)obj)->called_id;
|
||||
if (mid != 0) {
|
||||
dump_append(dc, ", \"called_id\":");
|
||||
dump_append_id(dc, mid);
|
||||
|
||||
{
|
||||
VALUE klass = ((const struct rb_callcache *)obj)->klass;
|
||||
if (klass != 0) {
|
||||
if (klass != Qundef) {
|
||||
mid = vm_cc_cme((const struct rb_callcache *)obj)->called_id;
|
||||
if (mid != 0) {
|
||||
dump_append(dc, ", \"called_id\":");
|
||||
dump_append_id(dc, mid);
|
||||
|
||||
}
|
||||
|
||||
dump_append(dc, ", \"receiver_class\":");
|
||||
dump_append_ref(dc, klass);
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue