OLD | NEW |
1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 128 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
139 V(Map, block_context_map, BlockContextMap) \ | 139 V(Map, block_context_map, BlockContextMap) \ |
140 V(Map, oddball_map, OddballMap) \ | 140 V(Map, oddball_map, OddballMap) \ |
141 V(Map, message_object_map, JSMessageObjectMap) \ | 141 V(Map, message_object_map, JSMessageObjectMap) \ |
142 V(Map, foreign_map, ForeignMap) \ | 142 V(Map, foreign_map, ForeignMap) \ |
143 V(HeapNumber, nan_value, NanValue) \ | 143 V(HeapNumber, nan_value, NanValue) \ |
144 V(HeapNumber, infinity_value, InfinityValue) \ | 144 V(HeapNumber, infinity_value, InfinityValue) \ |
145 V(HeapNumber, minus_zero_value, MinusZeroValue) \ | 145 V(HeapNumber, minus_zero_value, MinusZeroValue) \ |
146 V(Map, neander_map, NeanderMap) \ | 146 V(Map, neander_map, NeanderMap) \ |
147 V(JSObject, message_listeners, MessageListeners) \ | 147 V(JSObject, message_listeners, MessageListeners) \ |
148 V(Foreign, prototype_accessors, PrototypeAccessors) \ | 148 V(Foreign, prototype_accessors, PrototypeAccessors) \ |
149 V(NumberDictionary, code_stubs, CodeStubs) \ | 149 V(NotSeededNumberDictionary, code_stubs, CodeStubs) \ |
150 V(NumberDictionary, non_monomorphic_cache, NonMonomorphicCache) \ | 150 V(NotSeededNumberDictionary, non_monomorphic_cache, NonMonomorphicCache) \ |
151 V(PolymorphicCodeCache, polymorphic_code_cache, PolymorphicCodeCache) \ | 151 V(PolymorphicCodeCache, polymorphic_code_cache, PolymorphicCodeCache) \ |
152 V(Code, js_entry_code, JsEntryCode) \ | 152 V(Code, js_entry_code, JsEntryCode) \ |
153 V(Code, js_construct_entry_code, JsConstructEntryCode) \ | 153 V(Code, js_construct_entry_code, JsConstructEntryCode) \ |
154 V(FixedArray, natives_source_cache, NativesSourceCache) \ | 154 V(FixedArray, natives_source_cache, NativesSourceCache) \ |
155 V(Object, last_script_id, LastScriptId) \ | 155 V(Object, last_script_id, LastScriptId) \ |
156 V(Script, empty_script, EmptyScript) \ | 156 V(Script, empty_script, EmptyScript) \ |
157 V(Smi, real_stack_limit, RealStackLimit) \ | 157 V(Smi, real_stack_limit, RealStackLimit) \ |
158 V(StringDictionary, intrinsic_function_names, IntrinsicFunctionNames) \ | 158 V(StringDictionary, intrinsic_function_names, IntrinsicFunctionNames) \ |
159 | 159 |
160 #define ROOT_LIST(V) \ | 160 #define ROOT_LIST(V) \ |
(...skipping 971 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1132 // Checks whether an address/object in a space. | 1132 // Checks whether an address/object in a space. |
1133 // Currently used by tests, serialization and heap verification only. | 1133 // Currently used by tests, serialization and heap verification only. |
1134 bool InSpace(Address addr, AllocationSpace space); | 1134 bool InSpace(Address addr, AllocationSpace space); |
1135 bool InSpace(HeapObject* value, AllocationSpace space); | 1135 bool InSpace(HeapObject* value, AllocationSpace space); |
1136 | 1136 |
1137 // Finds out which space an object should get promoted to based on its type. | 1137 // Finds out which space an object should get promoted to based on its type. |
1138 inline OldSpace* TargetSpace(HeapObject* object); | 1138 inline OldSpace* TargetSpace(HeapObject* object); |
1139 inline AllocationSpace TargetSpaceId(InstanceType type); | 1139 inline AllocationSpace TargetSpaceId(InstanceType type); |
1140 | 1140 |
1141 // Sets the stub_cache_ (only used when expanding the dictionary). | 1141 // Sets the stub_cache_ (only used when expanding the dictionary). |
1142 void public_set_code_stubs(NumberDictionary* value) { | 1142 void public_set_code_stubs(NotSeededNumberDictionary* value) { |
1143 roots_[kCodeStubsRootIndex] = value; | 1143 roots_[kCodeStubsRootIndex] = value; |
1144 } | 1144 } |
1145 | 1145 |
1146 // Support for computing object sizes for old objects during GCs. Returns | 1146 // Support for computing object sizes for old objects during GCs. Returns |
1147 // a function that is guaranteed to be safe for computing object sizes in | 1147 // a function that is guaranteed to be safe for computing object sizes in |
1148 // the current GC phase. | 1148 // the current GC phase. |
1149 HeapObjectCallback GcSafeSizeOfOldObjectFunction() { | 1149 HeapObjectCallback GcSafeSizeOfOldObjectFunction() { |
1150 return gc_safe_size_of_old_object_; | 1150 return gc_safe_size_of_old_object_; |
1151 } | 1151 } |
1152 | 1152 |
1153 // Sets the non_monomorphic_cache_ (only used when expanding the dictionary). | 1153 // Sets the non_monomorphic_cache_ (only used when expanding the dictionary). |
1154 void public_set_non_monomorphic_cache(NumberDictionary* value) { | 1154 void public_set_non_monomorphic_cache(NotSeededNumberDictionary* value) { |
1155 roots_[kNonMonomorphicCacheRootIndex] = value; | 1155 roots_[kNonMonomorphicCacheRootIndex] = value; |
1156 } | 1156 } |
1157 | 1157 |
1158 void public_set_empty_script(Script* script) { | 1158 void public_set_empty_script(Script* script) { |
1159 roots_[kEmptyScriptRootIndex] = script; | 1159 roots_[kEmptyScriptRootIndex] = script; |
1160 } | 1160 } |
1161 | 1161 |
1162 void public_set_store_buffer_top(Address* top) { | 1162 void public_set_store_buffer_top(Address* top) { |
1163 roots_[kStoreBufferTopRootIndex] = reinterpret_cast<Smi*>(top); | 1163 roots_[kStoreBufferTopRootIndex] = reinterpret_cast<Smi*>(top); |
1164 } | 1164 } |
(...skipping 1448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2613 | 2613 |
2614 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2614 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
2615 }; | 2615 }; |
2616 #endif // DEBUG || LIVE_OBJECT_LIST | 2616 #endif // DEBUG || LIVE_OBJECT_LIST |
2617 | 2617 |
2618 } } // namespace v8::internal | 2618 } } // namespace v8::internal |
2619 | 2619 |
2620 #undef HEAP | 2620 #undef HEAP |
2621 | 2621 |
2622 #endif // V8_HEAP_H_ | 2622 #endif // V8_HEAP_H_ |
OLD | NEW |