diff options
| author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-05-24 02:47:22 +0000 |
|---|---|---|
| committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-05-24 02:47:22 +0000 |
| commit | 9c5e5550ec20b2f841efd277a92ff26ebc87cec0 (patch) | |
| tree | 5d2bbd9c33fb0344da8aae6f8a2f3aed0565a9de /gc.c | |
| parent | f4038b58e7c9522f4d22aa2f3bea6840f179c856 (diff) | |
| download | ruby-9c5e5550ec20b2f841efd277a92ff26ebc87cec0.tar.gz ruby-9c5e5550ec20b2f841efd277a92ff26ebc87cec0.tar.xz ruby-9c5e5550ec20b2f841efd277a92ff26ebc87cec0.zip | |
* gc.c, yarvcore.c: fix to mark VM structure on startup.
* yarvcore.h: disable USE_CACHED_VALUE.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@12381 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'gc.c')
| -rw-r--r-- | gc.c | 7 |
1 files changed, 4 insertions, 3 deletions
@@ -504,7 +504,7 @@ rb_fill_value_cache(rb_thread_t *th) VALUE rb_newobj(void) { -#if USE_VALUE_CACHE && 1 +#if USE_VALUE_CACHE rb_thread_t *th = GET_THREAD(); VALUE v = *th->value_cache_ptr; @@ -1333,6 +1333,8 @@ int rb_setjmp (rb_jmp_buf); #define GC_NOTIFY 0 +void rb_vm_mark(void *ptr); + static int garbage_collect(void) { @@ -1358,8 +1360,7 @@ garbage_collect(void) init_mark_stack(); - rb_gc_mark(th->vm->self); - rb_gc_mark(th->vm->mark_object_ary); + th->vm->self ? rb_gc_mark(th->vm->self) : rb_vm_mark(th->vm); if (finalizer_table) { mark_tbl(finalizer_table, 0); |
