LGTM (with a couple of nits).

https://chromiumcodereview.appspot.com/12094036/diff/2001/src/lithium.cc
File src/lithium.cc (right):

https://chromiumcodereview.appspot.com/12094036/diff/2001/src/lithium.cc#newcode459
src/lithium.cc:459: NoWeakEmbeddedMapsVerificationScope
disable_verification_of_embedded_maps;
On 2013/01/29 15:02:58, ulan wrote:
I tried putting AlwaysAllocateScope here, but then some cc tests fail
because
they already have AlwaysAllocateScope and we cannot nest them.

Yeah, it's unfortunate that we need a specialized scope for that, but I
don't see another solution either, so I am fine with it.

https://chromiumcodereview.appspot.com/12094036/diff/2001/src/mark-compact.cc
File src/mark-compact.cc (right):

https://chromiumcodereview.appspot.com/12094036/diff/2001/src/mark-compact.cc#newcode837
src/mark-compact.cc:837: static void
VerifyWeakEmbeddedMapsInOptimizedCode(Heap* heap) {
Move this function up to the other verifiers at the top of the file.

https://chromiumcodereview.appspot.com/12094036/diff/2001/src/mark-compact.cc#newcode870
src/mark-compact.cc:870: if (FLAG_collect_maps &&
FLAG_weak_embedded_maps_in_optimized_code &&
Move this call into MarkCompactCollector::CollectGarbage() where the
other verifiers are called.

https://chromiumcodereview.appspot.com/12094036/diff/2001/src/mark-compact.cc#newcode2335
src/mark-compact.cc:2335: Object** slot =
codes->code_slot_at(new_number_of_codes);
On 2013/01/29 15:02:58, ulan wrote:
This was the bug that lead to crashes.

Ouch, nice catch, I should have seen that in my initial review.

https://chromiumcodereview.appspot.com/12094036/diff/2001/src/mark-compact.cc#newcode2344
src/mark-compact.cc:2344: number_of_codes = codes->number_of_codes();
This call seems to be obsolete.

https://chromiumcodereview.appspot.com/12094036/diff/2001/src/objects-inl.h
File src/objects-inl.h (right):

https://chromiumcodereview.appspot.com/12094036/diff/2001/src/objects-inl.h#newcode80
src/objects-inl.h:80: ASSERT(object->Is##type());                 \
Unnecessary white-space change.

https://chromiumcodereview.appspot.com/12094036/diff/2001/src/objects.cc
File src/objects.cc (right):

https://chromiumcodereview.appspot.com/12094036/diff/2001/src/objects.cc#newcode9212
src/objects.cc:9212: void Code::VerifyEmbeddedMaps() {
This whole implementation belongs into objects-debug.cc I guess.

https://chromiumcodereview.appspot.com/12094036/diff/2001/src/objects.cc#newcode9218
src/objects.cc:9218: Map* map = Map::cast(it.rinfo()->target_object());
Indentation is off.

https://chromiumcodereview.appspot.com/12094036/diff/2001/src/objects.h
File src/objects.h (right):

https://chromiumcodereview.appspot.com/12094036/diff/2001/src/objects.h#newcode4549
src/objects.h:4549: void VerifyEmbeddedMaps();
Let's call this "VerifyEmbeddedMapsDependency()".

https://chromiumcodereview.appspot.com/12094036/

--
--
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/groups/opt_out.


Reply via email to