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

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

Issue 8372041: Canonicalize types. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: '' Created 9 years, 1 month 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 | Annotate | Revision Log
« no previous file with comments | « runtime/vm/parser.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) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, 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 "vm/assert.h" 8 #include "vm/assert.h"
9 #include "vm/globals.h" 9 #include "vm/globals.h"
10 #include "vm/snapshot.h" 10 #include "vm/snapshot.h"
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
197 RawScript* script_; 197 RawScript* script_;
198 RawLibrary* library_; 198 RawLibrary* library_;
199 RawArray* type_parameters_; // Array of String. 199 RawArray* type_parameters_; // Array of String.
200 RawTypeArray* type_parameter_extends_; // DynamicType if no extends clause. 200 RawTypeArray* type_parameter_extends_; // DynamicType if no extends clause.
201 RawType* super_type_; 201 RawType* super_type_;
202 RawType* factory_type_; 202 RawType* factory_type_;
203 RawFunction* signature_function_; // Associated function for signature class. 203 RawFunction* signature_function_; // Associated function for signature class.
204 RawType* signature_type_; // Cached function type for signature class. 204 RawType* signature_type_; // Cached function type for signature class.
205 RawArray* functions_cache_; // See class FunctionsCache. 205 RawArray* functions_cache_; // See class FunctionsCache.
206 RawArray* constants_; // Canonicalized values of this class. 206 RawArray* constants_; // Canonicalized values of this class.
207 RawArray* canonical_types_; // Canonicalized types of this class.
207 RawCode* allocation_stub_; // Stub code for allocation of instances. 208 RawCode* allocation_stub_; // Stub code for allocation of instances.
208 RawObject** to() { 209 RawObject** to() {
209 return reinterpret_cast<RawObject**>(&ptr()->allocation_stub_); 210 return reinterpret_cast<RawObject**>(&ptr()->allocation_stub_);
210 } 211 }
211 212
212 cpp_vtable handle_vtable_; 213 cpp_vtable handle_vtable_;
213 intptr_t instance_size_; 214 intptr_t instance_size_;
214 ObjectKind instance_kind_; 215 ObjectKind instance_kind_;
215 intptr_t type_arguments_instance_field_offset_; // May be kNoTypeArguments. 216 intptr_t type_arguments_instance_field_offset_; // May be kNoTypeArguments.
216 intptr_t num_constants_; // Number of objects in constants_ array. 217 intptr_t num_constants_; // Number of objects in constants_ array.
218 intptr_t num_canonical_types_; // Number of types in canonical_types_ array.
217 intptr_t next_field_offset_; // Offset of then next instance field. 219 intptr_t next_field_offset_; // Offset of then next instance field.
218 intptr_t num_native_fields_; // Number of native fields in class. 220 intptr_t num_native_fields_; // Number of native fields in class.
219 int8_t class_state_; // Of type ClassState. 221 int8_t class_state_; // Of type ClassState.
220 bool is_const_; 222 bool is_const_;
221 bool is_interface_; 223 bool is_interface_;
222 224
223 friend class Object; 225 friend class Object;
224 friend class RawInstance; 226 friend class RawInstance;
225 }; 227 };
226 228
(...skipping 543 matching lines...) Expand 10 before | Expand all | Expand 10 after
770 intptr_t type_; // Uninitialized, simple or complex. 772 intptr_t type_; // Uninitialized, simple or complex.
771 intptr_t flags_; // Represents global/local, case insensitive, multiline. 773 intptr_t flags_; // Represents global/local, case insensitive, multiline.
772 774
773 // Variable length data follows here. 775 // Variable length data follows here.
774 uint8_t data_[0]; 776 uint8_t data_[0];
775 }; 777 };
776 778
777 } // namespace dart 779 } // namespace dart
778 780
779 #endif // VM_RAW_OBJECT_H_ 781 #endif // VM_RAW_OBJECT_H_
OLDNEW
« no previous file with comments | « runtime/vm/parser.cc ('k') | runtime/vm/raw_object_snapshot.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698