| OLD | NEW |
| 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 141 V(NumberDictionary, code_stubs, CodeStubs) \ | 141 V(NumberDictionary, code_stubs, CodeStubs) \ |
| 142 V(NumberDictionary, non_monomorphic_cache, NonMonomorphicCache) \ | 142 V(NumberDictionary, non_monomorphic_cache, NonMonomorphicCache) \ |
| 143 V(Code, js_entry_code, JsEntryCode) \ | 143 V(Code, js_entry_code, JsEntryCode) \ |
| 144 V(Code, js_construct_entry_code, JsConstructEntryCode) \ | 144 V(Code, js_construct_entry_code, JsConstructEntryCode) \ |
| 145 V(Code, c_entry_code, CEntryCode) \ | 145 V(Code, c_entry_code, CEntryCode) \ |
| 146 V(Code, c_entry_debug_break_code, CEntryDebugBreakCode) \ | 146 V(Code, c_entry_debug_break_code, CEntryDebugBreakCode) \ |
| 147 V(FixedArray, number_string_cache, NumberStringCache) \ | 147 V(FixedArray, number_string_cache, NumberStringCache) \ |
| 148 V(FixedArray, single_character_string_cache, SingleCharacterStringCache) \ | 148 V(FixedArray, single_character_string_cache, SingleCharacterStringCache) \ |
| 149 V(FixedArray, natives_source_cache, NativesSourceCache) \ | 149 V(FixedArray, natives_source_cache, NativesSourceCache) \ |
| 150 V(Object, last_script_id, LastScriptId) \ | 150 V(Object, last_script_id, LastScriptId) \ |
| 151 V(Smi, real_stack_limit, RealStackLimit) \ |
| 151 | 152 |
| 152 #if V8_TARGET_ARCH_ARM && V8_NATIVE_REGEXP | 153 #if V8_TARGET_ARCH_ARM && V8_NATIVE_REGEXP |
| 153 #define STRONG_ROOT_LIST(V) \ | 154 #define STRONG_ROOT_LIST(V) \ |
| 154 UNCONDITIONAL_STRONG_ROOT_LIST(V) \ | 155 UNCONDITIONAL_STRONG_ROOT_LIST(V) \ |
| 155 V(Code, re_c_entry_code, RegExpCEntryCode) | 156 V(Code, re_c_entry_code, RegExpCEntryCode) |
| 156 #else | 157 #else |
| 157 #define STRONG_ROOT_LIST(V) UNCONDITIONAL_STRONG_ROOT_LIST(V) | 158 #define STRONG_ROOT_LIST(V) UNCONDITIONAL_STRONG_ROOT_LIST(V) |
| 158 #endif | 159 #endif |
| 159 | 160 |
| 160 #define ROOT_LIST(V) \ | 161 #define ROOT_LIST(V) \ |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 243 static bool ConfigureHeapDefault(); | 244 static bool ConfigureHeapDefault(); |
| 244 | 245 |
| 245 // Initializes the global object heap. If create_heap_objects is true, | 246 // Initializes the global object heap. If create_heap_objects is true, |
| 246 // also creates the basic non-mutable objects. | 247 // also creates the basic non-mutable objects. |
| 247 // Returns whether it succeeded. | 248 // Returns whether it succeeded. |
| 248 static bool Setup(bool create_heap_objects); | 249 static bool Setup(bool create_heap_objects); |
| 249 | 250 |
| 250 // Destroys all memory allocated by the heap. | 251 // Destroys all memory allocated by the heap. |
| 251 static void TearDown(); | 252 static void TearDown(); |
| 252 | 253 |
| 253 // Sets the stack limit in the roots_ array. Some architectures generate code | 254 // Set the stack limit in the roots_ array. Some architectures generate |
| 254 // that looks here, because it is faster than loading from the static jslimit_ | 255 // code that looks here, because it is faster than loading from the static |
| 255 // variable. | 256 // jslimit_/real_jslimit_ variable in the StackGuard. |
| 256 static void SetStackLimit(intptr_t limit); | 257 static void SetStackLimits(); |
| 257 | 258 |
| 258 // Returns whether Setup has been called. | 259 // Returns whether Setup has been called. |
| 259 static bool HasBeenSetup(); | 260 static bool HasBeenSetup(); |
| 260 | 261 |
| 261 // Returns the maximum amount of memory reserved for the heap. For | 262 // Returns the maximum amount of memory reserved for the heap. For |
| 262 // the young generation, we reserve 4 times the amount needed for a | 263 // the young generation, we reserve 4 times the amount needed for a |
| 263 // semi space. The young generation consists of two semi spaces and | 264 // semi space. The young generation consists of two semi spaces and |
| 264 // we reserve twice the amount needed for those in order to ensure | 265 // we reserve twice the amount needed for those in order to ensure |
| 265 // that new space can be aligned to its size. | 266 // that new space can be aligned to its size. |
| 266 static int MaxReserved() { | 267 static int MaxReserved() { |
| (...skipping 1371 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1638 } | 1639 } |
| 1639 static TranscendentalCache* caches_[kNumberOfCaches]; | 1640 static TranscendentalCache* caches_[kNumberOfCaches]; |
| 1640 Element elements_[kCacheSize]; | 1641 Element elements_[kCacheSize]; |
| 1641 Type type_; | 1642 Type type_; |
| 1642 }; | 1643 }; |
| 1643 | 1644 |
| 1644 | 1645 |
| 1645 } } // namespace v8::internal | 1646 } } // namespace v8::internal |
| 1646 | 1647 |
| 1647 #endif // V8_HEAP_H_ | 1648 #endif // V8_HEAP_H_ |
| OLD | NEW |