Chromium Code Reviews| Index: runtime/vm/gc_marker.cc |
| =================================================================== |
| --- runtime/vm/gc_marker.cc (revision 42376) |
| +++ runtime/vm/gc_marker.cc (working copy) |
| @@ -158,7 +158,7 @@ |
| ASSERT(raw_key->IsWatched()); |
| } else { |
| ASSERT(!raw_key->IsWatched()); |
| - raw_key->SetWatchedBit(); |
| + raw_key->SetWatchedBitUnsynchronized(); |
| } |
| delay_set_.insert(std::make_pair(raw_key, raw_weak)); |
| } |
| @@ -187,8 +187,8 @@ |
| // Mark the object and push it on the marking stack. |
| ASSERT(!raw_obj->IsMarked()); |
| - raw_obj->SetMarkBit(); |
| - raw_obj->ClearRememberedBit(); |
| + raw_obj->SetMarkBitUnsynchronized(); |
| + raw_obj->ClearRememberedBitUnsynchronized(); |
| if (raw_obj->IsWatched()) { |
|
Ivan Posva
2014/12/16 20:33:23
How about:
bool is_watched = raw_obj->IsWatched()
koda
2014/12/16 20:49:19
Done (after removing ASSERT from ClearWatched...).
|
| std::pair<DelaySet::iterator, DelaySet::iterator> ret; |
| // Visit all elements with a key equal to raw_obj. |
| @@ -201,7 +201,7 @@ |
| it != temp_copy.end(); ++it) { |
| it->second->VisitPointers(this); |
| } |
| - raw_obj->ClearWatchedBit(); |
| + raw_obj->ClearWatchedBitUnsynchronized(); |
|
Ivan Posva
2014/12/16 20:33:23
Can we at least move this up to immediately clear
koda
2014/12/16 20:49:19
Acknowledged.
|
| } |
| marking_stack_->Push(raw_obj); |
| } |
| @@ -223,7 +223,7 @@ |
| if ((visiting_old_object_ != NULL) && |
| !visiting_old_object_->IsRemembered()) { |
| ASSERT(p != NULL); |
| - visiting_old_object_->SetRememberedBit(); |
| + visiting_old_object_->SetRememberedBitUnsynchronized(); |
| isolate()->store_buffer()->AddObjectGC(visiting_old_object_); |
| } |
| return; |