| 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_RAW_OBJECT_H_ | 5 #ifndef RUNTIME_VM_RAW_OBJECT_H_ |
| 6 #define RUNTIME_VM_RAW_OBJECT_H_ | 6 #define RUNTIME_VM_RAW_OBJECT_H_ |
| 7 | 7 |
| 8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
| 9 #include "vm/atomic.h" | 9 #include "vm/atomic.h" |
| 10 #include "vm/exceptions.h" | 10 #include "vm/exceptions.h" |
| (...skipping 659 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 670 RawType* canonical_type_; // Canonical type for this class. | 670 RawType* canonical_type_; // Canonical type for this class. |
| 671 RawArray* invocation_dispatcher_cache_; // Cache for dispatcher functions. | 671 RawArray* invocation_dispatcher_cache_; // Cache for dispatcher functions. |
| 672 RawCode* allocation_stub_; // Stub code for allocation of instances. | 672 RawCode* allocation_stub_; // Stub code for allocation of instances. |
| 673 RawGrowableObjectArray* direct_subclasses_; // Array of Class. | 673 RawGrowableObjectArray* direct_subclasses_; // Array of Class. |
| 674 RawArray* dependent_code_; // CHA optimized codes. | 674 RawArray* dependent_code_; // CHA optimized codes. |
| 675 RawObject** to() { | 675 RawObject** to() { |
| 676 return reinterpret_cast<RawObject**>(&ptr()->dependent_code_); | 676 return reinterpret_cast<RawObject**>(&ptr()->dependent_code_); |
| 677 } | 677 } |
| 678 RawObject** to_snapshot(Snapshot::Kind kind) { | 678 RawObject** to_snapshot(Snapshot::Kind kind) { |
| 679 switch (kind) { | 679 switch (kind) { |
| 680 case Snapshot::kCore: | 680 case Snapshot::kFull: |
| 681 case Snapshot::kScript: | 681 case Snapshot::kScript: |
| 682 case Snapshot::kAppJIT: | 682 case Snapshot::kFullJIT: |
| 683 case Snapshot::kAppAOT: | 683 case Snapshot::kFullAOT: |
| 684 return reinterpret_cast<RawObject**>(&ptr()->direct_subclasses_); | 684 return reinterpret_cast<RawObject**>(&ptr()->direct_subclasses_); |
| 685 case Snapshot::kMessage: | 685 case Snapshot::kMessage: |
| 686 case Snapshot::kNone: | 686 case Snapshot::kNone: |
| 687 case Snapshot::kInvalid: | 687 case Snapshot::kInvalid: |
| 688 break; | 688 break; |
| 689 } | 689 } |
| 690 UNREACHABLE(); | 690 UNREACHABLE(); |
| 691 return NULL; | 691 return NULL; |
| 692 } | 692 } |
| 693 | 693 |
| (...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 929 // restore the value back to the original initial value. | 929 // restore the value back to the original initial value. |
| 930 RawInstance* saved_value_; // Saved initial value - static fields. | 930 RawInstance* saved_value_; // Saved initial value - static fields. |
| 931 } initializer_; | 931 } initializer_; |
| 932 RawSmi* guarded_list_length_; | 932 RawSmi* guarded_list_length_; |
| 933 RawArray* dependent_code_; | 933 RawArray* dependent_code_; |
| 934 RawObject** to() { | 934 RawObject** to() { |
| 935 return reinterpret_cast<RawObject**>(&ptr()->dependent_code_); | 935 return reinterpret_cast<RawObject**>(&ptr()->dependent_code_); |
| 936 } | 936 } |
| 937 RawObject** to_snapshot(Snapshot::Kind kind) { | 937 RawObject** to_snapshot(Snapshot::Kind kind) { |
| 938 switch (kind) { | 938 switch (kind) { |
| 939 case Snapshot::kCore: | 939 case Snapshot::kFull: |
| 940 case Snapshot::kScript: | 940 case Snapshot::kScript: |
| 941 return reinterpret_cast<RawObject**>(&ptr()->guarded_list_length_); | 941 return reinterpret_cast<RawObject**>(&ptr()->guarded_list_length_); |
| 942 case Snapshot::kAppJIT: | 942 case Snapshot::kFullJIT: |
| 943 return reinterpret_cast<RawObject**>(&ptr()->dependent_code_); | 943 return reinterpret_cast<RawObject**>(&ptr()->dependent_code_); |
| 944 case Snapshot::kAppAOT: | 944 case Snapshot::kFullAOT: |
| 945 return reinterpret_cast<RawObject**>(&ptr()->initializer_); | 945 return reinterpret_cast<RawObject**>(&ptr()->initializer_); |
| 946 case Snapshot::kMessage: | 946 case Snapshot::kMessage: |
| 947 case Snapshot::kNone: | 947 case Snapshot::kNone: |
| 948 case Snapshot::kInvalid: | 948 case Snapshot::kInvalid: |
| 949 break; | 949 break; |
| 950 } | 950 } |
| 951 UNREACHABLE(); | 951 UNREACHABLE(); |
| 952 return NULL; | 952 return NULL; |
| 953 } | 953 } |
| 954 | 954 |
| (...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1018 RawArray* debug_positions_; | 1018 RawArray* debug_positions_; |
| 1019 RawArray* yield_positions_; | 1019 RawArray* yield_positions_; |
| 1020 RawTypedData* kernel_string_offsets_; | 1020 RawTypedData* kernel_string_offsets_; |
| 1021 RawTypedData* kernel_string_data_; | 1021 RawTypedData* kernel_string_data_; |
| 1022 RawTypedData* kernel_canonical_names_; | 1022 RawTypedData* kernel_canonical_names_; |
| 1023 RawTokenStream* tokens_; | 1023 RawTokenStream* tokens_; |
| 1024 RawString* source_; | 1024 RawString* source_; |
| 1025 RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->source_); } | 1025 RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->source_); } |
| 1026 RawObject** to_snapshot(Snapshot::Kind kind) { | 1026 RawObject** to_snapshot(Snapshot::Kind kind) { |
| 1027 switch (kind) { | 1027 switch (kind) { |
| 1028 case Snapshot::kAppAOT: | 1028 case Snapshot::kFullAOT: |
| 1029 return reinterpret_cast<RawObject**>(&ptr()->url_); | 1029 return reinterpret_cast<RawObject**>(&ptr()->url_); |
| 1030 case Snapshot::kCore: | 1030 case Snapshot::kFull: |
| 1031 case Snapshot::kAppJIT: | 1031 case Snapshot::kFullJIT: |
| 1032 case Snapshot::kScript: | 1032 case Snapshot::kScript: |
| 1033 return reinterpret_cast<RawObject**>(&ptr()->tokens_); | 1033 return reinterpret_cast<RawObject**>(&ptr()->tokens_); |
| 1034 case Snapshot::kMessage: | 1034 case Snapshot::kMessage: |
| 1035 case Snapshot::kNone: | 1035 case Snapshot::kNone: |
| 1036 case Snapshot::kInvalid: | 1036 case Snapshot::kInvalid: |
| 1037 break; | 1037 break; |
| 1038 } | 1038 } |
| 1039 UNREACHABLE(); | 1039 UNREACHABLE(); |
| 1040 return NULL; | 1040 return NULL; |
| 1041 } | 1041 } |
| (...skipping 469 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1511 RAW_HEAP_OBJECT_IMPLEMENTATION(ICData); | 1511 RAW_HEAP_OBJECT_IMPLEMENTATION(ICData); |
| 1512 | 1512 |
| 1513 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->ic_data_); } | 1513 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->ic_data_); } |
| 1514 RawArray* ic_data_; // Contains class-ids, target and count. | 1514 RawArray* ic_data_; // Contains class-ids, target and count. |
| 1515 RawString* target_name_; // Name of target function. | 1515 RawString* target_name_; // Name of target function. |
| 1516 RawArray* args_descriptor_; // Arguments descriptor. | 1516 RawArray* args_descriptor_; // Arguments descriptor. |
| 1517 RawObject* owner_; // Parent/calling function or original IC of cloned IC. | 1517 RawObject* owner_; // Parent/calling function or original IC of cloned IC. |
| 1518 RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->owner_); } | 1518 RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->owner_); } |
| 1519 RawObject** to_snapshot(Snapshot::Kind kind) { | 1519 RawObject** to_snapshot(Snapshot::Kind kind) { |
| 1520 switch (kind) { | 1520 switch (kind) { |
| 1521 case Snapshot::kAppAOT: | 1521 case Snapshot::kFullAOT: |
| 1522 return reinterpret_cast<RawObject**>(&ptr()->args_descriptor_); | 1522 return reinterpret_cast<RawObject**>(&ptr()->args_descriptor_); |
| 1523 case Snapshot::kCore: | 1523 case Snapshot::kFull: |
| 1524 case Snapshot::kScript: | 1524 case Snapshot::kScript: |
| 1525 case Snapshot::kAppJIT: | 1525 case Snapshot::kFullJIT: |
| 1526 return to(); | 1526 return to(); |
| 1527 case Snapshot::kMessage: | 1527 case Snapshot::kMessage: |
| 1528 case Snapshot::kNone: | 1528 case Snapshot::kNone: |
| 1529 case Snapshot::kInvalid: | 1529 case Snapshot::kInvalid: |
| 1530 break; | 1530 break; |
| 1531 } | 1531 } |
| 1532 UNREACHABLE(); | 1532 UNREACHABLE(); |
| 1533 return NULL; | 1533 return NULL; |
| 1534 } | 1534 } |
| 1535 NOT_IN_PRECOMPILED(int32_t deopt_id_); | 1535 NOT_IN_PRECOMPILED(int32_t deopt_id_); |
| (...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1632 RawString* name_; // Library prefix name. | 1632 RawString* name_; // Library prefix name. |
| 1633 RawLibrary* importer_; // Library which declares this prefix. | 1633 RawLibrary* importer_; // Library which declares this prefix. |
| 1634 RawArray* imports_; // Libraries imported with this prefix. | 1634 RawArray* imports_; // Libraries imported with this prefix. |
| 1635 RawArray* dependent_code_; // Code that refers to deferred, unloaded | 1635 RawArray* dependent_code_; // Code that refers to deferred, unloaded |
| 1636 // library prefix. | 1636 // library prefix. |
| 1637 RawObject** to() { | 1637 RawObject** to() { |
| 1638 return reinterpret_cast<RawObject**>(&ptr()->dependent_code_); | 1638 return reinterpret_cast<RawObject**>(&ptr()->dependent_code_); |
| 1639 } | 1639 } |
| 1640 RawObject** to_snapshot(Snapshot::Kind kind) { | 1640 RawObject** to_snapshot(Snapshot::Kind kind) { |
| 1641 switch (kind) { | 1641 switch (kind) { |
| 1642 case Snapshot::kCore: | 1642 case Snapshot::kFull: |
| 1643 case Snapshot::kScript: | 1643 case Snapshot::kScript: |
| 1644 case Snapshot::kAppJIT: | 1644 case Snapshot::kFullJIT: |
| 1645 return reinterpret_cast<RawObject**>(&ptr()->imports_); | 1645 return reinterpret_cast<RawObject**>(&ptr()->imports_); |
| 1646 case Snapshot::kAppAOT: | 1646 case Snapshot::kFullAOT: |
| 1647 return reinterpret_cast<RawObject**>(&ptr()->importer_); | 1647 return reinterpret_cast<RawObject**>(&ptr()->importer_); |
| 1648 case Snapshot::kMessage: | 1648 case Snapshot::kMessage: |
| 1649 case Snapshot::kNone: | 1649 case Snapshot::kNone: |
| 1650 case Snapshot::kInvalid: | 1650 case Snapshot::kInvalid: |
| 1651 break; | 1651 break; |
| 1652 } | 1652 } |
| 1653 UNREACHABLE(); | 1653 UNREACHABLE(); |
| 1654 return NULL; | 1654 return NULL; |
| 1655 } | 1655 } |
| 1656 uint16_t num_imports_; // Number of library entries in libraries_. | 1656 uint16_t num_imports_; // Number of library entries in libraries_. |
| (...skipping 794 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2451 kTypedDataInt8ArrayViewCid + 15); | 2451 kTypedDataInt8ArrayViewCid + 15); |
| 2452 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); | 2452 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); |
| 2453 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); | 2453 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); |
| 2454 return (kNullCid - kTypedDataInt8ArrayCid); | 2454 return (kNullCid - kTypedDataInt8ArrayCid); |
| 2455 } | 2455 } |
| 2456 | 2456 |
| 2457 | 2457 |
| 2458 } // namespace dart | 2458 } // namespace dart |
| 2459 | 2459 |
| 2460 #endif // RUNTIME_VM_RAW_OBJECT_H_ | 2460 #endif // RUNTIME_VM_RAW_OBJECT_H_ |
| OLD | NEW |