Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(140)

Side by Side Diff: src/heap/heap.cc

Issue 645533003: Use hash map to look for objects in the root array when serializing. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: make use of the hash map more often. Created 6 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/accessors.h" 7 #include "src/accessors.h"
8 #include "src/api.h" 8 #include "src/api.h"
9 #include "src/base/bits.h" 9 #include "src/base/bits.h"
10 #include "src/base/once.h" 10 #include "src/base/once.h"
(...skipping 2887 matching lines...) Expand 10 before | Expand all | Expand 10 after
2898 set_regexp_multiple_cache(*factory->NewFixedArray( 2898 set_regexp_multiple_cache(*factory->NewFixedArray(
2899 RegExpResultsCache::kRegExpResultsCacheSize, TENURED)); 2899 RegExpResultsCache::kRegExpResultsCacheSize, TENURED));
2900 2900
2901 // Allocate cache for external strings pointing to native source code. 2901 // Allocate cache for external strings pointing to native source code.
2902 set_natives_source_cache( 2902 set_natives_source_cache(
2903 *factory->NewFixedArray(Natives::GetBuiltinsCount())); 2903 *factory->NewFixedArray(Natives::GetBuiltinsCount()));
2904 2904
2905 set_undefined_cell(*factory->NewCell(factory->undefined_value())); 2905 set_undefined_cell(*factory->NewCell(factory->undefined_value()));
2906 2906
2907 // The symbol registry is initialized lazily. 2907 // The symbol registry is initialized lazily.
2908 set_symbol_registry(undefined_value()); 2908 set_symbol_registry(Smi::FromInt(0));
2909 2909
2910 // Allocate object to hold object observation state. 2910 // Allocate object to hold object observation state.
2911 set_observation_state(*factory->NewJSObjectFromMap( 2911 set_observation_state(*factory->NewJSObjectFromMap(
2912 factory->NewMap(JS_OBJECT_TYPE, JSObject::kHeaderSize))); 2912 factory->NewMap(JS_OBJECT_TYPE, JSObject::kHeaderSize)));
2913 2913
2914 // Microtask queue uses the empty fixed array as a sentinel for "empty". 2914 // Microtask queue uses the empty fixed array as a sentinel for "empty".
2915 // Number of queued microtasks stored in Isolate::pending_microtask_count(). 2915 // Number of queued microtasks stored in Isolate::pending_microtask_count().
2916 set_microtask_queue(empty_fixed_array()); 2916 set_microtask_queue(empty_fixed_array());
2917 2917
2918 Handle<SeededNumberDictionary> slow_element_dictionary = 2918 Handle<SeededNumberDictionary> slow_element_dictionary =
(...skipping 3285 matching lines...) Expand 10 before | Expand all | Expand 10 after
6204 static_cast<int>(object_sizes_last_time_[index])); 6204 static_cast<int>(object_sizes_last_time_[index]));
6205 CODE_AGE_LIST_COMPLETE(ADJUST_LAST_TIME_OBJECT_COUNT) 6205 CODE_AGE_LIST_COMPLETE(ADJUST_LAST_TIME_OBJECT_COUNT)
6206 #undef ADJUST_LAST_TIME_OBJECT_COUNT 6206 #undef ADJUST_LAST_TIME_OBJECT_COUNT
6207 6207
6208 MemCopy(object_counts_last_time_, object_counts_, sizeof(object_counts_)); 6208 MemCopy(object_counts_last_time_, object_counts_, sizeof(object_counts_));
6209 MemCopy(object_sizes_last_time_, object_sizes_, sizeof(object_sizes_)); 6209 MemCopy(object_sizes_last_time_, object_sizes_, sizeof(object_sizes_));
6210 ClearObjectStats(); 6210 ClearObjectStats();
6211 } 6211 }
6212 } 6212 }
6213 } // namespace v8::internal 6213 } // namespace v8::internal
OLDNEW
« no previous file with comments | « src/compiler.cc ('k') | src/heap/heap-inl.h » ('j') | src/serialize.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698