diff options
author | Koichi Sasada <ko1@atdot.net> | 2019-05-28 11:41:49 +0900 |
---|---|---|
committer | Koichi Sasada <ko1@atdot.net> | 2019-05-28 11:44:08 +0900 |
commit | f9401d5d44dd4ae69b6a14fcccd41c2810033986 (patch) | |
tree | a96ef1fb00ecf1f02b2f159dd080b005fb2d763c /gc.c | |
parent | 2229acaa54e1011ae77710e10f8c9e7933403127 (diff) |
should skip T_ZOMBIE here.
Diffstat (limited to 'gc.c')
-rw-r--r-- | gc.c | 11 |
1 files changed, 10 insertions, 1 deletions
@@ -7523,8 +7523,17 @@ count_pinned(struct heap_page *page) void *poisoned = asan_poisoned_object_p(v); asan_unpoison_object(v, false); - if (RBASIC(v)->flags && RVALUE_PINNED(v)) { + switch (BUILTIN_TYPE(v)) { + case T_NONE: + break; + case T_ZOMBIE: pinned++; + break; + default: + if (RVALUE_PINNED(v)) { + pinned++; + } + break; } if (poisoned) { |