| Index: src/heap.h
|
| diff --git a/src/heap.h b/src/heap.h
|
| index 6b0236330f9c96185fa8d3cf8c61d379b8f081a2..5e8a2e516d9d009bafdeca4605e5cd7e6bbe38a0 100644
|
| --- a/src/heap.h
|
| +++ b/src/heap.h
|
| @@ -188,7 +188,9 @@ namespace internal {
|
| V(Symbol, frozen_symbol, FrozenSymbol) \
|
| V(SeededNumberDictionary, empty_slow_element_dictionary, \
|
| EmptySlowElementDictionary) \
|
| - V(Symbol, observed_symbol, ObservedSymbol)
|
| + V(Symbol, observed_symbol, ObservedSymbol) \
|
| + V(HeapObject, i18n_template_one, I18nTemplateOne) \
|
| + V(HeapObject, i18n_template_two, I18nTemplateTwo)
|
|
|
| #define ROOT_LIST(V) \
|
| STRONG_ROOT_LIST(V) \
|
| @@ -475,41 +477,6 @@ class ExternalStringTable {
|
| };
|
|
|
|
|
| -// The stack property of an error object is implemented as a getter that
|
| -// formats the attached raw stack trace into a string. This raw stack trace
|
| -// keeps code and function objects alive until the getter is called the first
|
| -// time. To release those objects, we call the getter after each GC for
|
| -// newly tenured error objects that are kept in a list.
|
| -class ErrorObjectList {
|
| - public:
|
| - inline void Add(JSObject* object);
|
| -
|
| - inline void Iterate(ObjectVisitor* v);
|
| -
|
| - void TearDown();
|
| -
|
| - void RemoveUnmarked(Heap* heap);
|
| -
|
| - void DeferredFormatStackTrace(Isolate* isolate);
|
| -
|
| - void UpdateReferences();
|
| -
|
| - void UpdateReferencesInNewSpace(Heap* heap);
|
| -
|
| - private:
|
| - static const int kBudgetPerGC = 16;
|
| -
|
| - ErrorObjectList() : nested_(false) { }
|
| -
|
| - friend class Heap;
|
| -
|
| - List<Object*> list_;
|
| - bool nested_;
|
| -
|
| - DISALLOW_COPY_AND_ASSIGN(ErrorObjectList);
|
| -};
|
| -
|
| -
|
| enum ArrayStorageAllocationMode {
|
| DONT_INITIALIZE_ARRAY_ELEMENTS,
|
| INITIALIZE_ARRAY_ELEMENTS_WITH_HOLE
|
| @@ -1287,10 +1254,7 @@ class Heap {
|
| void EnsureHeapIsIterable();
|
|
|
| // Notify the heap that a context has been disposed.
|
| - int NotifyContextDisposed() {
|
| - flush_monomorphic_ics_ = true;
|
| - return ++contexts_disposed_;
|
| - }
|
| + int NotifyContextDisposed();
|
|
|
| // Utility to invoke the scavenger. This is needed in test code to
|
| // ensure correct callback for weak global handles.
|
| @@ -1333,6 +1297,12 @@ class Heap {
|
| ASSERT((callback == NULL) ^ (global_gc_epilogue_callback_ == NULL));
|
| global_gc_epilogue_callback_ = callback;
|
| }
|
| + void SetI18nTemplateOne(ObjectTemplateInfo* tmpl) {
|
| + set_i18n_template_one(tmpl);
|
| + }
|
| + void SetI18nTemplateTwo(ObjectTemplateInfo* tmpl) {
|
| + set_i18n_template_two(tmpl);
|
| + }
|
|
|
| // Heap root getters. We have versions with and without type::cast() here.
|
| // You can't use type::cast during GC because the assert fails.
|
| @@ -1716,8 +1686,6 @@ class Heap {
|
| // we try to promote this object.
|
| inline bool ShouldBePromoted(Address old_address, int object_size);
|
|
|
| - int MaxObjectSizeInNewSpace() { return kMaxObjectSizeInNewSpace; }
|
| -
|
| void ClearJSFunctionResultCaches();
|
|
|
| void ClearNormalizedMapCaches();
|
| @@ -1798,10 +1766,6 @@ class Heap {
|
| return &external_string_table_;
|
| }
|
|
|
| - ErrorObjectList* error_object_list() {
|
| - return &error_object_list_;
|
| - }
|
| -
|
| // Returns the current sweep generation.
|
| int sweep_generation() {
|
| return sweep_generation_;
|
| @@ -1966,12 +1930,6 @@ class Heap {
|
|
|
| int scan_on_scavenge_pages_;
|
|
|
| -#if V8_TARGET_ARCH_X64
|
| - static const int kMaxObjectSizeInNewSpace = 1024*KB;
|
| -#else
|
| - static const int kMaxObjectSizeInNewSpace = 512*KB;
|
| -#endif
|
| -
|
| NewSpace new_space_;
|
| OldSpace* old_pointer_space_;
|
| OldSpace* old_data_space_;
|
| @@ -2406,8 +2364,6 @@ class Heap {
|
|
|
| ExternalStringTable external_string_table_;
|
|
|
| - ErrorObjectList error_object_list_;
|
| -
|
| VisitorDispatchTable<ScavengingCallback> scavenging_visitors_table_;
|
|
|
| MemoryChunk* chunks_queued_for_free_;
|
|
|