diff options
author | nari <nari@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-01-07 14:02:23 +0000 |
---|---|---|
committer | nari <nari@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2012-01-07 14:02:23 +0000 |
commit | 50675fdba1125a841ed494cb98737c97bd748900 (patch) | |
tree | 976e3ce2bd9f96427097800210f3203f4b84c339 /object.c | |
parent | 9060e87fa88155a203b69aeb2f05319b20796465 (diff) |
* gc.c: use Bitmap Marking algorithm to avoid copy-on-write of
memory pages. See [ruby-dev:45085] [Feature #5839]
[ruby-core:41916].
* include/ruby/ruby.h : FL_MARK rename to FL_RESERVED1.
* node.h : ditto.
* debug.c : ditto.
* object.c (rb_obj_clone): FL_MARK move to a bitmap.
* class.c (rb_singleton_class_clone): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@34225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'object.c')
-rw-r--r-- | object.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -285,7 +285,7 @@ rb_obj_clone(VALUE obj) if (FL_TEST(singleton, FL_SINGLETON)) { rb_singleton_class_attached(singleton, clone); } - RBASIC(clone)->flags = (RBASIC(obj)->flags | FL_TEST(clone, FL_TAINT) | FL_TEST(clone, FL_UNTRUSTED)) & ~(FL_FREEZE|FL_FINALIZE|FL_MARK); + RBASIC(clone)->flags = (RBASIC(obj)->flags | FL_TEST(clone, FL_TAINT) | FL_TEST(clone, FL_UNTRUSTED)) & ~(FL_FREEZE|FL_FINALIZE); init_copy(clone, obj); rb_funcall(clone, id_init_clone, 1, obj); RBASIC(clone)->flags |= RBASIC(obj)->flags & FL_FREEZE; |