OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
201 V(Symbol, elements_transition_symbol, ElementsTransitionSymbol) \ | 201 V(Symbol, elements_transition_symbol, ElementsTransitionSymbol) \ |
202 V(SeededNumberDictionary, empty_slow_element_dictionary, \ | 202 V(SeededNumberDictionary, empty_slow_element_dictionary, \ |
203 EmptySlowElementDictionary) \ | 203 EmptySlowElementDictionary) \ |
204 V(Symbol, observed_symbol, ObservedSymbol) \ | 204 V(Symbol, observed_symbol, ObservedSymbol) \ |
205 V(FixedArray, materialized_objects, MaterializedObjects) | 205 V(FixedArray, materialized_objects, MaterializedObjects) |
206 | 206 |
207 #define ROOT_LIST(V) \ | 207 #define ROOT_LIST(V) \ |
208 STRONG_ROOT_LIST(V) \ | 208 STRONG_ROOT_LIST(V) \ |
209 V(StringTable, string_table, StringTable) | 209 V(StringTable, string_table, StringTable) |
210 | 210 |
| 211 // Heap roots that are known to be immortal immovable, for which we can safely |
| 212 // skip write barriers. |
| 213 #define IMMORTAL_IMMOVABLE_ROOT_LIST(V) \ |
| 214 V(byte_array_map) \ |
| 215 V(free_space_map) \ |
| 216 V(one_pointer_filler_map) \ |
| 217 V(two_pointer_filler_map) \ |
| 218 V(undefined_value) \ |
| 219 V(the_hole_value) \ |
| 220 V(null_value) \ |
| 221 V(true_value) \ |
| 222 V(false_value) \ |
| 223 V(uninitialized_value) \ |
| 224 V(cell_map) \ |
| 225 V(global_property_cell_map) \ |
| 226 V(shared_function_info_map) \ |
| 227 V(meta_map) \ |
| 228 V(heap_number_map) \ |
| 229 V(native_context_map) \ |
| 230 V(fixed_array_map) \ |
| 231 V(code_map) \ |
| 232 V(scope_info_map) \ |
| 233 V(fixed_cow_array_map) \ |
| 234 V(fixed_double_array_map) \ |
| 235 V(constant_pool_array_map) \ |
| 236 V(no_interceptor_result_sentinel) \ |
| 237 V(hash_table_map) \ |
| 238 V(empty_fixed_array) \ |
| 239 V(empty_byte_array) \ |
| 240 V(empty_descriptor_array) \ |
| 241 V(empty_constant_pool_array) \ |
| 242 V(arguments_marker) \ |
| 243 V(symbol_map) \ |
| 244 V(non_strict_arguments_elements_map) \ |
| 245 V(function_context_map) \ |
| 246 V(catch_context_map) \ |
| 247 V(with_context_map) \ |
| 248 V(block_context_map) \ |
| 249 V(module_context_map) \ |
| 250 V(global_context_map) \ |
| 251 V(oddball_map) \ |
| 252 V(message_object_map) \ |
| 253 V(foreign_map) \ |
| 254 V(neander_map) |
| 255 |
211 #define INTERNALIZED_STRING_LIST(V) \ | 256 #define INTERNALIZED_STRING_LIST(V) \ |
212 V(Array_string, "Array") \ | 257 V(Array_string, "Array") \ |
213 V(Object_string, "Object") \ | 258 V(Object_string, "Object") \ |
214 V(proto_string, "__proto__") \ | 259 V(proto_string, "__proto__") \ |
215 V(arguments_string, "arguments") \ | 260 V(arguments_string, "arguments") \ |
216 V(Arguments_string, "Arguments") \ | 261 V(Arguments_string, "Arguments") \ |
217 V(call_string, "call") \ | 262 V(call_string, "call") \ |
218 V(apply_string, "apply") \ | 263 V(apply_string, "apply") \ |
219 V(caller_string, "caller") \ | 264 V(caller_string, "caller") \ |
220 V(boolean_string, "boolean") \ | 265 V(boolean_string, "boolean") \ |
(...skipping 2816 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3037 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. | 3082 DisallowHeapAllocation no_allocation; // i.e. no gc allowed. |
3038 | 3083 |
3039 private: | 3084 private: |
3040 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); | 3085 DISALLOW_IMPLICIT_CONSTRUCTORS(PathTracer); |
3041 }; | 3086 }; |
3042 #endif // DEBUG | 3087 #endif // DEBUG |
3043 | 3088 |
3044 } } // namespace v8::internal | 3089 } } // namespace v8::internal |
3045 | 3090 |
3046 #endif // V8_HEAP_H_ | 3091 #endif // V8_HEAP_H_ |
OLD | NEW |