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

Side by Side Diff: src/serialize.h

Issue 551062: Fix issue 571: display descriptive names for code objects from snapshot. (Closed)
Patch Set: Created 10 years, 11 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 2006-2009 the V8 project authors. All rights reserved. 1 // Copyright 2006-2009 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after
140 accumulator = (accumulator | (snapshot_byte & 0x7f)) << 7; 140 accumulator = (accumulator | (snapshot_byte & 0x7f)) << 7;
141 } 141 }
142 UNREACHABLE(); 142 UNREACHABLE();
143 return accumulator; 143 return accumulator;
144 } 144 }
145 145
146 bool AtEOF() { 146 bool AtEOF() {
147 return position_ == length_; 147 return position_ == length_;
148 } 148 }
149 149
150 const int position() { return position_; }
151
150 private: 152 private:
151 const byte* data_; 153 const byte* data_;
152 int length_; 154 int length_;
153 int position_; 155 int position_;
154 }; 156 };
155 157
156 158
157 // It is very common to have a reference to the object at word 10 in space 2, 159 // It is very common to have a reference to the object at word 10 in space 2,
158 // the object at word 5 in space 2 and the object at word 28 in space 4. This 160 // the object at word 5 in space 2 and the object at word 28 in space 4. This
159 // only works for objects in the first page of a space. 161 // only works for objects in the first page of a space.
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
287 289
288 290
289 class SnapshotByteSink { 291 class SnapshotByteSink {
290 public: 292 public:
291 virtual ~SnapshotByteSink() { } 293 virtual ~SnapshotByteSink() { }
292 virtual void Put(int byte, const char* description) = 0; 294 virtual void Put(int byte, const char* description) = 0;
293 virtual void PutSection(int byte, const char* description) { 295 virtual void PutSection(int byte, const char* description) {
294 Put(byte, description); 296 Put(byte, description);
295 } 297 }
296 void PutInt(uintptr_t integer, const char* description); 298 void PutInt(uintptr_t integer, const char* description);
299 virtual int Position() = 0;
297 }; 300 };
298 301
299 302
300 class Serializer : public SerDes { 303 class Serializer : public SerDes {
301 public: 304 public:
302 explicit Serializer(SnapshotByteSink* sink); 305 explicit Serializer(SnapshotByteSink* sink);
303 // Serialize the current state of the heap. 306 // Serialize the current state of the heap.
304 void Serialize(); 307 void Serialize();
305 // Serialize a single object and the objects reachable from it. 308 // Serialize a single object and the objects reachable from it.
306 void SerializePartial(Object** obj); 309 void SerializePartial(Object** obj);
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
402 405
403 friend class ObjectSerializer; 406 friend class ObjectSerializer;
404 friend class Deserializer; 407 friend class Deserializer;
405 408
406 DISALLOW_COPY_AND_ASSIGN(Serializer); 409 DISALLOW_COPY_AND_ASSIGN(Serializer);
407 }; 410 };
408 411
409 } } // namespace v8::internal 412 } } // namespace v8::internal
410 413
411 #endif // V8_SERIALIZE_H_ 414 #endif // V8_SERIALIZE_H_
OLDNEW
« no previous file with comments | « src/mksnapshot.cc ('k') | src/serialize.cc » ('j') | src/serialize.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698