Index: src/snapshot-external.cc |
diff --git a/src/snapshot-external.cc b/src/snapshot-external.cc |
deleted file mode 100644 |
index 5bfadc2a6354fe95de3bcf9369c7daaac6115911..0000000000000000000000000000000000000000 |
--- a/src/snapshot-external.cc |
+++ /dev/null |
@@ -1,140 +0,0 @@ |
-// Copyright 2006-2008 the V8 project authors. All rights reserved. |
-// Use of this source code is governed by a BSD-style license that can be |
-// found in the LICENSE file. |
- |
-// Used for building with external snapshots. |
- |
-#include "src/snapshot.h" |
- |
-#include "src/v8.h" // for V8::Initialize |
-#include "src/serialize.h" |
-#include "src/snapshot-source-sink.h" |
- |
-namespace v8 { |
-namespace internal { |
- |
- |
-struct SnapshotImpl { |
- public: |
- const byte* data; |
- int size; |
- int new_space_used; |
- int pointer_space_used; |
- int data_space_used; |
- int code_space_used; |
- int map_space_used; |
- int cell_space_used; |
- int property_cell_space_used; |
- |
- const byte* context_data; |
- int context_size; |
- int context_new_space_used; |
- int context_pointer_space_used; |
- int context_data_space_used; |
- int context_code_space_used; |
- int context_map_space_used; |
- int context_cell_space_used; |
- int context_property_cell_space_used; |
-}; |
- |
- |
-static SnapshotImpl* snapshot_impl_ = NULL; |
- |
- |
-bool Snapshot::HaveASnapshotToStartFrom() { |
- return snapshot_impl_ != NULL; |
-} |
- |
- |
-bool Snapshot::Initialize() { |
- if (!HaveASnapshotToStartFrom()) |
- return false; |
- |
- ElapsedTimer timer; |
- if (FLAG_profile_deserialization) { |
- timer.Start(); |
- } |
- SnapshotByteSource source(snapshot_impl_->data, snapshot_impl_->size); |
- Deserializer deserializer(&source); |
- deserializer.set_reservation(NEW_SPACE, snapshot_impl_->new_space_used); |
- deserializer.set_reservation(OLD_POINTER_SPACE, |
- snapshot_impl_->pointer_space_used); |
- deserializer.set_reservation(OLD_DATA_SPACE, |
- snapshot_impl_->data_space_used); |
- deserializer.set_reservation(CODE_SPACE, snapshot_impl_->code_space_used); |
- deserializer.set_reservation(MAP_SPACE, snapshot_impl_->map_space_used); |
- deserializer.set_reservation(CELL_SPACE, snapshot_impl_->cell_space_used); |
- deserializer.set_reservation(PROPERTY_CELL_SPACE, |
- snapshot_impl_->property_cell_space_used); |
- bool success = V8::Initialize(&deserializer); |
- if (FLAG_profile_deserialization) { |
- double ms = timer.Elapsed().InMillisecondsF(); |
- PrintF("[Snapshot loading and deserialization took %0.3f ms]\n", ms); |
- } |
- return success; |
-} |
- |
- |
-Handle<Context> Snapshot::NewContextFromSnapshot(Isolate* isolate) { |
- if (!HaveASnapshotToStartFrom()) |
- return Handle<Context>(); |
- |
- SnapshotByteSource source(snapshot_impl_->context_data, |
- snapshot_impl_->context_size); |
- Deserializer deserializer(&source); |
- deserializer.set_reservation(NEW_SPACE, |
- snapshot_impl_->context_new_space_used); |
- deserializer.set_reservation(OLD_POINTER_SPACE, |
- snapshot_impl_->context_pointer_space_used); |
- deserializer.set_reservation(OLD_DATA_SPACE, |
- snapshot_impl_->context_data_space_used); |
- deserializer.set_reservation(CODE_SPACE, |
- snapshot_impl_->context_code_space_used); |
- deserializer.set_reservation(MAP_SPACE, |
- snapshot_impl_->context_map_space_used); |
- deserializer.set_reservation(CELL_SPACE, |
- snapshot_impl_->context_cell_space_used); |
- deserializer.set_reservation(PROPERTY_CELL_SPACE, |
- snapshot_impl_-> |
- context_property_cell_space_used); |
- Object* root; |
- deserializer.DeserializePartial(isolate, &root); |
- CHECK(root->IsContext()); |
- return Handle<Context>(Context::cast(root)); |
-} |
- |
- |
-void SetSnapshotFromFile(StartupData* snapshot_blob) { |
- ASSERT(snapshot_blob); |
- ASSERT(snapshot_blob->data); |
- ASSERT(snapshot_blob->raw_size > 0); |
- ASSERT(!snapshot_impl_); |
- |
- snapshot_impl_ = new SnapshotImpl; |
- SnapshotByteSource source(reinterpret_cast<const byte*>(snapshot_blob->data), |
- snapshot_blob->raw_size); |
- |
- bool success = source.GetBlob(&snapshot_impl_->data, |
- &snapshot_impl_->size); |
- snapshot_impl_->new_space_used = source.GetInt(); |
- snapshot_impl_->pointer_space_used = source.GetInt(); |
- snapshot_impl_->data_space_used = source.GetInt(); |
- snapshot_impl_->code_space_used = source.GetInt(); |
- snapshot_impl_->map_space_used = source.GetInt(); |
- snapshot_impl_->cell_space_used = source.GetInt(); |
- snapshot_impl_->property_cell_space_used = source.GetInt(); |
- |
- success &= source.GetBlob(&snapshot_impl_->context_data, |
- &snapshot_impl_->context_size); |
- snapshot_impl_->context_new_space_used = source.GetInt(); |
- snapshot_impl_->context_pointer_space_used = source.GetInt(); |
- snapshot_impl_->context_data_space_used = source.GetInt(); |
- snapshot_impl_->context_code_space_used = source.GetInt(); |
- snapshot_impl_->context_map_space_used = source.GetInt(); |
- snapshot_impl_->context_cell_space_used = source.GetInt(); |
- snapshot_impl_->context_property_cell_space_used = source.GetInt(); |
- |
- ASSERT(success); |
-} |
- |
-} } // namespace v8::internal |