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

Side by Side Diff: vm/object_store.h

Issue 8417003: Enhance the array access API to deal with any objct that implements the list interface. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/runtime/
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 | « vm/object.cc ('k') | vm/object_store.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_OBJECT_STORE_H_ 5 #ifndef VM_OBJECT_STORE_H_
6 #define VM_OBJECT_STORE_H_ 6 #define VM_OBJECT_STORE_H_
7 7
8 #include "vm/object.h" 8 #include "vm/object.h"
9 9
10 namespace dart { 10 namespace dart {
(...skipping 16 matching lines...) Expand all
27 kObjectType, 27 kObjectType,
28 kNullType, 28 kNullType,
29 kDynamicType, 29 kDynamicType,
30 kVoidType, 30 kVoidType,
31 kFunctionInterface, 31 kFunctionInterface,
32 kNumberInterface, 32 kNumberInterface,
33 kDoubleInterface, 33 kDoubleInterface,
34 kIntInterface, 34 kIntInterface,
35 kBoolInterface, 35 kBoolInterface,
36 kStringInterface, 36 kStringInterface,
37 kListInterface,
37 kObjectClass, 38 kObjectClass,
38 kSmiClass, 39 kSmiClass,
39 kMintClass, 40 kMintClass,
40 kBigintClass, 41 kBigintClass,
41 kDoubleClass, 42 kDoubleClass,
42 kOneByteStringClass, 43 kOneByteStringClass,
43 kTwoByteStringClass, 44 kTwoByteStringClass,
44 kFourByteStringClass, 45 kFourByteStringClass,
45 kBoolClass, 46 kBoolClass,
46 kArrayClass, 47 kArrayClass,
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
124 void set_four_byte_string_class(const Class& value) { 125 void set_four_byte_string_class(const Class& value) {
125 four_byte_string_class_ = value.raw(); 126 four_byte_string_class_ = value.raw();
126 } 127 }
127 128
128 RawType* bool_interface() const { return bool_interface_; } 129 RawType* bool_interface() const { return bool_interface_; }
129 void set_bool_interface(const Type& value) { bool_interface_ = value.raw(); } 130 void set_bool_interface(const Type& value) { bool_interface_ = value.raw(); }
130 131
131 RawClass* bool_class() const { return bool_class_; } 132 RawClass* bool_class() const { return bool_class_; }
132 void set_bool_class(const Class& value) { bool_class_ = value.raw(); } 133 void set_bool_class(const Class& value) { bool_class_ = value.raw(); }
133 134
135 RawType* list_interface() const { return list_interface_; }
136 void set_list_interface(const Type& value) {
137 list_interface_ = value.raw();
138 }
139
134 RawClass* array_class() const { return array_class_; } 140 RawClass* array_class() const { return array_class_; }
135 void set_array_class(const Class& value) { array_class_ = value.raw(); } 141 void set_array_class(const Class& value) { array_class_ = value.raw(); }
136 static intptr_t array_class_offset() { 142 static intptr_t array_class_offset() {
137 return OFFSET_OF(ObjectStore, array_class_); 143 return OFFSET_OF(ObjectStore, array_class_);
138 } 144 }
139 145
140 RawClass* immutable_array_class() const { return immutable_array_class_; } 146 RawClass* immutable_array_class() const { return immutable_array_class_; }
141 void set_immutable_array_class(const Class& value) { 147 void set_immutable_array_class(const Class& value) {
142 immutable_array_class_ = value.raw(); 148 immutable_array_class_ = value.raw();
143 } 149 }
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
248 RawClass* mint_class_; 254 RawClass* mint_class_;
249 RawClass* bigint_class_; 255 RawClass* bigint_class_;
250 RawType* double_interface_; 256 RawType* double_interface_;
251 RawClass* double_class_; 257 RawClass* double_class_;
252 RawType* string_interface_; 258 RawType* string_interface_;
253 RawClass* one_byte_string_class_; 259 RawClass* one_byte_string_class_;
254 RawClass* two_byte_string_class_; 260 RawClass* two_byte_string_class_;
255 RawClass* four_byte_string_class_; 261 RawClass* four_byte_string_class_;
256 RawType* bool_interface_; 262 RawType* bool_interface_;
257 RawClass* bool_class_; 263 RawClass* bool_class_;
264 RawType* list_interface_;
258 RawClass* array_class_; 265 RawClass* array_class_;
259 RawClass* immutable_array_class_; 266 RawClass* immutable_array_class_;
260 RawClass* unhandled_exception_class_; 267 RawClass* unhandled_exception_class_;
261 RawClass* stacktrace_class_; 268 RawClass* stacktrace_class_;
262 RawClass* jsregexp_class_; 269 RawClass* jsregexp_class_;
263 RawBool* true_value_; 270 RawBool* true_value_;
264 RawBool* false_value_; 271 RawBool* false_value_;
265 RawArray* empty_array_; 272 RawArray* empty_array_;
266 RawArray* symbol_table_; 273 RawArray* symbol_table_;
267 RawLibrary* core_library_; 274 RawLibrary* core_library_;
268 RawLibrary* core_impl_library_; 275 RawLibrary* core_impl_library_;
269 RawLibrary* root_library_; 276 RawLibrary* root_library_;
270 RawLibrary* registered_libraries_; 277 RawLibrary* registered_libraries_;
271 RawArray* pending_classes_; 278 RawArray* pending_classes_;
272 RawString* sticky_error_; 279 RawString* sticky_error_;
273 RawContext* empty_context_; 280 RawContext* empty_context_;
274 RawObject** to() { return reinterpret_cast<RawObject**>(&empty_context_); } 281 RawObject** to() { return reinterpret_cast<RawObject**>(&empty_context_); }
275 282
276 friend class SnapshotReader; 283 friend class SnapshotReader;
277 284
278 DISALLOW_COPY_AND_ASSIGN(ObjectStore); 285 DISALLOW_COPY_AND_ASSIGN(ObjectStore);
279 }; 286 };
280 287
281 } // namespace dart 288 } // namespace dart
282 289
283 #endif // VM_OBJECT_STORE_H_ 290 #endif // VM_OBJECT_STORE_H_
OLDNEW
« no previous file with comments | « vm/object.cc ('k') | vm/object_store.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698