diff options
author | tadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-03-16 00:23:43 +0000 |
---|---|---|
committer | tadf <tadf@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-03-16 00:23:43 +0000 |
commit | 6125552c27b40a8da9e162af2655feca82ac16d3 (patch) | |
tree | 8f77bc1b34603f4ce939aa4b5a77f5e8303b7df4 /gc.c | |
parent | 2694b2f937681526550b8aabf798f033fa557049 (diff) |
both complex and rational are now builtin classes.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15783 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
-rw-r--r-- | gc.c | 15 |
1 files changed, 15 insertions, 0 deletions
@@ -127,6 +127,8 @@ typedef struct RVALUE { struct RFile file; struct RNode node; struct RMatch match; + struct RRational rational; + struct RComplex complex; } as; #ifdef GC_DEBUG char *file; @@ -1128,6 +1130,16 @@ gc_mark_children(VALUE ptr, int lev) } break; + case T_RATIONAL: + gc_mark(obj->as.rational.num, lev); + gc_mark(obj->as.rational.den, lev); + break; + + case T_COMPLEX: + gc_mark(obj->as.complex.real, lev); + gc_mark(obj->as.complex.image, lev); + break; + case T_STRUCT: { long len = RSTRUCT_LEN(obj); @@ -1369,6 +1381,9 @@ obj_free(VALUE obj) rb_io_fptr_finalize(RANY(obj)->as.file.fptr); } break; + case T_RATIONAL: + case T_COMPLEX: + break; case T_ICLASS: /* iClass shares table with the module */ break; |