- Revert parts of r39731 as they cause conflicting results.

Review URL: https://codereview.chromium.org//534433002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39734 260f80e4-7a28-3924-810f-c04153c831b5
This commit is contained in:
iposva@google.com
2014-09-01 20:28:43 +00:00
parent ca82a05d2e
commit d854884590
+3 -21
View File
@@ -330,13 +330,7 @@ class RawObject {
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 @@ class RawObject {
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() {