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

Side by Side Diff: runtime/include/dart_api.h

Issue 1023753006: First step towards splitting a full snapshot into a vm isolate snapshot and a (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 5 years, 8 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
« no previous file with comments | « runtime/bin/snapshot_in.cc ('k') | runtime/tools/create_snapshot_bin.py » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* 1 /*
2 * Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file 2 * Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
3 * for details. All rights reserved. Use of this source code is governed by a 3 * for details. All rights reserved. Use of this source code is governed by a
4 * BSD-style license that can be found in the LICENSE file. 4 * BSD-style license that can be found in the LICENSE file.
5 */ 5 */
6 6
7 #ifndef INCLUDE_DART_API_H_ 7 #ifndef INCLUDE_DART_API_H_
8 #define INCLUDE_DART_API_H_ 8 #define INCLUDE_DART_API_H_
9 9
10 /** \mainpage Dart Embedding API Reference 10 /** \mainpage Dart Embedding API Reference
(...skipping 807 matching lines...) Expand 10 before | Expand all | Expand 10 after
818 intptr_t length, 818 intptr_t length,
819 void* stream); 819 void* stream);
820 820
821 typedef void (*Dart_FileCloseCallback)(void* stream); 821 typedef void (*Dart_FileCloseCallback)(void* stream);
822 822
823 typedef bool (*Dart_EntropySource)(uint8_t* buffer, intptr_t length); 823 typedef bool (*Dart_EntropySource)(uint8_t* buffer, intptr_t length);
824 824
825 /** 825 /**
826 * Initializes the VM. 826 * Initializes the VM.
827 * 827 *
828 * \param vm_isolate_snapshot A buffer containing a snapshot of the VM isolate
829 * or NULL if no snapshot is provided.
828 * \param create A function to be called during isolate creation. 830 * \param create A function to be called during isolate creation.
829 * See Dart_IsolateCreateCallback. 831 * See Dart_IsolateCreateCallback.
830 * \param interrupt A function to be called when an isolate is interrupted. 832 * \param interrupt A function to be called when an isolate is interrupted.
831 * See Dart_IsolateInterruptCallback. 833 * See Dart_IsolateInterruptCallback.
832 * \param unhandled_exception A function to be called if an isolate has an 834 * \param unhandled_exception A function to be called if an isolate has an
833 * unhandled exception. Set Dart_IsolateUnhandledExceptionCallback. 835 * unhandled exception. Set Dart_IsolateUnhandledExceptionCallback.
834 * \param shutdown A function to be called when an isolate is shutdown. 836 * \param shutdown A function to be called when an isolate is shutdown.
835 * See Dart_IsolateShutdownCallback. 837 * See Dart_IsolateShutdownCallback.
836 * 838 *
837 * \return True if initialization is successful. 839 * \return True if initialization is successful.
838 */ 840 */
839 DART_EXPORT bool Dart_Initialize( 841 DART_EXPORT bool Dart_Initialize(
842 const uint8_t* vm_isolate_snapshot,
840 Dart_IsolateCreateCallback create, 843 Dart_IsolateCreateCallback create,
841 Dart_IsolateInterruptCallback interrupt, 844 Dart_IsolateInterruptCallback interrupt,
842 Dart_IsolateUnhandledExceptionCallback unhandled_exception, 845 Dart_IsolateUnhandledExceptionCallback unhandled_exception,
843 Dart_IsolateShutdownCallback shutdown, 846 Dart_IsolateShutdownCallback shutdown,
844 Dart_FileOpenCallback file_open, 847 Dart_FileOpenCallback file_open,
845 Dart_FileReadCallback file_read, 848 Dart_FileReadCallback file_read,
846 Dart_FileWriteCallback file_write, 849 Dart_FileWriteCallback file_write,
847 Dart_FileCloseCallback file_close, 850 Dart_FileCloseCallback file_close,
848 Dart_EntropySource entropy_source); 851 Dart_EntropySource entropy_source);
849 852
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
882 * A snapshot can be used to restore the VM quickly to a saved state 885 * A snapshot can be used to restore the VM quickly to a saved state
883 * and is useful for fast startup. If snapshot data is provided, the 886 * and is useful for fast startup. If snapshot data is provided, the
884 * isolate will be started using that snapshot data. 887 * isolate will be started using that snapshot data.
885 * 888 *
886 * Requires there to be no current isolate. 889 * Requires there to be no current isolate.
887 * 890 *
888 * \param script_uri The name of the script this isolate will load. 891 * \param script_uri The name of the script this isolate will load.
889 * Provided only for advisory purposes to improve debugging messages. 892 * Provided only for advisory purposes to improve debugging messages.
890 * \param main The name of the main entry point this isolate will run. 893 * \param main The name of the main entry point this isolate will run.
891 * Provided only for advisory purposes to improve debugging messages. 894 * Provided only for advisory purposes to improve debugging messages.
892 * \param snapshot A buffer containing a VM snapshot or NULL if no 895 * \param snapshot A buffer containing a snapshot of the isolate or
893 * snapshot is provided. 896 * NULL if no snapshot is provided.
894 * \param callback_data Embedder data. This data will be passed to 897 * \param callback_data Embedder data. This data will be passed to
895 * the Dart_IsolateCreateCallback when new isolates are spawned from 898 * the Dart_IsolateCreateCallback when new isolates are spawned from
896 * this parent isolate. 899 * this parent isolate.
897 * \param error DOCUMENT 900 * \param error DOCUMENT
898 * 901 *
899 * \return The new isolate is returned. May be NULL if an error 902 * \return The new isolate is returned. May be NULL if an error
900 * occurs duing isolate initialization. 903 * occurs duing isolate initialization.
901 */ 904 */
902 DART_EXPORT Dart_Isolate Dart_CreateIsolate(const char* script_uri, 905 DART_EXPORT Dart_Isolate Dart_CreateIsolate(const char* script_uri,
903 const char* main, 906 const char* main,
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
985 * - errors on bad overrides 988 * - errors on bad overrides
986 * 989 *
987 * This call requires there to be a current isolate, and requires that there has 990 * This call requires there to be a current isolate, and requires that there has
988 * not yet been any compilation for the current Isolate. 991 * not yet been any compilation for the current Isolate.
989 */ 992 */
990 DART_EXPORT Dart_Handle Dart_IsolateSetStrictCompilation(bool value); 993 DART_EXPORT Dart_Handle Dart_IsolateSetStrictCompilation(bool value);
991 994
992 /** 995 /**
993 * Creates a full snapshot of the current isolate heap. 996 * Creates a full snapshot of the current isolate heap.
994 * 997 *
995 * A full snapshot is a compact representation of the dart heap state and 998 * A full snapshot is a compact representation of the dart vm isolate heap
996 * can be used for fast initialization of an isolate. A Snapshot of the heap 999 * and dart isolate heap states. These snapshots are used to initialize
997 * can only be created before any dart code has executed. 1000 * the vm isolate on startup and fast initialization of an isolate.
1001 * A Snapshot of the heap is created before any dart code has executed.
998 * 1002 *
999 * Requires there to be a current isolate. 1003 * Requires there to be a current isolate.
1000 * 1004 *
1001 * \param buffer Returns a pointer to a buffer containing the 1005 * \param buffer Returns a pointer to a buffer containing the
1002 * snapshot. This buffer is scope allocated and is only valid 1006 * snapshot. This buffer is scope allocated and is only valid
1003 * until the next call to Dart_ExitScope. 1007 * until the next call to Dart_ExitScope.
1004 * \param size Returns the size of the buffer. 1008 * \param size Returns the size of the buffer.
1005 * 1009 *
1006 * \return A valid handle if no error occurs during the operation. 1010 * \return A valid handle if no error occurs during the operation.
1007 */ 1011 */
1008 DART_EXPORT Dart_Handle Dart_CreateSnapshot(uint8_t** buffer, 1012 DART_EXPORT Dart_Handle Dart_CreateSnapshot(
1009 intptr_t* size); 1013 uint8_t** vm_isolate_snapshot_buffer,
1014 intptr_t* vm_isolate_snapshot_size,
1015 uint8_t** isolate_snapshot_buffer,
1016 intptr_t* isolate_snapshot_size);
1010 1017
1011 /** 1018 /**
1012 * Creates a snapshot of the application script loaded in the isolate. 1019 * Creates a snapshot of the application script loaded in the isolate.
1013 * 1020 *
1014 * A script snapshot can be used for implementing fast startup of applications 1021 * A script snapshot can be used for implementing fast startup of applications
1015 * (skips the script tokenizing and parsing process). A Snapshot of the script 1022 * (skips the script tokenizing and parsing process). A Snapshot of the script
1016 * can only be created before any dart code has executed. 1023 * can only be created before any dart code has executed.
1017 * 1024 *
1018 * Requires there to be a current isolate which already has loaded script. 1025 * Requires there to be a current isolate which already has loaded script.
1019 * 1026 *
(...skipping 1804 matching lines...) Expand 10 before | Expand all | Expand 10 after
2824 * NOTE: If multiple callbacks with the same name are registered, only the 2831 * NOTE: If multiple callbacks with the same name are registered, only the
2825 * last callback registered will be remembered. 2832 * last callback registered will be remembered.
2826 */ 2833 */
2827 DART_EXPORT void Dart_RegisterRootServiceRequestCallback( 2834 DART_EXPORT void Dart_RegisterRootServiceRequestCallback(
2828 const char* name, 2835 const char* name,
2829 Dart_ServiceRequestCallback callback, 2836 Dart_ServiceRequestCallback callback,
2830 void* user_data); 2837 void* user_data);
2831 2838
2832 2839
2833 #endif /* INCLUDE_DART_API_H_ */ /* NOLINT */ 2840 #endif /* INCLUDE_DART_API_H_ */ /* NOLINT */
OLDNEW
« no previous file with comments | « runtime/bin/snapshot_in.cc ('k') | runtime/tools/create_snapshot_bin.py » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698