Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(820)

Unified Diff: src/objects-inl.h

Issue 637253004: Use smi zero instead of undefine_value to zap dead weak cells. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/objects-inl.h
diff --git a/src/objects-inl.h b/src/objects-inl.h
index 91bd0092244536b8293999e80640e56f9235a762..057331c27c7a4f56a7aa65393c376073e94f388c 100644
--- a/src/objects-inl.h
+++ b/src/objects-inl.h
@@ -1930,14 +1930,12 @@ void PropertyCell::set_type_raw(Object* val, WriteBarrierMode ignored) {
}
-HeapObject* WeakCell::value() const {
+Object* WeakCell::value() const {
return HeapObject::cast(READ_FIELD(this, kValueOffset));
}
-void WeakCell::clear(HeapObject* undefined) {
- WRITE_FIELD(this, kValueOffset, undefined);
-}
+void WeakCell::clear() { WRITE_FIELD(this, kValueOffset, Smi::FromInt(0)); }
Erik Corry Chromium.org 2014/10/20 08:00:18 If this should only be called by the GC, can we as
ulan 2014/10/20 12:30:19 Done.
void WeakCell::initialize(HeapObject* val) {
@@ -1946,6 +1944,9 @@ void WeakCell::initialize(HeapObject* val) {
}
+bool WeakCell::cleared() const { return value() == Smi::FromInt(0); }
+
+
Object* WeakCell::next() const { return READ_FIELD(this, kNextOffset); }
« src/heap/objects-visiting-inl.h ('K') | « src/objects.cc ('k') | test/cctest/test-heap.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698