Skip to content

Commit

Permalink
* gc.c: use Bitmap Marking algorithm to avoid copy-on-write of
Browse files Browse the repository at this point in the history
  memory pages. See [ruby-dev:45085] [Feature ruby#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
  • Loading branch information
authorNari committed Jan 7, 2012
1 parent 9060e87 commit 50675fd
Show file tree
Hide file tree
Showing 7 changed files with 250 additions and 117 deletions.
16 changes: 16 additions & 0 deletions ChangeLog
Original file line number Diff line number Diff line change
@@ -1,3 +1,19 @@
Sat Jan 7 22:25:50 2012 Narihiro Nakamura <[email protected]>

* 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.

Sat Jan 7 00:47:07 2012 CHIKANAGA Tomoyuki <[email protected]>

* configure.in: always define CANONICALIZATION_FOR_MATHN.
Expand Down
2 changes: 1 addition & 1 deletion class.c
Original file line number Diff line number Diff line change
Expand Up @@ -222,7 +222,7 @@ rb_singleton_class_clone(VALUE obj)
return klass;
else {
/* copy singleton(unnamed) class */
VALUE clone = class_alloc((RBASIC(klass)->flags & ~(FL_MARK)), 0);
VALUE clone = class_alloc(RBASIC(klass)->flags, 0);

if (BUILTIN_TYPE(obj) == T_CLASS) {
RBASIC(clone)->klass = clone;
Expand Down
4 changes: 2 additions & 2 deletions debug.c
Original file line number Diff line number Diff line change
Expand Up @@ -32,8 +32,8 @@ const union {
RUBY_ENC_CODERANGE_7BIT = ENC_CODERANGE_7BIT,
RUBY_ENC_CODERANGE_VALID = ENC_CODERANGE_VALID,
RUBY_ENC_CODERANGE_BROKEN = ENC_CODERANGE_BROKEN,
RUBY_FL_MARK = FL_MARK,
RUBY_FL_RESERVED = FL_RESERVED,
RUBY_FL_RESERVED1 = FL_RESERVED1,
RUBY_FL_RESERVED2 = FL_RESERVED2,
RUBY_FL_FINALIZE = FL_FINALIZE,
RUBY_FL_TAINT = FL_TAINT,
RUBY_FL_UNTRUSTED = FL_UNTRUSTED,
Expand Down
Loading

0 comments on commit 50675fd

Please sign in to comment.