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 VM_RAW_OBJECT_H_ | 5 #ifndef VM_RAW_OBJECT_H_ |
6 #define VM_RAW_OBJECT_H_ | 6 #define VM_RAW_OBJECT_H_ |
7 | 7 |
8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
9 #include "vm/globals.h" | 9 #include "vm/globals.h" |
10 #include "vm/token.h" | 10 #include "vm/token.h" |
(...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
480 RawGrowableObjectArray* direct_subclasses_; // Array of Class. | 480 RawGrowableObjectArray* direct_subclasses_; // Array of Class. |
481 RawScript* script_; | 481 RawScript* script_; |
482 RawLibrary* library_; | 482 RawLibrary* library_; |
483 RawTypeArguments* type_parameters_; // Array of TypeParameter. | 483 RawTypeArguments* type_parameters_; // Array of TypeParameter. |
484 RawAbstractType* super_type_; | 484 RawAbstractType* super_type_; |
485 RawType* mixin_; | 485 RawType* mixin_; |
486 RawClass* patch_class_; | 486 RawClass* patch_class_; |
487 RawFunction* signature_function_; // Associated function for signature class. | 487 RawFunction* signature_function_; // Associated function for signature class. |
488 RawArray* constants_; // Canonicalized values of this class. | 488 RawArray* constants_; // Canonicalized values of this class. |
489 RawArray* canonical_types_; // Canonicalized types of this class. | 489 RawArray* canonical_types_; // Canonicalized types of this class. |
| 490 RawArray* no_such_method_cache_; // Dispatcher functions for noSuchMethod. |
490 RawCode* allocation_stub_; // Stub code for allocation of instances. | 491 RawCode* allocation_stub_; // Stub code for allocation of instances. |
491 RawObject** to() { | 492 RawObject** to() { |
492 return reinterpret_cast<RawObject**>(&ptr()->allocation_stub_); | 493 return reinterpret_cast<RawObject**>(&ptr()->allocation_stub_); |
493 } | 494 } |
494 | 495 |
495 cpp_vtable handle_vtable_; | 496 cpp_vtable handle_vtable_; |
496 intptr_t instance_size_in_words_; // Size if fixed len or 0 if variable len. | 497 intptr_t instance_size_in_words_; // Size if fixed len or 0 if variable len. |
497 intptr_t id_; // Class Id, also index in the class table. | 498 intptr_t id_; // Class Id, also index in the class table. |
498 intptr_t type_arguments_field_offset_in_words_; // Offset of type args fld. | 499 intptr_t type_arguments_field_offset_in_words_; // Offset of type args fld. |
499 intptr_t next_field_offset_in_words_; // Offset of the next instance field. | 500 intptr_t next_field_offset_in_words_; // Offset of the next instance field. |
(...skipping 1190 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1690 // Make sure this is updated when new TypedData types are added. | 1691 // Make sure this is updated when new TypedData types are added. |
1691 ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 12); | 1692 ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 12); |
1692 ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 13); | 1693 ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 13); |
1693 ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 12); | 1694 ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 12); |
1694 return (kNullCid - kTypedDataInt8ArrayCid); | 1695 return (kNullCid - kTypedDataInt8ArrayCid); |
1695 } | 1696 } |
1696 | 1697 |
1697 } // namespace dart | 1698 } // namespace dart |
1698 | 1699 |
1699 #endif // VM_RAW_OBJECT_H_ | 1700 #endif // VM_RAW_OBJECT_H_ |
OLD | NEW |