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/globals.h" | 10 #include "vm/globals.h" |
(...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
666 RawCode* allocation_stub_; // Stub code for allocation of instances. | 666 RawCode* allocation_stub_; // Stub code for allocation of instances. |
667 RawGrowableObjectArray* direct_subclasses_; // Array of Class. | 667 RawGrowableObjectArray* direct_subclasses_; // Array of Class. |
668 RawArray* dependent_code_; // CHA optimized codes. | 668 RawArray* dependent_code_; // CHA optimized codes. |
669 RawObject** to() { | 669 RawObject** to() { |
670 return reinterpret_cast<RawObject**>(&ptr()->dependent_code_); | 670 return reinterpret_cast<RawObject**>(&ptr()->dependent_code_); |
671 } | 671 } |
672 RawObject** to_snapshot(Snapshot::Kind kind) { | 672 RawObject** to_snapshot(Snapshot::Kind kind) { |
673 switch (kind) { | 673 switch (kind) { |
674 case Snapshot::kCore: | 674 case Snapshot::kCore: |
675 case Snapshot::kScript: | 675 case Snapshot::kScript: |
676 case Snapshot::kAppWithJIT: | 676 case Snapshot::kAppJIT: |
677 case Snapshot::kAppNoJIT: | 677 case Snapshot::kAppAOT: |
678 return reinterpret_cast<RawObject**>(&ptr()->direct_subclasses_); | 678 return reinterpret_cast<RawObject**>(&ptr()->direct_subclasses_); |
679 case Snapshot::kMessage: | 679 case Snapshot::kMessage: |
680 case Snapshot::kNone: | 680 case Snapshot::kNone: |
681 case Snapshot::kInvalid: | 681 case Snapshot::kInvalid: |
682 break; | 682 break; |
683 } | 683 } |
684 UNREACHABLE(); | 684 UNREACHABLE(); |
685 return NULL; | 685 return NULL; |
686 } | 686 } |
687 | 687 |
(...skipping 215 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
903 RawSmi* guarded_list_length_; | 903 RawSmi* guarded_list_length_; |
904 RawArray* dependent_code_; | 904 RawArray* dependent_code_; |
905 RawObject** to() { | 905 RawObject** to() { |
906 return reinterpret_cast<RawObject**>(&ptr()->dependent_code_); | 906 return reinterpret_cast<RawObject**>(&ptr()->dependent_code_); |
907 } | 907 } |
908 RawObject** to_snapshot(Snapshot::Kind kind) { | 908 RawObject** to_snapshot(Snapshot::Kind kind) { |
909 switch (kind) { | 909 switch (kind) { |
910 case Snapshot::kCore: | 910 case Snapshot::kCore: |
911 case Snapshot::kScript: | 911 case Snapshot::kScript: |
912 return reinterpret_cast<RawObject**>(&ptr()->guarded_list_length_); | 912 return reinterpret_cast<RawObject**>(&ptr()->guarded_list_length_); |
913 case Snapshot::kAppWithJIT: | 913 case Snapshot::kAppJIT: |
914 return reinterpret_cast<RawObject**>(&ptr()->dependent_code_); | 914 return reinterpret_cast<RawObject**>(&ptr()->dependent_code_); |
915 case Snapshot::kAppNoJIT: | 915 case Snapshot::kAppAOT: |
916 return reinterpret_cast<RawObject**>(&ptr()->initializer_); | 916 return reinterpret_cast<RawObject**>(&ptr()->initializer_); |
917 case Snapshot::kMessage: | 917 case Snapshot::kMessage: |
918 case Snapshot::kNone: | 918 case Snapshot::kNone: |
919 case Snapshot::kInvalid: | 919 case Snapshot::kInvalid: |
920 break; | 920 break; |
921 } | 921 } |
922 UNREACHABLE(); | 922 UNREACHABLE(); |
923 return NULL; | 923 return NULL; |
924 } | 924 } |
925 | 925 |
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
984 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->url_); } | 984 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->url_); } |
985 RawString* url_; | 985 RawString* url_; |
986 RawString* resolved_url_; | 986 RawString* resolved_url_; |
987 RawArray* compile_time_constants_; | 987 RawArray* compile_time_constants_; |
988 RawArray* line_starts_; | 988 RawArray* line_starts_; |
989 RawTokenStream* tokens_; | 989 RawTokenStream* tokens_; |
990 RawString* source_; | 990 RawString* source_; |
991 RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->source_); } | 991 RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->source_); } |
992 RawObject** to_snapshot(Snapshot::Kind kind) { | 992 RawObject** to_snapshot(Snapshot::Kind kind) { |
993 switch (kind) { | 993 switch (kind) { |
994 case Snapshot::kAppNoJIT: | 994 case Snapshot::kAppAOT: |
995 return reinterpret_cast<RawObject**>(&ptr()->url_); | 995 return reinterpret_cast<RawObject**>(&ptr()->url_); |
996 case Snapshot::kCore: | 996 case Snapshot::kCore: |
997 case Snapshot::kAppWithJIT: | 997 case Snapshot::kAppJIT: |
998 case Snapshot::kScript: | 998 case Snapshot::kScript: |
999 return reinterpret_cast<RawObject**>(&ptr()->tokens_); | 999 return reinterpret_cast<RawObject**>(&ptr()->tokens_); |
1000 case Snapshot::kMessage: | 1000 case Snapshot::kMessage: |
1001 case Snapshot::kNone: | 1001 case Snapshot::kNone: |
1002 case Snapshot::kInvalid: | 1002 case Snapshot::kInvalid: |
1003 break; | 1003 break; |
1004 } | 1004 } |
1005 UNREACHABLE(); | 1005 UNREACHABLE(); |
1006 return NULL; | 1006 return NULL; |
1007 } | 1007 } |
(...skipping 477 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1485 RAW_HEAP_OBJECT_IMPLEMENTATION(ICData); | 1485 RAW_HEAP_OBJECT_IMPLEMENTATION(ICData); |
1486 | 1486 |
1487 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->ic_data_); } | 1487 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->ic_data_); } |
1488 RawArray* ic_data_; // Contains class-ids, target and count. | 1488 RawArray* ic_data_; // Contains class-ids, target and count. |
1489 RawString* target_name_; // Name of target function. | 1489 RawString* target_name_; // Name of target function. |
1490 RawArray* args_descriptor_; // Arguments descriptor. | 1490 RawArray* args_descriptor_; // Arguments descriptor. |
1491 RawObject* owner_; // Parent/calling function or original IC of cloned IC. | 1491 RawObject* owner_; // Parent/calling function or original IC of cloned IC. |
1492 RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->owner_); } | 1492 RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->owner_); } |
1493 RawObject** to_snapshot(Snapshot::Kind kind) { | 1493 RawObject** to_snapshot(Snapshot::Kind kind) { |
1494 switch (kind) { | 1494 switch (kind) { |
1495 case Snapshot::kAppNoJIT: | 1495 case Snapshot::kAppAOT: |
1496 return reinterpret_cast<RawObject**>(&ptr()->args_descriptor_); | 1496 return reinterpret_cast<RawObject**>(&ptr()->args_descriptor_); |
1497 case Snapshot::kCore: | 1497 case Snapshot::kCore: |
1498 case Snapshot::kScript: | 1498 case Snapshot::kScript: |
1499 case Snapshot::kAppWithJIT: | 1499 case Snapshot::kAppJIT: |
1500 return to(); | 1500 return to(); |
1501 case Snapshot::kMessage: | 1501 case Snapshot::kMessage: |
1502 case Snapshot::kNone: | 1502 case Snapshot::kNone: |
1503 case Snapshot::kInvalid: | 1503 case Snapshot::kInvalid: |
1504 break; | 1504 break; |
1505 } | 1505 } |
1506 UNREACHABLE(); | 1506 UNREACHABLE(); |
1507 return NULL; | 1507 return NULL; |
1508 } | 1508 } |
1509 NOT_IN_PRECOMPILED(int32_t deopt_id_); | 1509 NOT_IN_PRECOMPILED(int32_t deopt_id_); |
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1609 RawArray* imports_; // Libraries imported with this prefix. | 1609 RawArray* imports_; // Libraries imported with this prefix. |
1610 RawArray* dependent_code_; // Code that refers to deferred, unloaded | 1610 RawArray* dependent_code_; // Code that refers to deferred, unloaded |
1611 // library prefix. | 1611 // library prefix. |
1612 RawObject** to() { | 1612 RawObject** to() { |
1613 return reinterpret_cast<RawObject**>(&ptr()->dependent_code_); | 1613 return reinterpret_cast<RawObject**>(&ptr()->dependent_code_); |
1614 } | 1614 } |
1615 RawObject** to_snapshot(Snapshot::Kind kind) { | 1615 RawObject** to_snapshot(Snapshot::Kind kind) { |
1616 switch (kind) { | 1616 switch (kind) { |
1617 case Snapshot::kCore: | 1617 case Snapshot::kCore: |
1618 case Snapshot::kScript: | 1618 case Snapshot::kScript: |
1619 case Snapshot::kAppWithJIT: | 1619 case Snapshot::kAppJIT: |
1620 return reinterpret_cast<RawObject**>(&ptr()->imports_); | 1620 return reinterpret_cast<RawObject**>(&ptr()->imports_); |
1621 case Snapshot::kAppNoJIT: | 1621 case Snapshot::kAppAOT: |
1622 return reinterpret_cast<RawObject**>(&ptr()->importer_); | 1622 return reinterpret_cast<RawObject**>(&ptr()->importer_); |
1623 case Snapshot::kMessage: | 1623 case Snapshot::kMessage: |
1624 case Snapshot::kNone: | 1624 case Snapshot::kNone: |
1625 case Snapshot::kInvalid: | 1625 case Snapshot::kInvalid: |
1626 break; | 1626 break; |
1627 } | 1627 } |
1628 UNREACHABLE(); | 1628 UNREACHABLE(); |
1629 return NULL; | 1629 return NULL; |
1630 } | 1630 } |
1631 uint16_t num_imports_; // Number of library entries in libraries_. | 1631 uint16_t num_imports_; // Number of library entries in libraries_. |
(...skipping 768 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2400 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == | 2400 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == |
2401 kTypedDataInt8ArrayViewCid + 15); | 2401 kTypedDataInt8ArrayViewCid + 15); |
2402 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); | 2402 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); |
2403 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); | 2403 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); |
2404 return (kNullCid - kTypedDataInt8ArrayCid); | 2404 return (kNullCid - kTypedDataInt8ArrayCid); |
2405 } | 2405 } |
2406 | 2406 |
2407 } // namespace dart | 2407 } // namespace dart |
2408 | 2408 |
2409 #endif // RUNTIME_VM_RAW_OBJECT_H_ | 2409 #endif // RUNTIME_VM_RAW_OBJECT_H_ |
OLD | NEW |