I was driving by on my fancy markbits-mobile :-)

http://codereview.chromium.org/3144002/diff/1/13
File src/objects-inl.h (right):

http://codereview.chromium.org/3144002/diff/1/13#newcode1401
src/objects-inl.h:1401: ASSERT(map_word().ToMap() !=
Heap::raw_unchecked_fixed_cow_array_map());
On 2010/08/13 14:14:01, Vitaly wrote:
On 2010/08/11 10:42:31, Mads Ager wrote:
> Just use 'map()' in all of these asserts?
>
> Are these used during GC so that you need to use
> raw_unchecked_fixed_cow_array_map or could you just use
fixed_cow_array_map()?

Changed map_word().ToMap() to map(). Some of these are used during GC
(our
descriptor dance) so I used "unchecked" in all of them for
consistency.


If some of them are used during GC then they should take into account
that object can be marked. For marked object assertion

ASSERT(map() != Heap::raw_unchecked_fixed_cow_array_map());

will never fail even if object actually have COW array map.

During GC you have to clear mark and overflow bits from map word to get
a real map pointer.

http://codereview.chromium.org/3144002/show

--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to