OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_SERIALIZE_H_ | 5 #ifndef V8_SERIALIZE_H_ |
6 #define V8_SERIALIZE_H_ | 6 #define V8_SERIALIZE_H_ |
7 | 7 |
8 #include "src/hashmap.h" | 8 #include "src/hashmap.h" |
9 #include "src/heap-profiler.h" | 9 #include "src/heap-profiler.h" |
10 #include "src/isolate.h" | 10 #include "src/isolate.h" |
(...skipping 600 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
611 void VisitPointers(Object** start, Object** end) OVERRIDE; | 611 void VisitPointers(Object** start, Object** end) OVERRIDE; |
612 | 612 |
613 void EncodeReservations(List<SerializedData::Reservation>* out) const; | 613 void EncodeReservations(List<SerializedData::Reservation>* out) const; |
614 | 614 |
615 Isolate* isolate() const { return isolate_; } | 615 Isolate* isolate() const { return isolate_; } |
616 | 616 |
617 BackReferenceMap* back_reference_map() { return &back_reference_map_; } | 617 BackReferenceMap* back_reference_map() { return &back_reference_map_; } |
618 RootIndexMap* root_index_map() { return &root_index_map_; } | 618 RootIndexMap* root_index_map() { return &root_index_map_; } |
619 | 619 |
620 #ifdef OBJECT_PRINT | 620 #ifdef OBJECT_PRINT |
621 void CountInstanceType(HeapObject* obj); | 621 void CountInstanceType(Map* map, int size); |
622 #endif // OBJECT_PRINT | 622 #endif // OBJECT_PRINT |
623 | 623 |
624 protected: | 624 protected: |
625 class ObjectSerializer : public ObjectVisitor { | 625 class ObjectSerializer : public ObjectVisitor { |
626 public: | 626 public: |
627 ObjectSerializer(Serializer* serializer, Object* o, SnapshotByteSink* sink, | 627 ObjectSerializer(Serializer* serializer, Object* o, SnapshotByteSink* sink, |
628 HowToCode how_to_code, WhereToPoint where_to_point) | 628 HowToCode how_to_code, WhereToPoint where_to_point) |
629 : serializer_(serializer), | 629 : serializer_(serializer), |
630 object_(HeapObject::cast(o)), | 630 object_(HeapObject::cast(o)), |
631 sink_(sink), | 631 sink_(sink), |
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
995 kNumInternalizedStringsOffset + kInt32Size; | 995 kNumInternalizedStringsOffset + kInt32Size; |
996 static const int kNumCodeStubKeysOffset = kNumReservationsOffset + kInt32Size; | 996 static const int kNumCodeStubKeysOffset = kNumReservationsOffset + kInt32Size; |
997 static const int kPayloadLengthOffset = kNumCodeStubKeysOffset + kInt32Size; | 997 static const int kPayloadLengthOffset = kNumCodeStubKeysOffset + kInt32Size; |
998 static const int kChecksum1Offset = kPayloadLengthOffset + kInt32Size; | 998 static const int kChecksum1Offset = kPayloadLengthOffset + kInt32Size; |
999 static const int kChecksum2Offset = kChecksum1Offset + kInt32Size; | 999 static const int kChecksum2Offset = kChecksum1Offset + kInt32Size; |
1000 static const int kHeaderSize = kChecksum2Offset + kInt32Size; | 1000 static const int kHeaderSize = kChecksum2Offset + kInt32Size; |
1001 }; | 1001 }; |
1002 } } // namespace v8::internal | 1002 } } // namespace v8::internal |
1003 | 1003 |
1004 #endif // V8_SERIALIZE_H_ | 1004 #endif // V8_SERIALIZE_H_ |
OLD | NEW |