Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(388)

Side by Side Diff: runtime/vm/raw_object.h

Issue 1938653002: JIT precompilated snapshots. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « runtime/vm/precompiler.cc ('k') | runtime/vm/raw_object_snapshot.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/atomic.h" 9 #include "vm/atomic.h"
10 #include "vm/globals.h" 10 #include "vm/globals.h"
(...skipping 694 matching lines...) Expand 10 before | Expand all | Expand 10 after
705 return reinterpret_cast<RawObject**>(&ptr()->dependent_code_); 705 return reinterpret_cast<RawObject**>(&ptr()->dependent_code_);
706 } 706 }
707 RawObject** to_snapshot(Snapshot::Kind kind) { 707 RawObject** to_snapshot(Snapshot::Kind kind) {
708 switch (kind) { 708 switch (kind) {
709 case Snapshot::kCore: 709 case Snapshot::kCore:
710 case Snapshot::kScript: 710 case Snapshot::kScript:
711 case Snapshot::kAppWithJIT: 711 case Snapshot::kAppWithJIT:
712 case Snapshot::kAppNoJIT: 712 case Snapshot::kAppNoJIT:
713 return reinterpret_cast<RawObject**>(&ptr()->direct_subclasses_); 713 return reinterpret_cast<RawObject**>(&ptr()->direct_subclasses_);
714 case Snapshot::kMessage: 714 case Snapshot::kMessage:
715 case Snapshot::kNone:
716 case Snapshot::kInvalid:
715 break; 717 break;
716 } 718 }
717 UNREACHABLE(); 719 UNREACHABLE();
718 return NULL; 720 return NULL;
719 } 721 }
720 722
721 cpp_vtable handle_vtable_; 723 cpp_vtable handle_vtable_;
722 TokenPosition token_pos_; 724 TokenPosition token_pos_;
723 int32_t instance_size_in_words_; // Size if fixed len or 0 if variable len. 725 int32_t instance_size_in_words_; // Size if fixed len or 0 if variable len.
724 int32_t type_arguments_field_offset_in_words_; // Offset of type args fld. 726 int32_t type_arguments_field_offset_in_words_; // Offset of type args fld.
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after
933 } 935 }
934 RawObject** to_snapshot(Snapshot::Kind kind) { 936 RawObject** to_snapshot(Snapshot::Kind kind) {
935 switch (kind) { 937 switch (kind) {
936 case Snapshot::kCore: 938 case Snapshot::kCore:
937 case Snapshot::kScript: 939 case Snapshot::kScript:
938 case Snapshot::kAppWithJIT: 940 case Snapshot::kAppWithJIT:
939 return reinterpret_cast<RawObject**>(&ptr()->guarded_list_length_); 941 return reinterpret_cast<RawObject**>(&ptr()->guarded_list_length_);
940 case Snapshot::kAppNoJIT: 942 case Snapshot::kAppNoJIT:
941 return reinterpret_cast<RawObject**>(&ptr()->initializer_); 943 return reinterpret_cast<RawObject**>(&ptr()->initializer_);
942 case Snapshot::kMessage: 944 case Snapshot::kMessage:
945 case Snapshot::kNone:
946 case Snapshot::kInvalid:
943 break; 947 break;
944 } 948 }
945 UNREACHABLE(); 949 UNREACHABLE();
946 return NULL; 950 return NULL;
947 } 951 }
948 952
949 TokenPosition token_pos_; 953 TokenPosition token_pos_;
950 classid_t guarded_cid_; 954 classid_t guarded_cid_;
951 classid_t is_nullable_; // kNullCid if field can contain null value and 955 classid_t is_nullable_; // kNullCid if field can contain null value and
952 // any other value otherwise. 956 // any other value otherwise.
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
1013 RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->source_); } 1017 RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->source_); }
1014 RawObject** to_snapshot(Snapshot::Kind kind) { 1018 RawObject** to_snapshot(Snapshot::Kind kind) {
1015 switch (kind) { 1019 switch (kind) {
1016 case Snapshot::kAppNoJIT: 1020 case Snapshot::kAppNoJIT:
1017 return reinterpret_cast<RawObject**>(&ptr()->url_); 1021 return reinterpret_cast<RawObject**>(&ptr()->url_);
1018 case Snapshot::kCore: 1022 case Snapshot::kCore:
1019 case Snapshot::kAppWithJIT: 1023 case Snapshot::kAppWithJIT:
1020 case Snapshot::kScript: 1024 case Snapshot::kScript:
1021 return reinterpret_cast<RawObject**>(&ptr()->tokens_); 1025 return reinterpret_cast<RawObject**>(&ptr()->tokens_);
1022 case Snapshot::kMessage: 1026 case Snapshot::kMessage:
1027 case Snapshot::kNone:
1028 case Snapshot::kInvalid:
1023 break; 1029 break;
1024 } 1030 }
1025 UNREACHABLE(); 1031 UNREACHABLE();
1026 return NULL; 1032 return NULL;
1027 } 1033 }
1028 1034
1029 int32_t line_offset_; 1035 int32_t line_offset_;
1030 int32_t col_offset_; 1036 int32_t col_offset_;
1031 int8_t kind_; // Of type Kind. 1037 int8_t kind_; // Of type Kind.
1032 }; 1038 };
(...skipping 466 matching lines...) Expand 10 before | Expand all | Expand 10 after
1499 } 1505 }
1500 RawObject** to_snapshot(Snapshot::Kind kind) { 1506 RawObject** to_snapshot(Snapshot::Kind kind) {
1501 switch (kind) { 1507 switch (kind) {
1502 case Snapshot::kAppNoJIT: 1508 case Snapshot::kAppNoJIT:
1503 return reinterpret_cast<RawObject**>(&ptr()->args_descriptor_); 1509 return reinterpret_cast<RawObject**>(&ptr()->args_descriptor_);
1504 case Snapshot::kCore: 1510 case Snapshot::kCore:
1505 case Snapshot::kScript: 1511 case Snapshot::kScript:
1506 case Snapshot::kAppWithJIT: 1512 case Snapshot::kAppWithJIT:
1507 return to(); 1513 return to();
1508 case Snapshot::kMessage: 1514 case Snapshot::kMessage:
1515 case Snapshot::kNone:
1516 case Snapshot::kInvalid:
1509 break; 1517 break;
1510 } 1518 }
1511 UNREACHABLE(); 1519 UNREACHABLE();
1512 return NULL; 1520 return NULL;
1513 } 1521 }
1514 int32_t deopt_id_; // Deoptimization id corresponding to this IC. 1522 int32_t deopt_id_; // Deoptimization id corresponding to this IC.
1515 uint32_t state_bits_; // Number of arguments tested in IC, deopt reasons, 1523 uint32_t state_bits_; // Number of arguments tested in IC, deopt reasons,
1516 // range feedback. 1524 // range feedback.
1517 #if defined(TAG_IC_DATA) 1525 #if defined(TAG_IC_DATA)
1518 intptr_t tag_; // Debugging, verifying that the icdata is assigned to the 1526 intptr_t tag_; // Debugging, verifying that the icdata is assigned to the
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
1630 } 1638 }
1631 RawObject** to_snapshot(Snapshot::Kind kind) { 1639 RawObject** to_snapshot(Snapshot::Kind kind) {
1632 switch (kind) { 1640 switch (kind) {
1633 case Snapshot::kCore: 1641 case Snapshot::kCore:
1634 case Snapshot::kScript: 1642 case Snapshot::kScript:
1635 case Snapshot::kAppWithJIT: 1643 case Snapshot::kAppWithJIT:
1636 return reinterpret_cast<RawObject**>(&ptr()->imports_); 1644 return reinterpret_cast<RawObject**>(&ptr()->imports_);
1637 case Snapshot::kAppNoJIT: 1645 case Snapshot::kAppNoJIT:
1638 return reinterpret_cast<RawObject**>(&ptr()->importer_); 1646 return reinterpret_cast<RawObject**>(&ptr()->importer_);
1639 case Snapshot::kMessage: 1647 case Snapshot::kMessage:
1648 case Snapshot::kNone:
1649 case Snapshot::kInvalid:
1640 break; 1650 break;
1641 } 1651 }
1642 UNREACHABLE(); 1652 UNREACHABLE();
1643 return NULL; 1653 return NULL;
1644 } 1654 }
1645 uint16_t num_imports_; // Number of library entries in libraries_. 1655 uint16_t num_imports_; // Number of library entries in libraries_.
1646 bool is_deferred_load_; 1656 bool is_deferred_load_;
1647 bool is_loaded_; 1657 bool is_loaded_;
1648 }; 1658 };
1649 1659
(...skipping 768 matching lines...) Expand 10 before | Expand all | Expand 10 after
2418 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == 2428 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid ==
2419 kTypedDataInt8ArrayViewCid + 15); 2429 kTypedDataInt8ArrayViewCid + 15);
2420 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); 2430 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14);
2421 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); 2431 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1);
2422 return (kNullCid - kTypedDataInt8ArrayCid); 2432 return (kNullCid - kTypedDataInt8ArrayCid);
2423 } 2433 }
2424 2434
2425 } // namespace dart 2435 } // namespace dart
2426 2436
2427 #endif // VM_RAW_OBJECT_H_ 2437 #endif // VM_RAW_OBJECT_H_
OLDNEW
« no previous file with comments | « runtime/vm/precompiler.cc ('k') | runtime/vm/raw_object_snapshot.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698