| OLD | NEW |
| 1 // Copyright 2006-2008 the V8 project authors. All rights reserved. | 1 // Copyright 2006-2008 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 #include "isolate.h" | 5 #include "isolate.h" |
| 6 | 6 |
| 7 #ifndef V8_SNAPSHOT_H_ | 7 #ifndef V8_SNAPSHOT_H_ |
| 8 #define V8_SNAPSHOT_H_ | 8 #define V8_SNAPSHOT_H_ |
| 9 | 9 |
| 10 namespace v8 { | 10 namespace v8 { |
| 11 namespace internal { | 11 namespace internal { |
| 12 | 12 |
| 13 class Snapshot { | 13 class Snapshot { |
| 14 public: | 14 public: |
| 15 // Initialize the VM from the given snapshot file. If snapshot_file is | 15 // Initialize the VM from the internal snapshot. Returns false if no snapshot |
| 16 // NULL, use the internal snapshot instead. Returns false if no snapshot | |
| 17 // could be found. | 16 // could be found. |
| 18 static bool Initialize(const char* snapshot_file = NULL); | 17 static bool Initialize(); |
| 19 | 18 |
| 20 static bool HaveASnapshotToStartFrom(); | 19 static bool HaveASnapshotToStartFrom(); |
| 21 | 20 |
| 22 // Create a new context using the internal partial snapshot. | 21 // Create a new context using the internal partial snapshot. |
| 23 static Handle<Context> NewContextFromSnapshot(Isolate* isolate); | 22 static Handle<Context> NewContextFromSnapshot(Isolate* isolate); |
| 24 | 23 |
| 25 // Returns whether or not the snapshot is enabled. | 24 // Returns whether or not the snapshot is enabled. |
| 26 static bool IsEnabled() { return size_ != 0; } | 25 static bool IsEnabled(); |
| 27 | 26 |
| 28 // Write snapshot to the given file. Returns true if snapshot was written | 27 // These methods support COMPRESS_STARTUP_DATA_BZ2. |
| 29 // successfully. | |
| 30 static bool WriteToFile(const char* snapshot_file); | |
| 31 | |
| 32 static const byte* data() { return data_; } | 28 static const byte* data() { return data_; } |
| 33 static int size() { return size_; } | 29 static int size() { return size_; } |
| 34 static int raw_size() { return raw_size_; } | 30 static int raw_size() { return raw_size_; } |
| 35 static void set_raw_data(const byte* raw_data) { | 31 static void set_raw_data(const byte* raw_data) { |
| 36 raw_data_ = raw_data; | 32 raw_data_ = raw_data; |
| 37 } | 33 } |
| 38 static const byte* context_data() { return context_data_; } | 34 static const byte* context_data() { return context_data_; } |
| 39 static int context_size() { return context_size_; } | 35 static int context_size() { return context_size_; } |
| 40 static int context_raw_size() { return context_raw_size_; } | 36 static int context_raw_size() { return context_raw_size_; } |
| 41 static void set_context_raw_data( | 37 static void set_context_raw_data( |
| (...skipping 23 matching lines...) Expand all Loading... |
| 65 static const int size_; | 61 static const int size_; |
| 66 static const int raw_size_; | 62 static const int raw_size_; |
| 67 static const int context_size_; | 63 static const int context_size_; |
| 68 static const int context_raw_size_; | 64 static const int context_raw_size_; |
| 69 | 65 |
| 70 static void ReserveSpaceForLinkedInSnapshot(Deserializer* deserializer); | 66 static void ReserveSpaceForLinkedInSnapshot(Deserializer* deserializer); |
| 71 | 67 |
| 72 DISALLOW_IMPLICIT_CONSTRUCTORS(Snapshot); | 68 DISALLOW_IMPLICIT_CONSTRUCTORS(Snapshot); |
| 73 }; | 69 }; |
| 74 | 70 |
| 71 #ifdef V8_USE_EXTERNAL_STARTUP_DATA |
| 72 void SetSnapshotFromFile(StartupData* snapshot_blob); |
| 73 #endif |
| 74 |
| 75 } } // namespace v8::internal | 75 } } // namespace v8::internal |
| 76 | 76 |
| 77 #endif // V8_SNAPSHOT_H_ | 77 #endif // V8_SNAPSHOT_H_ |
| OLD | NEW |