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

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

Issue 14179015: - Remove heap tracing. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 8 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 | Annotate | Revision Log
« no previous file with comments | « runtime/vm/pages.cc ('k') | runtime/vm/scavenger.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/globals.h" 9 #include "vm/globals.h"
10 #include "vm/token.h" 10 #include "vm/token.h"
(...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after
408 } 408 }
409 409
410 friend class Api; 410 friend class Api;
411 friend class Array; 411 friend class Array;
412 friend class FreeListElement; 412 friend class FreeListElement;
413 friend class GCMarker; 413 friend class GCMarker;
414 friend class ExternalTypedData; 414 friend class ExternalTypedData;
415 friend class Heap; 415 friend class Heap;
416 friend class HeapProfiler; 416 friend class HeapProfiler;
417 friend class HeapProfilerRootVisitor; 417 friend class HeapProfilerRootVisitor;
418 friend class HeapTrace;
419 friend class HeapTraceDebugObjectVisitor;
420 friend class HeapTraceHandleVisitor;
421 friend class HeapTraceVisitor;
422 friend class MarkingVisitor; 418 friend class MarkingVisitor;
423 friend class Object; 419 friend class Object;
424 friend class RawExternalTypedData; 420 friend class RawExternalTypedData;
425 friend class RawInstructions; 421 friend class RawInstructions;
426 friend class RawInstance; 422 friend class RawInstance;
427 friend class RawTypedData; 423 friend class RawTypedData;
428 friend class Scavenger; 424 friend class Scavenger;
429 friend class SnapshotReader; 425 friend class SnapshotReader;
430 friend class SnapshotWriter; 426 friend class SnapshotWriter;
431 friend class String; 427 friend class String;
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
470 466
471 cpp_vtable handle_vtable_; 467 cpp_vtable handle_vtable_;
472 intptr_t instance_size_in_words_; // Size if fixed len or 0 if variable len. 468 intptr_t instance_size_in_words_; // Size if fixed len or 0 if variable len.
473 intptr_t id_; // Class Id, also index in the class table. 469 intptr_t id_; // Class Id, also index in the class table.
474 intptr_t type_arguments_field_offset_in_words_; // Offset of type args fld. 470 intptr_t type_arguments_field_offset_in_words_; // Offset of type args fld.
475 intptr_t next_field_offset_in_words_; // Offset of the next instance field. 471 intptr_t next_field_offset_in_words_; // Offset of the next instance field.
476 intptr_t num_native_fields_; // Number of native fields in class. 472 intptr_t num_native_fields_; // Number of native fields in class.
477 intptr_t token_pos_; 473 intptr_t token_pos_;
478 uint8_t state_bits_; // state, is_const, is_implemented. 474 uint8_t state_bits_; // state, is_const, is_implemented.
479 475
480 friend class HeapTrace;
481 friend class Instance; 476 friend class Instance;
482 friend class Object; 477 friend class Object;
483 friend class RawInstance; 478 friend class RawInstance;
484 friend class RawInstructions; 479 friend class RawInstructions;
485 friend class RawType; // TODO(regis): To temporarily print unfinalized types. 480 friend class RawType; // TODO(regis): To temporarily print unfinalized types.
486 friend class RawTypeParameter; // To temporarily print unfinalized types. 481 friend class RawTypeParameter; // To temporarily print unfinalized types.
487 friend class SnapshotReader; 482 friend class SnapshotReader;
488 }; 483 };
489 484
490 485
(...skipping 742 matching lines...) Expand 10 before | Expand all | Expand 10 after
1233 1228
1234 1229
1235 class RawString : public RawInstance { 1230 class RawString : public RawInstance {
1236 RAW_HEAP_OBJECT_IMPLEMENTATION(String); 1231 RAW_HEAP_OBJECT_IMPLEMENTATION(String);
1237 1232
1238 protected: 1233 protected:
1239 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->length_); } 1234 RawObject** from() { return reinterpret_cast<RawObject**>(&ptr()->length_); }
1240 RawSmi* length_; 1235 RawSmi* length_;
1241 RawSmi* hash_; 1236 RawSmi* hash_;
1242 RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->hash_); } 1237 RawObject** to() { return reinterpret_cast<RawObject**>(&ptr()->hash_); }
1243
1244 friend class HeapTrace;
1245 }; 1238 };
1246 1239
1247 1240
1248 class RawOneByteString : public RawString { 1241 class RawOneByteString : public RawString {
1249 RAW_HEAP_OBJECT_IMPLEMENTATION(OneByteString); 1242 RAW_HEAP_OBJECT_IMPLEMENTATION(OneByteString);
1250 1243
1251 // Variable length data follows here. 1244 // Variable length data follows here.
1252 uint8_t data_[0]; 1245 uint8_t data_[0];
1253 1246
1254 friend class ApiMessageReader; 1247 friend class ApiMessageReader;
1255 friend class HeapTrace;
1256 friend class SnapshotReader; 1248 friend class SnapshotReader;
1257 }; 1249 };
1258 1250
1259 1251
1260 class RawTwoByteString : public RawString { 1252 class RawTwoByteString : public RawString {
1261 RAW_HEAP_OBJECT_IMPLEMENTATION(TwoByteString); 1253 RAW_HEAP_OBJECT_IMPLEMENTATION(TwoByteString);
1262 1254
1263 // Variable length data follows here. 1255 // Variable length data follows here.
1264 uint16_t data_[0]; 1256 uint16_t data_[0];
1265 1257
1266 friend class HeapTrace;
1267 friend class SnapshotReader; 1258 friend class SnapshotReader;
1268 }; 1259 };
1269 1260
1270 1261
1271 template<typename T> 1262 template<typename T>
1272 class ExternalStringData { 1263 class ExternalStringData {
1273 public: 1264 public:
1274 ExternalStringData(const T* data, void* peer, Dart_PeerFinalizer callback) : 1265 ExternalStringData(const T* data, void* peer, Dart_PeerFinalizer callback) :
1275 data_(data), peer_(peer), callback_(callback) { 1266 data_(data), peer_(peer), callback_(callback) {
1276 } 1267 }
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
1336 friend class RawImmutableArray; 1327 friend class RawImmutableArray;
1337 friend class SnapshotReader; 1328 friend class SnapshotReader;
1338 friend class GrowableObjectArray; 1329 friend class GrowableObjectArray;
1339 friend class Object; 1330 friend class Object;
1340 }; 1331 };
1341 1332
1342 1333
1343 class RawImmutableArray : public RawArray { 1334 class RawImmutableArray : public RawArray {
1344 RAW_HEAP_OBJECT_IMPLEMENTATION(ImmutableArray); 1335 RAW_HEAP_OBJECT_IMPLEMENTATION(ImmutableArray);
1345 1336
1346 friend class HeapTrace;
1347 friend class SnapshotReader; 1337 friend class SnapshotReader;
1348 }; 1338 };
1349 1339
1350 1340
1351 class RawGrowableObjectArray : public RawInstance { 1341 class RawGrowableObjectArray : public RawInstance {
1352 RAW_HEAP_OBJECT_IMPLEMENTATION(GrowableObjectArray); 1342 RAW_HEAP_OBJECT_IMPLEMENTATION(GrowableObjectArray);
1353 1343
1354 RawObject** from() { 1344 RawObject** from() {
1355 return reinterpret_cast<RawObject**>(&ptr()->type_arguments_); 1345 return reinterpret_cast<RawObject**>(&ptr()->type_arguments_);
1356 } 1346 }
(...skipping 311 matching lines...) Expand 10 before | Expand all | Expand 10 after
1668 // Make sure this is updated when new TypedData types are added. 1658 // Make sure this is updated when new TypedData types are added.
1669 ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 12); 1659 ASSERT(kTypedDataInt8ArrayViewCid == kTypedDataInt8ArrayCid + 12);
1670 ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 13); 1660 ASSERT(kExternalTypedDataInt8ArrayCid == kTypedDataInt8ArrayViewCid + 13);
1671 ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 12); 1661 ASSERT(kNullCid == kExternalTypedDataInt8ArrayCid + 12);
1672 return (kNullCid - kTypedDataInt8ArrayCid); 1662 return (kNullCid - kTypedDataInt8ArrayCid);
1673 } 1663 }
1674 1664
1675 } // namespace dart 1665 } // namespace dart
1676 1666
1677 #endif // VM_RAW_OBJECT_H_ 1667 #endif // VM_RAW_OBJECT_H_
OLDNEW
« no previous file with comments | « runtime/vm/pages.cc ('k') | runtime/vm/scavenger.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698