Thanks, landing.
https://codereview.chromium.org/637253004/diff/1/src/heap/mark-compact.cc
File src/heap/mark-compact.cc (right):
https://codereview.chromium.org/637253004/diff/1/src/heap/mark-compact.cc#newcode2748
src/heap/mark-compact.cc:2748: if
(!MarkCompactCollector::IsMarked(value)) {
On 2014/10/20 08:00:17, Erik Corry Chromium.org wrote:
IsMarked will assert that the value is a heap object, so you should
handle the
non-heap-object case here or make value a HeapObject pointer and use
HeapObject::cast() if you don't think it can happen.
Done.
https://codereview.chromium.org/637253004/diff/1/src/heap/objects-visiting-inl.h
File src/heap/objects-visiting-inl.h (right):
https://codereview.chromium.org/637253004/diff/1/src/heap/objects-visiting-inl.h#newcode363
src/heap/objects-visiting-inl.h:363: if (weak_cell->next() == undefined
&& !weak_cell->cleared()) {
On 2014/10/20 08:00:18, Erik Corry Chromium.org wrote:
Perhaps this should just check for Sminess instead of clearedness,
since there's
no point in queueing up a cell with a Smi in it.
Since the initialization function of the weak cell accepts only heap
objects, weak_cell->value()->IsSmi() is equivalent to weak_cell->value
== Smi::FromInt(0).
https://codereview.chromium.org/637253004/diff/1/src/objects-inl.h
File src/objects-inl.h (right):
https://codereview.chromium.org/637253004/diff/1/src/objects-inl.h#newcode1938
src/objects-inl.h:1938: void WeakCell::clear() { WRITE_FIELD(this,
kValueOffset, Smi::FromInt(0)); }
On 2014/10/20 08:00:18, Erik Corry Chromium.org wrote:
If this should only be called by the GC, can we assert that we are in
a GC here?
Done.
https://codereview.chromium.org/637253004/
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.