| Index: runtime/vm/raw_object.h
|
| ===================================================================
|
| --- runtime/vm/raw_object.h (revision 39731)
|
| +++ runtime/vm/raw_object.h (working copy)
|
| @@ -330,13 +330,7 @@
|
| void ClearMarkBit() {
|
| ASSERT(IsMarked());
|
| uword tags = ptr()->tags_;
|
| - uword old_tags;
|
| - do {
|
| - old_tags = tags;
|
| - uword new_tags = MarkBit::update(false, old_tags);
|
| - tags = AtomicOperations::CompareAndSwapWord(
|
| - &ptr()->tags_, old_tags, new_tags);
|
| - } while (tags != old_tags);
|
| + ptr()->tags_ = MarkBit::update(false, tags);
|
| }
|
|
|
| // Support for GC watched bit.
|
| @@ -389,23 +383,11 @@
|
| void SetRememberedBit() {
|
| ASSERT(!IsRemembered());
|
| uword tags = ptr()->tags_;
|
| - uword old_tags;
|
| - do {
|
| - old_tags = tags;
|
| - uword new_tags = RememberedBit::update(true, old_tags);
|
| - tags = AtomicOperations::CompareAndSwapWord(
|
| - &ptr()->tags_, old_tags, new_tags);
|
| - } while (tags != old_tags);
|
| + ptr()->tags_ = RememberedBit::update(true, tags);
|
| }
|
| void ClearRememberedBit() {
|
| uword tags = ptr()->tags_;
|
| - uword old_tags;
|
| - do {
|
| - old_tags = tags;
|
| - uword new_tags = RememberedBit::update(false, old_tags);
|
| - tags = AtomicOperations::CompareAndSwapWord(
|
| - &ptr()->tags_, old_tags, new_tags);
|
| - } while (tags != old_tags);
|
| + ptr()->tags_ = RememberedBit::update(false, tags);
|
| }
|
|
|
| bool IsDartInstance() {
|
|
|