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 13 matching lines...) Expand all Loading... |
24 V(InstantiatedTypeArguments) \ | 24 V(InstantiatedTypeArguments) \ |
25 V(PatchClass) \ | 25 V(PatchClass) \ |
26 V(Function) \ | 26 V(Function) \ |
27 V(ClosureData) \ | 27 V(ClosureData) \ |
28 V(Field) \ | 28 V(Field) \ |
29 V(LiteralToken) \ | 29 V(LiteralToken) \ |
30 V(TokenStream) \ | 30 V(TokenStream) \ |
31 V(Script) \ | 31 V(Script) \ |
32 V(Library) \ | 32 V(Library) \ |
33 V(LibraryPrefix) \ | 33 V(LibraryPrefix) \ |
| 34 V(Namespace) \ |
34 V(Code) \ | 35 V(Code) \ |
35 V(Instructions) \ | 36 V(Instructions) \ |
36 V(PcDescriptors) \ | 37 V(PcDescriptors) \ |
37 V(Stackmap) \ | 38 V(Stackmap) \ |
38 V(LocalVarDescriptors) \ | 39 V(LocalVarDescriptors) \ |
39 V(ExceptionHandlers) \ | 40 V(ExceptionHandlers) \ |
40 V(DeoptInfo) \ | 41 V(DeoptInfo) \ |
41 V(Context) \ | 42 V(Context) \ |
42 V(ContextScope) \ | 43 V(ContextScope) \ |
43 V(ICData) \ | 44 V(ICData) \ |
(...skipping 671 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
715 | 716 |
716 RAW_HEAP_OBJECT_IMPLEMENTATION(Library); | 717 RAW_HEAP_OBJECT_IMPLEMENTATION(Library); |
717 | 718 |
718 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->name_); } | 719 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->name_); } |
719 RawString* name_; | 720 RawString* name_; |
720 RawString* url_; | 721 RawString* url_; |
721 RawScript* script_; | 722 RawScript* script_; |
722 RawString* private_key_; | 723 RawString* private_key_; |
723 RawArray* dictionary_; // Top-level names in this library. | 724 RawArray* dictionary_; // Top-level names in this library. |
724 RawArray* anonymous_classes_; // Classes containing top-level elements. | 725 RawArray* anonymous_classes_; // Classes containing top-level elements. |
725 RawArray* imports_; // List of libraries imported without prefix. | 726 RawArray* imports_; // List of Namespaces imported without prefix. |
726 // is imported into without a prefix. | |
727 RawArray* loaded_scripts_; // Array of scripts loaded in this library. | 727 RawArray* loaded_scripts_; // Array of scripts loaded in this library. |
728 RawObject** to() { | 728 RawObject** to() { |
729 return reinterpret_cast<RawObject**>(&ptr()->loaded_scripts_); | 729 return reinterpret_cast<RawObject**>(&ptr()->loaded_scripts_); |
730 } | 730 } |
731 | 731 |
732 intptr_t index_; // Library id number. | 732 intptr_t index_; // Library id number. |
733 intptr_t num_imports_; // Number of entries in imports_. | 733 intptr_t num_imports_; // Number of entries in imports_. |
734 intptr_t num_anonymous_; // Number of entries in anonymous_classes_. | 734 intptr_t num_anonymous_; // Number of entries in anonymous_classes_. |
735 Dart_NativeEntryResolver native_entry_resolver_; // Resolves natives. | 735 Dart_NativeEntryResolver native_entry_resolver_; // Resolves natives. |
736 bool corelib_imported_; | 736 bool corelib_imported_; |
737 bool debuggable_; // True if debugger can stop in library. | 737 bool debuggable_; // True if debugger can stop in library. |
738 int8_t load_state_; // Of type LibraryState. | 738 int8_t load_state_; // Of type LibraryState. |
739 | 739 |
740 friend class Isolate; | 740 friend class Isolate; |
741 }; | 741 }; |
742 | 742 |
743 | 743 |
744 class RawLibraryPrefix : public RawObject { | 744 class RawLibraryPrefix : public RawObject { |
745 RAW_HEAP_OBJECT_IMPLEMENTATION(LibraryPrefix); | 745 RAW_HEAP_OBJECT_IMPLEMENTATION(LibraryPrefix); |
746 | 746 |
747 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->name_); } | 747 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->name_); } |
748 RawString* name_; // library prefix name. | 748 RawString* name_; // library prefix name. |
749 RawArray* libraries_; // libraries imported with this prefix. | 749 RawArray* imports_; // libraries imported with this prefix. |
750 RawObject** to() { | 750 RawObject** to() { |
751 return reinterpret_cast<RawObject**>(&ptr()->libraries_); | 751 return reinterpret_cast<RawObject**>(&ptr()->imports_); |
752 } | 752 } |
753 intptr_t num_libs_; // Number of library entries in libraries_. | 753 intptr_t num_imports_; // Number of library entries in libraries_. |
| 754 }; |
| 755 |
| 756 |
| 757 class RawNamespace : public RawObject { |
| 758 RAW_HEAP_OBJECT_IMPLEMENTATION(Namespace); |
| 759 |
| 760 RawObject** from() { |
| 761 return reinterpret_cast<RawObject**>(&ptr()->library_); |
| 762 } |
| 763 RawLibrary* library_; // library with name dictionary. |
| 764 RawArray* show_names_; // list of names that are exported. |
| 765 RawArray* hide_names_; // blacklist of names that are not exported. |
| 766 RawObject** to() { |
| 767 return reinterpret_cast<RawObject**>(&ptr()->hide_names_); |
| 768 } |
754 }; | 769 }; |
755 | 770 |
756 | 771 |
757 class RawCode : public RawObject { | 772 class RawCode : public RawObject { |
758 RAW_HEAP_OBJECT_IMPLEMENTATION(Code); | 773 RAW_HEAP_OBJECT_IMPLEMENTATION(Code); |
759 | 774 |
760 RawObject** from() { | 775 RawObject** from() { |
761 return reinterpret_cast<RawObject**>(&ptr()->instructions_); | 776 return reinterpret_cast<RawObject**>(&ptr()->instructions_); |
762 } | 777 } |
763 RawInstructions* instructions_; | 778 RawInstructions* instructions_; |
(...skipping 840 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1604 kExternalUint64ArrayCid == kByteArrayCid + 18 && | 1619 kExternalUint64ArrayCid == kByteArrayCid + 18 && |
1605 kExternalFloat32ArrayCid == kByteArrayCid + 19 && | 1620 kExternalFloat32ArrayCid == kByteArrayCid + 19 && |
1606 kExternalFloat64ArrayCid == kByteArrayCid + 20 && | 1621 kExternalFloat64ArrayCid == kByteArrayCid + 20 && |
1607 kStacktraceCid == kByteArrayCid + 21); | 1622 kStacktraceCid == kByteArrayCid + 21); |
1608 return (index >= kByteArrayCid && index <= kExternalFloat64ArrayCid); | 1623 return (index >= kByteArrayCid && index <= kExternalFloat64ArrayCid); |
1609 } | 1624 } |
1610 | 1625 |
1611 } // namespace dart | 1626 } // namespace dart |
1612 | 1627 |
1613 #endif // VM_RAW_OBJECT_H_ | 1628 #endif // VM_RAW_OBJECT_H_ |
OLD | NEW |