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

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

Issue 1177153005: Enables clean VM shutdown. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Fix error propagation Created 5 years, 4 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
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 350 matching lines...) Expand 10 before | Expand all | Expand 10 after
361 */ 361 */
362 #define DART_CHECK_VALID(handle) \ 362 #define DART_CHECK_VALID(handle) \
363 { \ 363 { \
364 Dart_Handle __handle = handle; \ 364 Dart_Handle __handle = handle; \
365 if (Dart_IsError((__handle))) { \ 365 if (Dart_IsError((__handle))) { \
366 _Dart_ReportErrorHandle(__FILE__, __LINE__, \ 366 _Dart_ReportErrorHandle(__FILE__, __LINE__, \
367 #handle, Dart_GetError(__handle)); \ 367 #handle, Dart_GetError(__handle)); \
368 } \ 368 } \
369 } \ 369 } \
370 370
371
372 /** 371 /**
373 * Converts an object to a string. 372 * Converts an object to a string.
374 * 373 *
375 * May generate an unhandled exception error. 374 * May generate an unhandled exception error.
376 * 375 *
377 * \return The converted string if no error occurs during 376 * \return The converted string if no error occurs during
378 * the conversion. If an error does occur, an error handle is 377 * the conversion. If an error does occur, an error handle is
379 * returned. 378 * returned.
380 */ 379 */
381 DART_EXPORT Dart_Handle Dart_ToString(Dart_Handle object); 380 DART_EXPORT Dart_Handle Dart_ToString(Dart_Handle object);
(...skipping 472 matching lines...) Expand 10 before | Expand all | Expand 10 after
854 * or NULL if no snapshot is provided. 853 * or NULL if no snapshot is provided.
855 * \param create A function to be called during isolate creation. 854 * \param create A function to be called during isolate creation.
856 * See Dart_IsolateCreateCallback. 855 * See Dart_IsolateCreateCallback.
857 * \param interrupt A function to be called when an isolate is interrupted. 856 * \param interrupt A function to be called when an isolate is interrupted.
858 * See Dart_IsolateInterruptCallback. 857 * See Dart_IsolateInterruptCallback.
859 * \param unhandled_exception A function to be called if an isolate has an 858 * \param unhandled_exception A function to be called if an isolate has an
860 * unhandled exception. Set Dart_IsolateUnhandledExceptionCallback. 859 * unhandled exception. Set Dart_IsolateUnhandledExceptionCallback.
861 * \param shutdown A function to be called when an isolate is shutdown. 860 * \param shutdown A function to be called when an isolate is shutdown.
862 * See Dart_IsolateShutdownCallback. 861 * See Dart_IsolateShutdownCallback.
863 * 862 *
864 * \return True if initialization is successful. 863 * \return NULL if initialization is successful. Returns an error message
864 * otherwise. The caller is responsible for freeing the error message.
865 */ 865 */
866 DART_EXPORT bool Dart_Initialize( 866 DART_EXPORT char* Dart_Initialize(
867 const uint8_t* vm_isolate_snapshot, 867 const uint8_t* vm_isolate_snapshot,
868 Dart_IsolateCreateCallback create, 868 Dart_IsolateCreateCallback create,
869 Dart_IsolateInterruptCallback interrupt, 869 Dart_IsolateInterruptCallback interrupt,
870 Dart_IsolateUnhandledExceptionCallback unhandled_exception, 870 Dart_IsolateUnhandledExceptionCallback unhandled_exception,
871 Dart_IsolateShutdownCallback shutdown, 871 Dart_IsolateShutdownCallback shutdown,
872 Dart_FileOpenCallback file_open, 872 Dart_FileOpenCallback file_open,
873 Dart_FileReadCallback file_read, 873 Dart_FileReadCallback file_read,
874 Dart_FileWriteCallback file_write, 874 Dart_FileWriteCallback file_write,
875 Dart_FileCloseCallback file_close, 875 Dart_FileCloseCallback file_close,
876 Dart_EntropySource entropy_source); 876 Dart_EntropySource entropy_source);
877 877
878 /** 878 /**
879 * Cleanup state in the VM before process termination. 879 * Cleanup state in the VM before process termination.
880 * 880 *
881 * \return True if cleanup is successful. 881 * \return NULL if cleanup is successful. Returns an error message otherwise.
882 * The caller is responsible for freeing the error message.
882 */ 883 */
883 DART_EXPORT bool Dart_Cleanup(); 884 DART_EXPORT char* Dart_Cleanup();
884 885
885 /** 886 /**
886 * Sets command line flags. Should be called before Dart_Initialize. 887 * Sets command line flags. Should be called before Dart_Initialize.
887 * 888 *
888 * \param argc The length of the arguments array. 889 * \param argc The length of the arguments array.
889 * \param argv An array of arguments. 890 * \param argv An array of arguments.
890 * 891 *
891 * \return True if VM flags set successfully. 892 * \return True if VM flags set successfully.
892 */ 893 */
893 DART_EXPORT bool Dart_SetVMFlags(int argc, const char** argv); 894 DART_EXPORT bool Dart_SetVMFlags(int argc, const char** argv);
(...skipping 1939 matching lines...) Expand 10 before | Expand all | Expand 10 after
2833 2834
2834 /** 2835 /**
2835 * Returns the port that script load requests should be sent on. 2836 * Returns the port that script load requests should be sent on.
2836 * 2837 *
2837 * \return Returns the port for load requests or ILLEGAL_PORT if the service 2838 * \return Returns the port for load requests or ILLEGAL_PORT if the service
2838 * isolate failed to startup or does not support load requests. 2839 * isolate failed to startup or does not support load requests.
2839 */ 2840 */
2840 DART_EXPORT Dart_Port Dart_ServiceWaitForLoadPort(); 2841 DART_EXPORT Dart_Port Dart_ServiceWaitForLoadPort();
2841 2842
2842 #endif /* INCLUDE_DART_API_H_ */ /* NOLINT */ 2843 #endif /* INCLUDE_DART_API_H_ */ /* NOLINT */
OLDNEW
« no previous file with comments | « runtime/bin/vmservice/vmservice_io.dart ('k') | runtime/tests/vm/dart/spawn_infinite_loop_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698