| Index: src/heap.cc
|
| ===================================================================
|
| --- src/heap.cc (revision 5141)
|
| +++ src/heap.cc (working copy)
|
| @@ -570,6 +570,22 @@
|
| }
|
|
|
|
|
| +class ClearThreadNormalizedMapCachesVisitor: public ThreadVisitor {
|
| + virtual void VisitThread(ThreadLocalTop* top) {
|
| + Context* context = top->context_;
|
| + if (context == NULL) return;
|
| + context->global()->global_context()->normalized_map_cache()->Clear();
|
| + }
|
| +};
|
| +
|
| +
|
| +void Heap::ClearNormalizedMapCaches() {
|
| + if (Bootstrapper::IsActive()) return;
|
| + ClearThreadNormalizedMapCachesVisitor visitor;
|
| + ThreadManager::IterateArchivedThreads(&visitor);
|
| +}
|
| +
|
| +
|
| #ifdef DEBUG
|
|
|
| enum PageWatermarkValidity {
|
| @@ -760,6 +776,8 @@
|
| CompletelyClearInstanceofCache();
|
|
|
| if (is_compacting) FlushNumberStringCache();
|
| +
|
| + ClearNormalizedMapCaches();
|
| }
|
|
|
|
|
|
|