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

Side by Side Diff: src/serialize.h

Issue 10824084: Fix deserializer to understand direct pointers from code to cell payloads. (Closed) Base URL: http://v8.googlecode.com/svn/branches/bleeding_edge/
Patch Set: Created 8 years, 4 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
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 224 matching lines...) Expand 10 before | Expand all | Expand 10 after
235 enum HowToCode { 235 enum HowToCode {
236 kPlain = 0, // Straight pointer. 236 kPlain = 0, // Straight pointer.
237 // What this means depends on the architecture: 237 // What this means depends on the architecture:
238 kFromCode = 0x40, // A pointer inlined in code. 238 kFromCode = 0x40, // A pointer inlined in code.
239 kHowToCodeMask = 0x40 239 kHowToCodeMask = 0x40
240 }; 240 };
241 241
242 // Where to point within the object. 242 // Where to point within the object.
243 enum WhereToPoint { 243 enum WhereToPoint {
244 kStartOfObject = 0, 244 kStartOfObject = 0,
245 kFirstInstruction = 0x80, 245 kInnerPointer = 0x80, // First insn in code object or payload of cell.
246 kWhereToPointMask = 0x80 246 kWhereToPointMask = 0x80
247 }; 247 };
248 248
249 // Misc. 249 // Misc.
250 // Raw data to be copied from the snapshot. 250 // Raw data to be copied from the snapshot.
251 static const int kRawData = 0x30; 251 static const int kRawData = 0x30;
252 // Some common raw lengths: 0x31-0x3f 252 // Some common raw lengths: 0x31-0x3f
253 // A tag emitted at strategic points in the snapshot to delineate sections. 253 // A tag emitted at strategic points in the snapshot to delineate sections.
254 // If the deserializer does not find these at the expected moments then it 254 // If the deserializer does not find these at the expected moments then it
255 // is an indication that the snapshot and the VM do not fit together. 255 // is an indication that the snapshot and the VM do not fit together.
(...skipping 386 matching lines...) Expand 10 before | Expand all | Expand 10 after
642 private: 642 private:
643 virtual bool ShouldBeInThePartialSnapshotCache(HeapObject* o) { 643 virtual bool ShouldBeInThePartialSnapshotCache(HeapObject* o) {
644 return false; 644 return false;
645 } 645 }
646 }; 646 };
647 647
648 648
649 } } // namespace v8::internal 649 } } // namespace v8::internal
650 650
651 #endif // V8_SERIALIZE_H_ 651 #endif // V8_SERIALIZE_H_
OLDNEW
« src/ia32/full-codegen-ia32.cc ('K') | « src/objects.h ('k') | src/serialize.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698