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

Unified Diff: gin/v8_initializer.h

Issue 1011133006: Move V8 snapshot loading code from isolate_holder to gin/v8_startup_data.{h,cc}. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Incorporate review comments. Created 5 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: gin/v8_initializer.h
diff --git a/gin/v8_initializer.h b/gin/v8_initializer.h
new file mode 100644
index 0000000000000000000000000000000000000000..ad3ed6e30a3ca791cdcd4f32face32c50942e474
--- /dev/null
+++ b/gin/v8_initializer.h
@@ -0,0 +1,57 @@
+// Copyright 2013 The Chromium Authors. All rights reserved.
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+#ifndef GIN_V8_INITIALIZER_H_
+#define GIN_V8_INITIALIZER_H_
+
+#include "base/files/file.h"
+#include "gin/array_buffer.h"
+#include "gin/gin_export.h"
+#include "gin/public/isolate_holder.h"
+#include "gin/public/v8_platform.h"
+#include "v8/include/v8.h"
+
+namespace gin {
+
+class GIN_EXPORT V8Initializer {
+ public:
+ static const int kV8SnapshotBasePathKey;
+ static const char kNativesFileName[];
+ static const char kSnapshotFileName[];
+
+ // This should be called by IsolateHolder::Initialize().
+ static void Initialize(gin::IsolateHolder::ScriptMode mode,
+ v8::ArrayBuffer::Allocator* allocator);
rmcilroy 2015/03/30 17:44:18 It would be good if we could avoid exposing this m
+
+ // Get address and size information for currently loaded snapshot.
+ // If no snapshot is loaded, the return values are null for addresses
+ // and 0 for sizes.
+ static void GetV8ExternalSnapshotData(const char** natives_data_out,
+ int* natives_size_out,
+ const char** snapshot_data_out,
+ int* snapshot_size_out);
+
+#if defined(V8_USE_EXTERNAL_STARTUP_DATA)
+
+ // Load V8 snapshot from user provided platform file descriptors.
+ // The offset and size arguments, if non-zero, specify the portions
+ // of the files to be loaded. This methods returns true on success
+ // (or if snapshot is already loaded), false otherwise.
+ static bool LoadV8SnapshotFromFD(base::PlatformFile natives_fd,
+ int64 natives_offset,
+ int64 natives_size,
+ base::PlatformFile snapshot_fd,
+ int64 snapshot_offset,
+ int64 snapshot_size);
+
+ // Load V8 snapshot from default resources. Returns true on success or
+ // snapshot is already loaded, false otherwise.
+ static bool LoadV8Snapshot();
+
+#endif // V8_USE_EXTERNAL_STARTUP_DATA
+};
+
+} // namespace gin
+
+#endif // GIN_V8_INITIALIZER_H_
« gin/test/file_runner.cc ('K') | « gin/test/v8_test.cc ('k') | gin/v8_initializer.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698