OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef RUNTIME_VM_OBJECT_STORE_H_ | 5 #ifndef RUNTIME_VM_OBJECT_STORE_H_ |
6 #define RUNTIME_VM_OBJECT_STORE_H_ | 6 #define RUNTIME_VM_OBJECT_STORE_H_ |
7 | 7 |
8 #include "vm/object.h" | 8 #include "vm/object.h" |
9 | 9 |
10 namespace dart { | 10 namespace dart { |
(...skipping 29 matching lines...) Expand all Loading... |
40 RawClass* object_class() const { | 40 RawClass* object_class() const { |
41 ASSERT(object_class_ != Object::null()); | 41 ASSERT(object_class_ != Object::null()); |
42 return object_class_; | 42 return object_class_; |
43 } | 43 } |
44 void set_object_class(const Class& value) { object_class_ = value.raw(); } | 44 void set_object_class(const Class& value) { object_class_ = value.raw(); } |
45 static intptr_t object_class_offset() { | 45 static intptr_t object_class_offset() { |
46 return OFFSET_OF(ObjectStore, object_class_); | 46 return OFFSET_OF(ObjectStore, object_class_); |
47 } | 47 } |
48 | 48 |
49 RawType* object_type() const { return object_type_; } | 49 RawType* object_type() const { return object_type_; } |
50 void set_object_type(const Type& value) { | 50 void set_object_type(const Type& value) { object_type_ = value.raw(); } |
51 object_type_ = value.raw(); | |
52 } | |
53 | 51 |
54 RawClass* null_class() const { | 52 RawClass* null_class() const { |
55 ASSERT(null_class_ != Object::null()); | 53 ASSERT(null_class_ != Object::null()); |
56 return null_class_; | 54 return null_class_; |
57 } | 55 } |
58 void set_null_class(const Class& value) { null_class_ = value.raw(); } | 56 void set_null_class(const Class& value) { null_class_ = value.raw(); } |
59 | 57 |
60 RawType* null_type() const { return null_type_; } | 58 RawType* null_type() const { return null_type_; } |
61 void set_null_type(const Type& value) { | 59 void set_null_type(const Type& value) { null_type_ = value.raw(); } |
62 null_type_ = value.raw(); | |
63 } | |
64 | 60 |
65 RawType* function_type() const { return function_type_; } | 61 RawType* function_type() const { return function_type_; } |
66 void set_function_type(const Type& value) { | 62 void set_function_type(const Type& value) { function_type_ = value.raw(); } |
67 function_type_ = value.raw(); | |
68 } | |
69 | 63 |
70 RawClass* closure_class() const { return closure_class_; } | 64 RawClass* closure_class() const { return closure_class_; } |
71 void set_closure_class(const Class& value) { | 65 void set_closure_class(const Class& value) { closure_class_ = value.raw(); } |
72 closure_class_ = value.raw(); | |
73 } | |
74 | 66 |
75 RawType* number_type() const { return number_type_; } | 67 RawType* number_type() const { return number_type_; } |
76 void set_number_type(const Type& value) { | 68 void set_number_type(const Type& value) { number_type_ = value.raw(); } |
77 number_type_ = value.raw(); | |
78 } | |
79 | 69 |
80 RawType* int_type() const { return int_type_; } | 70 RawType* int_type() const { return int_type_; } |
81 void set_int_type(const Type& value) { | 71 void set_int_type(const Type& value) { int_type_ = value.raw(); } |
82 int_type_ = value.raw(); | |
83 } | |
84 static intptr_t int_type_offset() { | 72 static intptr_t int_type_offset() { |
85 return OFFSET_OF(ObjectStore, int_type_); | 73 return OFFSET_OF(ObjectStore, int_type_); |
86 } | 74 } |
87 | 75 |
88 RawClass* integer_implementation_class() const { | 76 RawClass* integer_implementation_class() const { |
89 return integer_implementation_class_; | 77 return integer_implementation_class_; |
90 } | 78 } |
91 void set_integer_implementation_class(const Class& value) { | 79 void set_integer_implementation_class(const Class& value) { |
92 integer_implementation_class_ = value.raw(); | 80 integer_implementation_class_ = value.raw(); |
93 } | 81 } |
(...skipping 16 matching lines...) Expand all Loading... |
110 RawClass* mint_class() const { return mint_class_; } | 98 RawClass* mint_class() const { return mint_class_; } |
111 void set_mint_class(const Class& value) { mint_class_ = value.raw(); } | 99 void set_mint_class(const Class& value) { mint_class_ = value.raw(); } |
112 | 100 |
113 RawType* mint_type() const { return mint_type_; } | 101 RawType* mint_type() const { return mint_type_; } |
114 void set_mint_type(const Type& value) { mint_type_ = value.raw(); } | 102 void set_mint_type(const Type& value) { mint_type_ = value.raw(); } |
115 | 103 |
116 RawClass* bigint_class() const { return bigint_class_; } | 104 RawClass* bigint_class() const { return bigint_class_; } |
117 void set_bigint_class(const Class& value) { bigint_class_ = value.raw(); } | 105 void set_bigint_class(const Class& value) { bigint_class_ = value.raw(); } |
118 | 106 |
119 RawType* string_type() const { return string_type_; } | 107 RawType* string_type() const { return string_type_; } |
120 void set_string_type(const Type& value) { | 108 void set_string_type(const Type& value) { string_type_ = value.raw(); } |
121 string_type_ = value.raw(); | |
122 } | |
123 static intptr_t string_type_offset() { | 109 static intptr_t string_type_offset() { |
124 return OFFSET_OF(ObjectStore, string_type_); | 110 return OFFSET_OF(ObjectStore, string_type_); |
125 } | 111 } |
126 | 112 |
127 RawClass* compiletime_error_class() const { | 113 RawClass* compiletime_error_class() const { return compiletime_error_class_; } |
128 return compiletime_error_class_; | |
129 } | |
130 void set_compiletime_error_class(const Class& value) { | 114 void set_compiletime_error_class(const Class& value) { |
131 compiletime_error_class_ = value.raw(); | 115 compiletime_error_class_ = value.raw(); |
132 } | 116 } |
133 | 117 |
134 RawClass* future_class() const { return future_class_; } | 118 RawClass* future_class() const { return future_class_; } |
135 void set_future_class(const Class& value) { | 119 void set_future_class(const Class& value) { future_class_ = value.raw(); } |
136 future_class_ = value.raw(); | |
137 } | |
138 | 120 |
139 RawClass* completer_class() const { return completer_class_; } | 121 RawClass* completer_class() const { return completer_class_; } |
140 void set_completer_class(const Class& value) { | 122 void set_completer_class(const Class& value) { |
141 completer_class_ = value.raw(); | 123 completer_class_ = value.raw(); |
142 } | 124 } |
143 | 125 |
144 RawClass* stream_iterator_class() const { return stream_iterator_class_; } | 126 RawClass* stream_iterator_class() const { return stream_iterator_class_; } |
145 void set_stream_iterator_class(const Class& value) { | 127 void set_stream_iterator_class(const Class& value) { |
146 stream_iterator_class_ = value.raw(); | 128 stream_iterator_class_ = value.raw(); |
147 } | 129 } |
148 | 130 |
149 RawClass* symbol_class() { return symbol_class_; } | 131 RawClass* symbol_class() { return symbol_class_; } |
150 void set_symbol_class(const Class& value) { | 132 void set_symbol_class(const Class& value) { symbol_class_ = value.raw(); } |
151 symbol_class_ = value.raw(); | |
152 } | |
153 | 133 |
154 RawClass* one_byte_string_class() const { return one_byte_string_class_; } | 134 RawClass* one_byte_string_class() const { return one_byte_string_class_; } |
155 void set_one_byte_string_class(const Class& value) { | 135 void set_one_byte_string_class(const Class& value) { |
156 one_byte_string_class_ = value.raw(); | 136 one_byte_string_class_ = value.raw(); |
157 } | 137 } |
158 | 138 |
159 RawClass* two_byte_string_class() const { return two_byte_string_class_; } | 139 RawClass* two_byte_string_class() const { return two_byte_string_class_; } |
160 void set_two_byte_string_class(const Class& value) { | 140 void set_two_byte_string_class(const Class& value) { |
161 two_byte_string_class_ = value.raw(); | 141 two_byte_string_class_ = value.raw(); |
162 } | 142 } |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
198 RawClass* growable_object_array_class() const { | 178 RawClass* growable_object_array_class() const { |
199 return growable_object_array_class_; | 179 return growable_object_array_class_; |
200 } | 180 } |
201 void set_growable_object_array_class(const Class& value) { | 181 void set_growable_object_array_class(const Class& value) { |
202 growable_object_array_class_ = value.raw(); | 182 growable_object_array_class_ = value.raw(); |
203 } | 183 } |
204 static intptr_t growable_object_array_class_offset() { | 184 static intptr_t growable_object_array_class_offset() { |
205 return OFFSET_OF(ObjectStore, growable_object_array_class_); | 185 return OFFSET_OF(ObjectStore, growable_object_array_class_); |
206 } | 186 } |
207 | 187 |
208 RawClass* linked_hash_map_class() const { | 188 RawClass* linked_hash_map_class() const { return linked_hash_map_class_; } |
209 return linked_hash_map_class_; | |
210 } | |
211 void set_linked_hash_map_class(const Class& value) { | 189 void set_linked_hash_map_class(const Class& value) { |
212 linked_hash_map_class_ = value.raw(); | 190 linked_hash_map_class_ = value.raw(); |
213 } | 191 } |
214 | 192 |
215 RawClass* float32x4_class() const { | 193 RawClass* float32x4_class() const { return float32x4_class_; } |
216 return float32x4_class_; | |
217 } | |
218 void set_float32x4_class(const Class& value) { | 194 void set_float32x4_class(const Class& value) { |
219 float32x4_class_ = value.raw(); | 195 float32x4_class_ = value.raw(); |
220 } | 196 } |
221 | 197 |
222 RawType* float32x4_type() const { return float32x4_type_; } | 198 RawType* float32x4_type() const { return float32x4_type_; } |
223 void set_float32x4_type(const Type& value) { float32x4_type_ = value.raw(); } | 199 void set_float32x4_type(const Type& value) { float32x4_type_ = value.raw(); } |
224 | 200 |
225 RawClass* int32x4_class() const { | 201 RawClass* int32x4_class() const { return int32x4_class_; } |
226 return int32x4_class_; | 202 void set_int32x4_class(const Class& value) { int32x4_class_ = value.raw(); } |
227 } | |
228 void set_int32x4_class(const Class& value) { | |
229 int32x4_class_ = value.raw(); | |
230 } | |
231 | 203 |
232 RawType* int32x4_type() const { return int32x4_type_; } | 204 RawType* int32x4_type() const { return int32x4_type_; } |
233 void set_int32x4_type(const Type& value) { int32x4_type_ = value.raw(); } | 205 void set_int32x4_type(const Type& value) { int32x4_type_ = value.raw(); } |
234 | 206 |
235 RawClass* float64x2_class() const { | 207 RawClass* float64x2_class() const { return float64x2_class_; } |
236 return float64x2_class_; | |
237 } | |
238 void set_float64x2_class(const Class& value) { | 208 void set_float64x2_class(const Class& value) { |
239 float64x2_class_ = value.raw(); | 209 float64x2_class_ = value.raw(); |
240 } | 210 } |
241 | 211 |
242 RawType* float64x2_type() const { return float64x2_type_; } | 212 RawType* float64x2_type() const { return float64x2_type_; } |
243 void set_float64x2_type(const Type& value) { float64x2_type_ = value.raw(); } | 213 void set_float64x2_type(const Type& value) { float64x2_type_ = value.raw(); } |
244 | 214 |
245 RawClass* error_class() const { | 215 RawClass* error_class() const { return error_class_; } |
246 return error_class_; | 216 void set_error_class(const Class& value) { error_class_ = value.raw(); } |
247 } | |
248 void set_error_class(const Class& value) { | |
249 error_class_ = value.raw(); | |
250 } | |
251 static intptr_t error_class_offset() { | 217 static intptr_t error_class_offset() { |
252 return OFFSET_OF(ObjectStore, error_class_); | 218 return OFFSET_OF(ObjectStore, error_class_); |
253 } | 219 } |
254 | 220 |
255 RawClass* weak_property_class() const { | 221 RawClass* weak_property_class() const { return weak_property_class_; } |
256 return weak_property_class_; | |
257 } | |
258 void set_weak_property_class(const Class& value) { | 222 void set_weak_property_class(const Class& value) { |
259 weak_property_class_ = value.raw(); | 223 weak_property_class_ = value.raw(); |
260 } | 224 } |
261 | 225 |
262 RawArray* symbol_table() const { return symbol_table_; } | 226 RawArray* symbol_table() const { return symbol_table_; } |
263 void set_symbol_table(const Array& value) { symbol_table_ = value.raw(); } | 227 void set_symbol_table(const Array& value) { symbol_table_ = value.raw(); } |
264 | 228 |
265 RawArray* canonical_types() const { | 229 RawArray* canonical_types() const { return canonical_types_; } |
266 return canonical_types_; | |
267 } | |
268 void set_canonical_types(const Array& value) { | 230 void set_canonical_types(const Array& value) { |
269 canonical_types_ = value.raw(); | 231 canonical_types_ = value.raw(); |
270 } | 232 } |
271 | 233 |
272 RawArray* canonical_type_arguments() const { | 234 RawArray* canonical_type_arguments() const { |
273 return canonical_type_arguments_; | 235 return canonical_type_arguments_; |
274 } | 236 } |
275 void set_canonical_type_arguments(const Array& value) { | 237 void set_canonical_type_arguments(const Array& value) { |
276 canonical_type_arguments_ = value.raw(); | 238 canonical_type_arguments_ = value.raw(); |
277 } | 239 } |
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
338 } | 300 } |
339 | 301 |
340 RawLibrary* native_wrappers_library() const { | 302 RawLibrary* native_wrappers_library() const { |
341 return native_wrappers_library_; | 303 return native_wrappers_library_; |
342 } | 304 } |
343 void set_native_wrappers_library(const Library& value) { | 305 void set_native_wrappers_library(const Library& value) { |
344 native_wrappers_library_ = value.raw(); | 306 native_wrappers_library_ = value.raw(); |
345 } | 307 } |
346 | 308 |
347 RawLibrary* root_library() const { return root_library_; } | 309 RawLibrary* root_library() const { return root_library_; } |
348 void set_root_library(const Library& value) { | 310 void set_root_library(const Library& value) { root_library_ = value.raw(); } |
349 root_library_ = value.raw(); | |
350 } | |
351 | 311 |
352 RawGrowableObjectArray* libraries() const { return libraries_; } | 312 RawGrowableObjectArray* libraries() const { return libraries_; } |
353 void set_libraries(const GrowableObjectArray& value) { | 313 void set_libraries(const GrowableObjectArray& value) { |
354 libraries_ = value.raw(); | 314 libraries_ = value.raw(); |
355 } | 315 } |
356 | 316 |
357 RawArray* libraries_map() const { return libraries_map_; } | 317 RawArray* libraries_map() const { return libraries_map_; } |
358 void set_libraries_map(const Array& value) { | 318 void set_libraries_map(const Array& value) { libraries_map_ = value.raw(); } |
359 libraries_map_ = value.raw(); | |
360 } | |
361 | 319 |
362 RawGrowableObjectArray* closure_functions() const { | 320 RawGrowableObjectArray* closure_functions() const { |
363 return closure_functions_; | 321 return closure_functions_; |
364 } | 322 } |
365 void set_closure_functions(const GrowableObjectArray& value) { | 323 void set_closure_functions(const GrowableObjectArray& value) { |
366 ASSERT(!value.IsNull()); | 324 ASSERT(!value.IsNull()); |
367 closure_functions_ = value.raw(); | 325 closure_functions_ = value.raw(); |
368 } | 326 } |
369 | 327 |
370 RawGrowableObjectArray* pending_classes() const { return pending_classes_; } | 328 RawGrowableObjectArray* pending_classes() const { return pending_classes_; } |
371 void set_pending_classes(const GrowableObjectArray& value) { | 329 void set_pending_classes(const GrowableObjectArray& value) { |
372 ASSERT(!value.IsNull()); | 330 ASSERT(!value.IsNull()); |
373 pending_classes_ = value.raw(); | 331 pending_classes_ = value.raw(); |
374 } | 332 } |
375 | 333 |
376 RawGrowableObjectArray* pending_deferred_loads() const { | 334 RawGrowableObjectArray* pending_deferred_loads() const { |
377 return pending_deferred_loads_; | 335 return pending_deferred_loads_; |
378 } | 336 } |
379 void clear_pending_deferred_loads() { | 337 void clear_pending_deferred_loads() { |
380 pending_deferred_loads_ = GrowableObjectArray::New(); | 338 pending_deferred_loads_ = GrowableObjectArray::New(); |
381 } | 339 } |
382 | 340 |
383 RawGrowableObjectArray* resume_capabilities() const { | 341 RawGrowableObjectArray* resume_capabilities() const { |
384 return resume_capabilities_; | 342 return resume_capabilities_; |
385 } | 343 } |
386 | 344 |
387 RawGrowableObjectArray* exit_listeners() const { | 345 RawGrowableObjectArray* exit_listeners() const { return exit_listeners_; } |
388 return exit_listeners_; | |
389 } | |
390 | 346 |
391 RawGrowableObjectArray* error_listeners() const { | 347 RawGrowableObjectArray* error_listeners() const { return error_listeners_; } |
392 return error_listeners_; | |
393 } | |
394 | 348 |
395 RawContext* empty_context() const { return empty_context_; } | 349 RawContext* empty_context() const { return empty_context_; } |
396 void set_empty_context(const Context& value) { | 350 void set_empty_context(const Context& value) { empty_context_ = value.raw(); } |
397 empty_context_ = value.raw(); | |
398 } | |
399 | 351 |
400 RawInstance* stack_overflow() const { return stack_overflow_; } | 352 RawInstance* stack_overflow() const { return stack_overflow_; } |
401 void set_stack_overflow(const Instance& value) { | 353 void set_stack_overflow(const Instance& value) { |
402 stack_overflow_ = value.raw(); | 354 stack_overflow_ = value.raw(); |
403 } | 355 } |
404 | 356 |
405 RawInstance* out_of_memory() const { return out_of_memory_; } | 357 RawInstance* out_of_memory() const { return out_of_memory_; } |
406 void set_out_of_memory(const Instance& value) { | 358 void set_out_of_memory(const Instance& value) { |
407 out_of_memory_ = value.raw(); | 359 out_of_memory_ = value.raw(); |
408 } | 360 } |
409 | 361 |
410 RawUnhandledException* preallocated_unhandled_exception() const { | 362 RawUnhandledException* preallocated_unhandled_exception() const { |
411 return preallocated_unhandled_exception_; | 363 return preallocated_unhandled_exception_; |
412 } | 364 } |
413 void set_preallocated_unhandled_exception(const UnhandledException& value) { | 365 void set_preallocated_unhandled_exception(const UnhandledException& value) { |
414 preallocated_unhandled_exception_ = value.raw(); | 366 preallocated_unhandled_exception_ = value.raw(); |
415 } | 367 } |
416 | 368 |
417 RawStacktrace* preallocated_stack_trace() const { | 369 RawStacktrace* preallocated_stack_trace() const { |
418 return preallocated_stack_trace_; | 370 return preallocated_stack_trace_; |
419 } | 371 } |
420 void set_preallocated_stack_trace(const Stacktrace& value) { | 372 void set_preallocated_stack_trace(const Stacktrace& value) { |
421 preallocated_stack_trace_ = value.raw(); | 373 preallocated_stack_trace_ = value.raw(); |
422 } | 374 } |
423 | 375 |
424 RawFunction* lookup_port_handler() const { | 376 RawFunction* lookup_port_handler() const { return lookup_port_handler_; } |
425 return lookup_port_handler_; | |
426 } | |
427 void set_lookup_port_handler(const Function& function) { | 377 void set_lookup_port_handler(const Function& function) { |
428 lookup_port_handler_ = function.raw(); | 378 lookup_port_handler_ = function.raw(); |
429 } | 379 } |
430 | 380 |
431 RawTypedData* empty_uint32_array() const { | 381 RawTypedData* empty_uint32_array() const { return empty_uint32_array_; } |
432 return empty_uint32_array_; | |
433 } | |
434 void set_empty_uint32_array(const TypedData& array) { | 382 void set_empty_uint32_array(const TypedData& array) { |
435 // Only set once. | 383 // Only set once. |
436 ASSERT(empty_uint32_array_ == TypedData::null()); | 384 ASSERT(empty_uint32_array_ == TypedData::null()); |
437 ASSERT(!array.IsNull()); | 385 ASSERT(!array.IsNull()); |
438 empty_uint32_array_ = array.raw(); | 386 empty_uint32_array_ = array.raw(); |
439 } | 387 } |
440 | 388 |
441 RawFunction* handle_message_function() const { | 389 RawFunction* handle_message_function() const { |
442 return handle_message_function_; | 390 return handle_message_function_; |
443 } | 391 } |
444 void set_handle_message_function(const Function& function) { | 392 void set_handle_message_function(const Function& function) { |
445 handle_message_function_ = function.raw(); | 393 handle_message_function_ = function.raw(); |
446 } | 394 } |
447 | 395 |
448 RawArray* library_load_error_table() const { | 396 RawArray* library_load_error_table() const { |
449 return library_load_error_table_; | 397 return library_load_error_table_; |
450 } | 398 } |
451 void set_library_load_error_table(const Array& table) { | 399 void set_library_load_error_table(const Array& table) { |
452 library_load_error_table_ = table.raw(); | 400 library_load_error_table_ = table.raw(); |
453 } | 401 } |
454 static intptr_t library_load_error_table_offset() { | 402 static intptr_t library_load_error_table_offset() { |
455 return OFFSET_OF(ObjectStore, library_load_error_table_); | 403 return OFFSET_OF(ObjectStore, library_load_error_table_); |
456 } | 404 } |
457 | 405 |
458 RawArray* unique_dynamic_targets() const { | 406 RawArray* unique_dynamic_targets() const { return unique_dynamic_targets_; } |
459 return unique_dynamic_targets_; | |
460 } | |
461 void set_unique_dynamic_targets(const Array& value) { | 407 void set_unique_dynamic_targets(const Array& value) { |
462 unique_dynamic_targets_ = value.raw(); | 408 unique_dynamic_targets_ = value.raw(); |
463 } | 409 } |
464 | 410 |
465 RawGrowableObjectArray* token_objects() const { | 411 RawGrowableObjectArray* token_objects() const { return token_objects_; } |
466 return token_objects_; | |
467 } | |
468 void set_token_objects(const GrowableObjectArray& value) { | 412 void set_token_objects(const GrowableObjectArray& value) { |
469 token_objects_ = value.raw(); | 413 token_objects_ = value.raw(); |
470 } | 414 } |
471 | 415 |
472 RawArray* token_objects_map() const { | 416 RawArray* token_objects_map() const { return token_objects_map_; } |
473 return token_objects_map_; | |
474 } | |
475 void set_token_objects_map(const Array& value) { | 417 void set_token_objects_map(const Array& value) { |
476 token_objects_map_ = value.raw(); | 418 token_objects_map_ = value.raw(); |
477 } | 419 } |
478 | 420 |
479 RawGrowableObjectArray* megamorphic_cache_table() const { | 421 RawGrowableObjectArray* megamorphic_cache_table() const { |
480 return megamorphic_cache_table_; | 422 return megamorphic_cache_table_; |
481 } | 423 } |
482 void set_megamorphic_cache_table(const GrowableObjectArray& value) { | 424 void set_megamorphic_cache_table(const GrowableObjectArray& value) { |
483 megamorphic_cache_table_ = value.raw(); | 425 megamorphic_cache_table_ = value.raw(); |
484 } | 426 } |
485 RawCode* megamorphic_miss_code() const { | 427 RawCode* megamorphic_miss_code() const { return megamorphic_miss_code_; } |
486 return megamorphic_miss_code_; | |
487 } | |
488 RawFunction* megamorphic_miss_function() const { | 428 RawFunction* megamorphic_miss_function() const { |
489 return megamorphic_miss_function_; | 429 return megamorphic_miss_function_; |
490 } | 430 } |
491 void SetMegamorphicMissHandler(const Code& code, const Function& func) { | 431 void SetMegamorphicMissHandler(const Code& code, const Function& func) { |
492 // Hold onto the code so it is traced and not detached from the function. | 432 // Hold onto the code so it is traced and not detached from the function. |
493 megamorphic_miss_code_ = code.raw(); | 433 megamorphic_miss_code_ = code.raw(); |
494 megamorphic_miss_function_ = func.raw(); | 434 megamorphic_miss_function_ = func.raw(); |
495 } | 435 } |
496 | 436 |
497 RawFunction* simple_instance_of_function() const { | 437 RawFunction* simple_instance_of_function() const { |
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
608 V(RawArray*, library_load_error_table_) \ | 548 V(RawArray*, library_load_error_table_) \ |
609 V(RawArray*, unique_dynamic_targets_) \ | 549 V(RawArray*, unique_dynamic_targets_) \ |
610 V(RawGrowableObjectArray*, token_objects_) \ | 550 V(RawGrowableObjectArray*, token_objects_) \ |
611 V(RawArray*, token_objects_map_) \ | 551 V(RawArray*, token_objects_map_) \ |
612 V(RawGrowableObjectArray*, megamorphic_cache_table_) \ | 552 V(RawGrowableObjectArray*, megamorphic_cache_table_) \ |
613 V(RawCode*, megamorphic_miss_code_) \ | 553 V(RawCode*, megamorphic_miss_code_) \ |
614 V(RawFunction*, megamorphic_miss_function_) \ | 554 V(RawFunction*, megamorphic_miss_function_) \ |
615 // Please remember the last entry must be referred in the 'to' function below. | 555 // Please remember the last entry must be referred in the 'to' function below. |
616 | 556 |
617 RawObject** from() { return reinterpret_cast<RawObject**>(&object_class_); } | 557 RawObject** from() { return reinterpret_cast<RawObject**>(&object_class_); } |
618 #define DECLARE_OBJECT_STORE_FIELD(type, name) \ | 558 #define DECLARE_OBJECT_STORE_FIELD(type, name) type name; |
619 type name; | 559 OBJECT_STORE_FIELD_LIST(DECLARE_OBJECT_STORE_FIELD) |
620 OBJECT_STORE_FIELD_LIST(DECLARE_OBJECT_STORE_FIELD) | |
621 #undef DECLARE_OBJECT_STORE_FIELD | 560 #undef DECLARE_OBJECT_STORE_FIELD |
622 RawObject** to() { | 561 RawObject** to() { |
623 return reinterpret_cast<RawObject**>(&megamorphic_miss_function_); | 562 return reinterpret_cast<RawObject**>(&megamorphic_miss_function_); |
624 } | 563 } |
625 RawObject** to_snapshot(Snapshot::Kind kind) { | 564 RawObject** to_snapshot(Snapshot::Kind kind) { |
626 switch (kind) { | 565 switch (kind) { |
627 case Snapshot::kCore: | 566 case Snapshot::kCore: |
628 return reinterpret_cast<RawObject**>(&library_load_error_table_); | 567 return reinterpret_cast<RawObject**>(&library_load_error_table_); |
629 case Snapshot::kAppWithJIT: | 568 case Snapshot::kAppWithJIT: |
630 case Snapshot::kAppNoJIT: | 569 case Snapshot::kAppNoJIT: |
(...skipping 10 matching lines...) Expand all Loading... |
641 | 580 |
642 friend class Serializer; | 581 friend class Serializer; |
643 friend class Deserializer; | 582 friend class Deserializer; |
644 | 583 |
645 DISALLOW_COPY_AND_ASSIGN(ObjectStore); | 584 DISALLOW_COPY_AND_ASSIGN(ObjectStore); |
646 }; | 585 }; |
647 | 586 |
648 } // namespace dart | 587 } // namespace dart |
649 | 588 |
650 #endif // RUNTIME_VM_OBJECT_STORE_H_ | 589 #endif // RUNTIME_VM_OBJECT_STORE_H_ |
OLD | NEW |