Drive by comments about this implementation. We should probably take
this now to roll out a fix quickly, but then address the issue raised
here about collection order.

-Ivan




http://codereview.chromium.org/100344/diff/1/3
File src/mark-compact.cc (right):

http://codereview.chromium.org/100344/diff/1/3#newcode588
Line 588: // not receive a weak reference callback.
In retrospect was that not always a problem even with regular
non-external strings only being referred to by a sliced string in the
symbol table?

http://codereview.chromium.org/100344/diff/1/3#newcode601
Line 601: SetMark(symbol_table);
The flipping of mark bits to marked and back to unmarked seems fragile
to me. Currently this only works because of the order (symbol table
walking being first.)

Since we need to handle the symbol table in a special way. The direct
references are not marked but any depending ones. Can we add a special
marker instead? That way we would not be depending on resetting mark
bits during a GC, which is an unneeded break of the assertions of the GC
algorithm and adds unknown ordering dependencies in the marking steps
making the code more complex.

http://codereview.chromium.org/100344

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

Reply via email to