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/compiler.h" | 8 #include "src/compiler.h" |
9 #include "src/hashmap.h" | 9 #include "src/hashmap.h" |
10 #include "src/heap-profiler.h" | 10 #include "src/heap-profiler.h" |
(...skipping 278 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
289 // Deserializer which is used to store common constants and methods used by | 289 // Deserializer which is used to store common constants and methods used by |
290 // both. | 290 // both. |
291 class SerializerDeserializer: public ObjectVisitor { | 291 class SerializerDeserializer: public ObjectVisitor { |
292 public: | 292 public: |
293 static void Iterate(Isolate* isolate, ObjectVisitor* visitor); | 293 static void Iterate(Isolate* isolate, ObjectVisitor* visitor); |
294 | 294 |
295 static int nop() { return kNop; } | 295 static int nop() { return kNop; } |
296 | 296 |
297 // No reservation for large object space necessary. | 297 // No reservation for large object space necessary. |
298 static const int kNumberOfPreallocatedSpaces = LO_SPACE; | 298 static const int kNumberOfPreallocatedSpaces = LO_SPACE; |
299 static const int kNumberOfSpaces = INVALID_SPACE; | 299 static const int kNumberOfSpaces = LAST_SPACE + 1; |
300 | 300 |
301 protected: | 301 protected: |
302 // Where the pointed-to object can be found: | 302 // Where the pointed-to object can be found: |
303 enum Where { | 303 enum Where { |
304 kNewObject = 0, // Object is next in snapshot. | 304 kNewObject = 0, // Object is next in snapshot. |
305 // 1-7 One per space. | 305 // 1-7 One per space. |
306 kRootArray = 0x9, // Object is found in root array. | 306 kRootArray = 0x9, // Object is found in root array. |
307 kPartialSnapshotCache = 0xa, // Object is in the cache. | 307 kPartialSnapshotCache = 0xa, // Object is in the cache. |
308 kExternalReference = 0xb, // Pointer to an external reference. | 308 kExternalReference = 0xb, // Pointer to an external reference. |
309 kSkip = 0xc, // Skip n bytes. | 309 kSkip = 0xc, // Skip n bytes. |
(...skipping 534 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
844 // Following the header, we store, in sequential order | 844 // Following the header, we store, in sequential order |
845 // - code stub keys | 845 // - code stub keys |
846 // - serialization payload | 846 // - serialization payload |
847 | 847 |
848 ScriptData* script_data_; | 848 ScriptData* script_data_; |
849 bool owns_script_data_; | 849 bool owns_script_data_; |
850 }; | 850 }; |
851 } } // namespace v8::internal | 851 } } // namespace v8::internal |
852 | 852 |
853 #endif // V8_SERIALIZE_H_ | 853 #endif // V8_SERIALIZE_H_ |
OLD | NEW |