Revision: 21283
Author: [email protected]
Date: Tue May 13 08:48:39 2014 UTC
Log: Fix incremental marking of native context when bootstrapping.
This should fix one of the arm64 build breaks - we have tried to mark
half-initialized native context there, but the normalized_map_cache
entry was still undefined.
[email protected]
BUG=
Review URL: https://codereview.chromium.org/284633002
http://code.google.com/p/v8/source/detail?r=21283
Modified:
/branches/bleeding_edge/src/incremental-marking.cc
=======================================
--- /branches/bleeding_edge/src/incremental-marking.cc Fri May 9 09:13:12
2014 UTC
+++ /branches/bleeding_edge/src/incremental-marking.cc Tue May 13 08:48:39
2014 UTC
@@ -222,9 +222,13 @@
static void VisitNativeContextIncremental(Map* map, HeapObject* object) {
Context* context = Context::cast(object);
- // We will mark cache black with a separate pass
- // when we finish marking.
- MarkObjectGreyDoNotEnqueue(context->normalized_map_cache());
+ // We will mark cache black with a separate pass when we finish
marking.
+ // Note that GC can happen when the context is not fully initialized,
+ // so the cache can be undefined.
+ Object* cache = context->get(Context::NORMALIZED_MAP_CACHE_INDEX);
+ if (!cache->IsUndefined()) {
+ MarkObjectGreyDoNotEnqueue(cache);
+ }
VisitNativeContext(map, context);
}
--
--
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.