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_; |