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

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

Issue 1217323002: Intrinsic version of Object.runtimeType (Closed) Base URL: https://github.com/dart-lang/sdk.git@master
Patch Set: more Created 5 years, 5 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
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 620 matching lines...) Expand 10 before | Expand all | Expand 10 after
631 RawObject** to() { 631 RawObject** to() {
632 return reinterpret_cast<RawObject**>(&ptr()->allocation_stub_); 632 return reinterpret_cast<RawObject**>(&ptr()->allocation_stub_);
633 } 633 }
634 634
635 cpp_vtable handle_vtable_; 635 cpp_vtable handle_vtable_;
636 int32_t token_pos_; 636 int32_t token_pos_;
637 int32_t instance_size_in_words_; // Size if fixed len or 0 if variable len. 637 int32_t instance_size_in_words_; // Size if fixed len or 0 if variable len.
638 int32_t type_arguments_field_offset_in_words_; // Offset of type args fld. 638 int32_t type_arguments_field_offset_in_words_; // Offset of type args fld.
639 int32_t next_field_offset_in_words_; // Offset of the next instance field. 639 int32_t next_field_offset_in_words_; // Offset of the next instance field.
640 classid_t id_; // Class Id, also index in the class table. 640 classid_t id_; // Class Id, also index in the class table.
641 int16_t num_type_arguments_; // Number of type arguments in flatten vector. 641 int16_t num_type_arguments_; // Number of type arguments in flattened vector.
642 int16_t num_own_type_arguments_; // Number of non-overlapping type arguments. 642 int16_t num_own_type_arguments_; // Number of non-overlapping type arguments.
643 uint16_t num_native_fields_; // Number of native fields in class. 643 uint16_t num_native_fields_; // Number of native fields in class.
644 uint16_t state_bits_; 644 uint16_t state_bits_;
645 645
646 friend class Instance; 646 friend class Instance;
647 friend class Object; 647 friend class Object;
648 friend class RawInstance; 648 friend class RawInstance;
649 friend class RawInstructions; 649 friend class RawInstructions;
650 friend class SnapshotReader; 650 friend class SnapshotReader;
651 }; 651 };
(...skipping 1531 matching lines...) Expand 10 before | Expand all | Expand 10 after
2183 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid == 2183 COMPILE_ASSERT(kExternalTypedDataInt8ArrayCid ==
2184 kTypedDataInt8ArrayViewCid + 15); 2184 kTypedDataInt8ArrayViewCid + 15);
2185 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14); 2185 COMPILE_ASSERT(kByteBufferCid == kExternalTypedDataInt8ArrayCid + 14);
2186 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1); 2186 COMPILE_ASSERT(kNullCid == kByteBufferCid + 1);
2187 return (kNullCid - kTypedDataInt8ArrayCid); 2187 return (kNullCid - kTypedDataInt8ArrayCid);
2188 } 2188 }
2189 2189
2190 } // namespace dart 2190 } // namespace dart
2191 2191
2192 #endif // VM_RAW_OBJECT_H_ 2192 #endif // VM_RAW_OBJECT_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698