| OLD | NEW |
| 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 #ifndef V8_HEAP_HEAP_H_ | 5 #ifndef V8_HEAP_HEAP_H_ |
| 6 #define V8_HEAP_HEAP_H_ | 6 #define V8_HEAP_HEAP_H_ |
| 7 | 7 |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 #include <map> | 9 #include <map> |
| 10 | 10 |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 180 V(FixedArray, microtask_queue, MicrotaskQueue) \ | 180 V(FixedArray, microtask_queue, MicrotaskQueue) \ |
| 181 V(TypeFeedbackVector, dummy_vector, DummyVector) \ | 181 V(TypeFeedbackVector, dummy_vector, DummyVector) \ |
| 182 V(FixedArray, detached_contexts, DetachedContexts) \ | 182 V(FixedArray, detached_contexts, DetachedContexts) \ |
| 183 V(ArrayList, retained_maps, RetainedMaps) \ | 183 V(ArrayList, retained_maps, RetainedMaps) \ |
| 184 V(WeakHashTable, weak_object_to_code_table, WeakObjectToCodeTable) \ | 184 V(WeakHashTable, weak_object_to_code_table, WeakObjectToCodeTable) \ |
| 185 V(PropertyCell, array_protector, ArrayProtector) \ | 185 V(PropertyCell, array_protector, ArrayProtector) \ |
| 186 V(PropertyCell, empty_property_cell, EmptyPropertyCell) \ | 186 V(PropertyCell, empty_property_cell, EmptyPropertyCell) \ |
| 187 V(Object, weak_stack_trace_list, WeakStackTraceList) \ | 187 V(Object, weak_stack_trace_list, WeakStackTraceList) \ |
| 188 V(Object, code_stub_context, CodeStubContext) \ | 188 V(Object, code_stub_context, CodeStubContext) \ |
| 189 V(JSObject, code_stub_exports_object, CodeStubExportsObject) \ | 189 V(JSObject, code_stub_exports_object, CodeStubExportsObject) \ |
| 190 V(Object, noscript_shared_function_infos, NoScriptSharedFunctionInfos) \ |
| 190 V(FixedArray, interpreter_table, InterpreterTable) \ | 191 V(FixedArray, interpreter_table, InterpreterTable) \ |
| 191 V(Map, bytecode_array_map, BytecodeArrayMap) \ | 192 V(Map, bytecode_array_map, BytecodeArrayMap) \ |
| 192 V(BytecodeArray, empty_bytecode_array, EmptyBytecodeArray) | 193 V(BytecodeArray, empty_bytecode_array, EmptyBytecodeArray) |
| 193 | 194 |
| 194 | 195 |
| 195 // Entries in this list are limited to Smis and are not visited during GC. | 196 // Entries in this list are limited to Smis and are not visited during GC. |
| 196 #define SMI_ROOT_LIST(V) \ | 197 #define SMI_ROOT_LIST(V) \ |
| 197 V(Smi, stack_limit, StackLimit) \ | 198 V(Smi, stack_limit, StackLimit) \ |
| 198 V(Smi, real_stack_limit, RealStackLimit) \ | 199 V(Smi, real_stack_limit, RealStackLimit) \ |
| 199 V(Smi, last_script_id, LastScriptId) \ | 200 V(Smi, last_script_id, LastScriptId) \ |
| (...skipping 957 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1157 } | 1158 } |
| 1158 | 1159 |
| 1159 void SetRootScriptList(Object* value) { | 1160 void SetRootScriptList(Object* value) { |
| 1160 roots_[kScriptListRootIndex] = value; | 1161 roots_[kScriptListRootIndex] = value; |
| 1161 } | 1162 } |
| 1162 | 1163 |
| 1163 void SetRootStringTable(StringTable* value) { | 1164 void SetRootStringTable(StringTable* value) { |
| 1164 roots_[kStringTableRootIndex] = value; | 1165 roots_[kStringTableRootIndex] = value; |
| 1165 } | 1166 } |
| 1166 | 1167 |
| 1168 void SetRootNoScriptSharedFunctionInfos(Object* value) { |
| 1169 roots_[kNoScriptSharedFunctionInfosRootIndex] = value; |
| 1170 } |
| 1171 |
| 1167 // Set the stack limit in the roots_ array. Some architectures generate | 1172 // Set the stack limit in the roots_ array. Some architectures generate |
| 1168 // code that looks here, because it is faster than loading from the static | 1173 // code that looks here, because it is faster than loading from the static |
| 1169 // jslimit_/real_jslimit_ variable in the StackGuard. | 1174 // jslimit_/real_jslimit_ variable in the StackGuard. |
| 1170 void SetStackLimits(); | 1175 void SetStackLimits(); |
| 1171 | 1176 |
| 1172 // Generated code can treat direct references to this root as constant. | 1177 // Generated code can treat direct references to this root as constant. |
| 1173 bool RootCanBeTreatedAsConstant(RootListIndex root_index); | 1178 bool RootCanBeTreatedAsConstant(RootListIndex root_index); |
| 1174 | 1179 |
| 1175 Map* MapForFixedTypedArray(ExternalArrayType array_type); | 1180 Map* MapForFixedTypedArray(ExternalArrayType array_type); |
| 1176 RootListIndex RootIndexForFixedTypedArray(ExternalArrayType array_type); | 1181 RootListIndex RootIndexForFixedTypedArray(ExternalArrayType array_type); |
| (...skipping 1539 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2716 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 2721 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
| 2717 | 2722 |
| 2718 private: | 2723 private: |
| 2719 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 2724 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
| 2720 }; | 2725 }; |
| 2721 #endif // DEBUG | 2726 #endif // DEBUG |
| 2722 } // namespace internal | 2727 } // namespace internal |
| 2723 } // namespace v8 | 2728 } // namespace v8 |
| 2724 | 2729 |
| 2725 #endif // V8_HEAP_HEAP_H_ | 2730 #endif // V8_HEAP_HEAP_H_ |
| OLD | NEW |