* gc.c (rgengc_remember): check T_NONE and T_ZOMBIE
if RGENGC_CHECK_MODE > 0. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41402 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
parent
5455b7e72e
commit
65791846a6
@ -1,3 +1,8 @@
|
|||||||
|
Wed Jun 19 07:06:21 2013 Koichi Sasada <ko1@atdot.net>
|
||||||
|
|
||||||
|
* gc.c (rgengc_remember): check T_NONE and T_ZOMBIE
|
||||||
|
if RGENGC_CHECK_MODE > 0.
|
||||||
|
|
||||||
Wed Jun 19 07:02:19 2013 Koichi Sasada <ko1@atdot.net>
|
Wed Jun 19 07:02:19 2013 Koichi Sasada <ko1@atdot.net>
|
||||||
|
|
||||||
* gc.c (RGENGC_CHECK_MODE): add new check mode `3'.
|
* gc.c (RGENGC_CHECK_MODE): add new check mode `3'.
|
||||||
|
13
gc.c
13
gc.c
@ -3632,6 +3632,19 @@ rgengc_remember(rb_objspace_t *objspace, VALUE obj)
|
|||||||
RVALUE_SHADY(obj) ? "shady" : "non-shady",
|
RVALUE_SHADY(obj) ? "shady" : "non-shady",
|
||||||
rgengc_remembersetbits_get(objspace, obj) ? "was already remembered" : "is remembered now");
|
rgengc_remembersetbits_get(objspace, obj) ? "was already remembered" : "is remembered now");
|
||||||
|
|
||||||
|
#if RGENGC_CHECK_MODE > 0
|
||||||
|
{
|
||||||
|
switch (BUILTIN_TYPE(obj)) {
|
||||||
|
case T_NONE:
|
||||||
|
case T_ZOMBIE:
|
||||||
|
rb_bug("rgengc_remember: should not remember %p (%s)\n",
|
||||||
|
(void *)obj, obj_type_name(obj));
|
||||||
|
default:
|
||||||
|
;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
if (RGENGC_PROFILE) {
|
if (RGENGC_PROFILE) {
|
||||||
if (!rgengc_remembered(objspace, obj)) {
|
if (!rgengc_remembered(objspace, obj)) {
|
||||||
if (!RVALUE_SHADY(obj)) {
|
if (!RVALUE_SHADY(obj)) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user