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

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

Issue 2483363002: clang-formats remaining files and adds a presubmit check. (Closed)
Patch Set: Format include file Created 4 years, 1 month 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
« no previous file with comments | « runtime/bin/loader.cc ('k') | runtime/include/dart_mirrors_api.h » ('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 RUNTIME_INCLUDE_DART_API_H_ 7 #ifndef RUNTIME_INCLUDE_DART_API_H_
8 #define RUNTIME_INCLUDE_DART_API_H_ 8 #define RUNTIME_INCLUDE_DART_API_H_
9 9
10 /** \mainpage Dart Embedding API Reference 10 /** \mainpage Dart Embedding API Reference
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
47 #else 47 #else
48 /* __STDC_FORMAT_MACROS has to be defined before including <inttypes.h> to 48 /* __STDC_FORMAT_MACROS has to be defined before including <inttypes.h> to
49 * enable platform independent printf format specifiers. */ 49 * enable platform independent printf format specifiers. */
50 #ifndef __STDC_FORMAT_MACROS 50 #ifndef __STDC_FORMAT_MACROS
51 #define __STDC_FORMAT_MACROS 51 #define __STDC_FORMAT_MACROS
52 #endif 52 #endif
53 #include <inttypes.h> 53 #include <inttypes.h>
54 #include <stdbool.h> 54 #include <stdbool.h>
55 #if __GNUC__ >= 4 55 #if __GNUC__ >= 4
56 #if defined(DART_SHARED_LIB) 56 #if defined(DART_SHARED_LIB)
57 #define DART_EXPORT DART_EXTERN_C __attribute__ ((visibility("default"))) \ 57 #define DART_EXPORT \
58 __attribute((used)) 58 DART_EXTERN_C __attribute__((visibility("default"))) __attribute((used))
59 #else 59 #else
60 #define DART_EXPORT DART_EXTERN_C 60 #define DART_EXPORT DART_EXTERN_C
61 #endif 61 #endif
62 #else 62 #else
63 #error Tool chain not supported. 63 #error Tool chain not supported.
64 #endif 64 #endif
65 #endif 65 #endif
66 66
67 #include <assert.h> 67 #include <assert.h>
68 68
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
411 * header instead of this header. */ 411 * header instead of this header. */
412 /** 412 /**
413 * Aborts the process if 'handle' is an error handle. 413 * Aborts the process if 'handle' is an error handle.
414 * 414 *
415 * Provided for convenience. 415 * Provided for convenience.
416 */ 416 */
417 #define DART_CHECK_VALID(handle) \ 417 #define DART_CHECK_VALID(handle) \
418 { \ 418 { \
419 Dart_Handle __handle = handle; \ 419 Dart_Handle __handle = handle; \
420 if (Dart_IsError((__handle))) { \ 420 if (Dart_IsError((__handle))) { \
421 _Dart_ReportErrorHandle(__FILE__, __LINE__, \ 421 _Dart_ReportErrorHandle(__FILE__, __LINE__, #handle, \
422 #handle, Dart_GetError(__handle)); \ 422 Dart_GetError(__handle)); \
423 } \ 423 } \
424 } \ 424 }
425 425
426 /** 426 /**
427 * Converts an object to a string. 427 * Converts an object to a string.
428 * 428 *
429 * May generate an unhandled exception error. 429 * May generate an unhandled exception error.
430 * 430 *
431 * \return The converted string if no error occurs during 431 * \return The converted string if no error occurs during
432 * the conversion. If an error does occur, an error handle is 432 * the conversion. If an error does occur, an error handle is
433 * returned. 433 * returned.
434 */ 434 */
(...skipping 25 matching lines...) Expand all
460 DART_EXPORT uint64_t Dart_IdentityHash(Dart_Handle obj); 460 DART_EXPORT uint64_t Dart_IdentityHash(Dart_Handle obj);
461 461
462 /** 462 /**
463 * Allocates a handle in the current scope from a persistent handle. 463 * Allocates a handle in the current scope from a persistent handle.
464 */ 464 */
465 DART_EXPORT Dart_Handle Dart_HandleFromPersistent(Dart_PersistentHandle object); 465 DART_EXPORT Dart_Handle Dart_HandleFromPersistent(Dart_PersistentHandle object);
466 466
467 /** 467 /**
468 * Allocates a handle in the current scope from a weak persistent handle. 468 * Allocates a handle in the current scope from a weak persistent handle.
469 */ 469 */
470 DART_EXPORT Dart_Handle Dart_HandleFromWeakPersistent( 470 DART_EXPORT Dart_Handle
471 Dart_WeakPersistentHandle object); 471 Dart_HandleFromWeakPersistent(Dart_WeakPersistentHandle object);
472 472
473 /** 473 /**
474 * Allocates a persistent handle for an object. 474 * Allocates a persistent handle for an object.
475 * 475 *
476 * This handle has the lifetime of the current isolate unless it is 476 * This handle has the lifetime of the current isolate unless it is
477 * explicitly deallocated by calling Dart_DeletePersistentHandle. 477 * explicitly deallocated by calling Dart_DeletePersistentHandle.
478 * 478 *
479 * Requires there to be a current isolate. 479 * Requires there to be a current isolate.
480 */ 480 */
481 DART_EXPORT Dart_PersistentHandle Dart_NewPersistentHandle(Dart_Handle object); 481 DART_EXPORT Dart_PersistentHandle Dart_NewPersistentHandle(Dart_Handle object);
(...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after
525 * provided to callback when it is invoked. 525 * provided to callback when it is invoked.
526 * \param external_allocation_size The number of externally allocated 526 * \param external_allocation_size The number of externally allocated
527 * bytes for peer. Used to inform the garbage collector. 527 * bytes for peer. Used to inform the garbage collector.
528 * \param callback A function pointer that will be invoked sometime 528 * \param callback A function pointer that will be invoked sometime
529 * after the object is garbage collected, unless the handle has been deleted. 529 * after the object is garbage collected, unless the handle has been deleted.
530 * A valid callback needs to be specified it cannot be NULL. 530 * A valid callback needs to be specified it cannot be NULL.
531 * 531 *
532 * \return The weak persistent handle or NULL. NULL is returned in case of bad 532 * \return The weak persistent handle or NULL. NULL is returned in case of bad
533 * parameters. 533 * parameters.
534 */ 534 */
535 DART_EXPORT Dart_WeakPersistentHandle Dart_NewWeakPersistentHandle( 535 DART_EXPORT Dart_WeakPersistentHandle
536 Dart_Handle object, 536 Dart_NewWeakPersistentHandle(Dart_Handle object,
537 void* peer, 537 void* peer,
538 intptr_t external_allocation_size, 538 intptr_t external_allocation_size,
539 Dart_WeakPersistentHandleFinalizer callback); 539 Dart_WeakPersistentHandleFinalizer callback);
540 540
541 DART_EXPORT void Dart_DeleteWeakPersistentHandle( 541 DART_EXPORT void Dart_DeleteWeakPersistentHandle(
542 Dart_Isolate isolate, 542 Dart_Isolate isolate,
543 Dart_WeakPersistentHandle object); 543 Dart_WeakPersistentHandle object);
544 544
545 545
546 /* 546 /*
547 * ============================ 547 * ============================
548 * Garbage Collection Callbacks 548 * Garbage Collection Callbacks
549 * ============================ 549 * ============================
(...skipping 25 matching lines...) Expand all
575 * if any. 575 * if any.
576 * 576 *
577 * \param epilogue_callback A function pointer to an epilogue callback function. 577 * \param epilogue_callback A function pointer to an epilogue callback function.
578 * An epilogue callback function should not be already set when this function 578 * An epilogue callback function should not be already set when this function
579 * is called. A NULL value removes the existing epilogue callback function 579 * is called. A NULL value removes the existing epilogue callback function
580 * if any. 580 * if any.
581 * 581 *
582 * \return Success if the callbacks were added. Otherwise, returns an 582 * \return Success if the callbacks were added. Otherwise, returns an
583 * error handle. 583 * error handle.
584 */ 584 */
585 DART_EXPORT Dart_Handle Dart_SetGcCallbacks( 585 DART_EXPORT Dart_Handle
586 Dart_GcPrologueCallback prologue_callback, 586 Dart_SetGcCallbacks(Dart_GcPrologueCallback prologue_callback,
587 Dart_GcEpilogueCallback epilogue_callback); 587 Dart_GcEpilogueCallback epilogue_callback);
588 588
589 589
590 /* 590 /*
591 * ========================== 591 * ==========================
592 * Initialization and Globals 592 * Initialization and Globals
593 * ========================== 593 * ==========================
594 */ 594 */
595 595
596 /** 596 /**
597 * Gets the version string for the Dart VM. 597 * Gets the version string for the Dart VM.
(...skipping 188 matching lines...) Expand 10 before | Expand all | Expand 10 after
786 * instructions, or NULL if no snapshot is provided. 786 * instructions, or NULL if no snapshot is provided.
787 * \param create A function to be called during isolate creation. 787 * \param create A function to be called during isolate creation.
788 * See Dart_IsolateCreateCallback. 788 * See Dart_IsolateCreateCallback.
789 * \param shutdown A function to be called when an isolate is shutdown. 789 * \param shutdown A function to be called when an isolate is shutdown.
790 * See Dart_IsolateShutdownCallback. 790 * See Dart_IsolateShutdownCallback.
791 * \param get_service_assets A function to be called by the service isolate when 791 * \param get_service_assets A function to be called by the service isolate when
792 * it requires the vmservice assets archive. 792 * it requires the vmservice assets archive.
793 * See Dart_GetVMServiceAssetsArchive. 793 * See Dart_GetVMServiceAssetsArchive.
794 */ 794 */
795 typedef struct { 795 typedef struct {
796 int32_t version; 796 int32_t version;
797 const uint8_t* vm_isolate_snapshot; 797 const uint8_t* vm_isolate_snapshot;
798 const uint8_t* instructions_snapshot; 798 const uint8_t* instructions_snapshot;
799 const uint8_t* data_snapshot; 799 const uint8_t* data_snapshot;
800 Dart_IsolateCreateCallback create; 800 Dart_IsolateCreateCallback create;
801 Dart_IsolateShutdownCallback shutdown; 801 Dart_IsolateShutdownCallback shutdown;
802 Dart_ThreadExitCallback thread_exit; 802 Dart_ThreadExitCallback thread_exit;
803 Dart_FileOpenCallback file_open; 803 Dart_FileOpenCallback file_open;
804 Dart_FileReadCallback file_read; 804 Dart_FileReadCallback file_read;
805 Dart_FileWriteCallback file_write; 805 Dart_FileWriteCallback file_write;
806 Dart_FileCloseCallback file_close; 806 Dart_FileCloseCallback file_close;
807 Dart_EntropySource entropy_source; 807 Dart_EntropySource entropy_source;
808 Dart_GetVMServiceAssetsArchive get_service_assets; 808 Dart_GetVMServiceAssetsArchive get_service_assets;
809 } Dart_InitializeParams; 809 } Dart_InitializeParams;
810 810
811 /** 811 /**
812 * Initializes the VM. 812 * Initializes the VM.
813 * 813 *
814 * \param flags A struct containing initialization information. The version 814 * \param flags A struct containing initialization information. The version
815 * field of the struct must be DART_INITIALIZE_PARAMS_CURRENT_VERSION. 815 * field of the struct must be DART_INITIALIZE_PARAMS_CURRENT_VERSION.
816 * 816 *
817 * \return NULL if initialization is successful. Returns an error message 817 * \return NULL if initialization is successful. Returns an error message
818 * otherwise. The caller is responsible for freeing the error message. 818 * otherwise. The caller is responsible for freeing the error message.
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
972 * 972 *
973 * Requires there to be a current isolate. 973 * Requires there to be a current isolate.
974 * 974 *
975 * \param buffer Returns a pointer to a buffer containing the 975 * \param buffer Returns a pointer to a buffer containing the
976 * snapshot. This buffer is scope allocated and is only valid 976 * snapshot. This buffer is scope allocated and is only valid
977 * until the next call to Dart_ExitScope. 977 * until the next call to Dart_ExitScope.
978 * \param size Returns the size of the buffer. 978 * \param size Returns the size of the buffer.
979 * 979 *
980 * \return A valid handle if no error occurs during the operation. 980 * \return A valid handle if no error occurs during the operation.
981 */ 981 */
982 DART_EXPORT Dart_Handle Dart_CreateSnapshot( 982 DART_EXPORT Dart_Handle
983 uint8_t** vm_isolate_snapshot_buffer, 983 Dart_CreateSnapshot(uint8_t** vm_isolate_snapshot_buffer,
984 intptr_t* vm_isolate_snapshot_size, 984 intptr_t* vm_isolate_snapshot_size,
985 uint8_t** isolate_snapshot_buffer, 985 uint8_t** isolate_snapshot_buffer,
986 intptr_t* isolate_snapshot_size); 986 intptr_t* isolate_snapshot_size);
987 987
988 /** 988 /**
989 * Creates a snapshot of the application script loaded in the isolate. 989 * Creates a snapshot of the application script loaded in the isolate.
990 * 990 *
991 * A script snapshot can be used for implementing fast startup of applications 991 * A script snapshot can be used for implementing fast startup of applications
992 * (skips the script tokenizing and parsing process). A Snapshot of the script 992 * (skips the script tokenizing and parsing process). A Snapshot of the script
993 * can only be created before any dart code has executed. 993 * can only be created before any dart code has executed.
994 * 994 *
995 * Requires there to be a current isolate which already has loaded script. 995 * Requires there to be a current isolate which already has loaded script.
996 * 996 *
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
1057 1057
1058 /** 1058 /**
1059 * A port is used to send or receive inter-isolate messages 1059 * A port is used to send or receive inter-isolate messages
1060 */ 1060 */
1061 typedef int64_t Dart_Port; 1061 typedef int64_t Dart_Port;
1062 1062
1063 /** 1063 /**
1064 * ILLEGAL_PORT is a port number guaranteed never to be associated with a valid 1064 * ILLEGAL_PORT is a port number guaranteed never to be associated with a valid
1065 * port. 1065 * port.
1066 */ 1066 */
1067 #define ILLEGAL_PORT ((Dart_Port) 0) 1067 #define ILLEGAL_PORT ((Dart_Port)0)
1068 1068
1069 /** 1069 /**
1070 * A message notification callback. 1070 * A message notification callback.
1071 * 1071 *
1072 * This callback allows the embedder to provide an alternate wakeup 1072 * This callback allows the embedder to provide an alternate wakeup
1073 * mechanism for the delivery of inter-isolate messages. It is the 1073 * mechanism for the delivery of inter-isolate messages. It is the
1074 * responsibility of the embedder to call Dart_HandleMessage to 1074 * responsibility of the embedder to call Dart_HandleMessage to
1075 * process the message. 1075 * process the message.
1076 */ 1076 */
1077 typedef void (*Dart_MessageNotifyCallback)(Dart_Isolate dest_isolate); 1077 typedef void (*Dart_MessageNotifyCallback)(Dart_Isolate dest_isolate);
(...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after
1427 * \param object Some Object. 1427 * \param object Some Object.
1428 * 1428 *
1429 * \return true if Object is of the specified type. 1429 * \return true if Object is of the specified type.
1430 */ 1430 */
1431 DART_EXPORT bool Dart_IsInstance(Dart_Handle object); 1431 DART_EXPORT bool Dart_IsInstance(Dart_Handle object);
1432 DART_EXPORT bool Dart_IsNumber(Dart_Handle object); 1432 DART_EXPORT bool Dart_IsNumber(Dart_Handle object);
1433 DART_EXPORT bool Dart_IsInteger(Dart_Handle object); 1433 DART_EXPORT bool Dart_IsInteger(Dart_Handle object);
1434 DART_EXPORT bool Dart_IsDouble(Dart_Handle object); 1434 DART_EXPORT bool Dart_IsDouble(Dart_Handle object);
1435 DART_EXPORT bool Dart_IsBoolean(Dart_Handle object); 1435 DART_EXPORT bool Dart_IsBoolean(Dart_Handle object);
1436 DART_EXPORT bool Dart_IsString(Dart_Handle object); 1436 DART_EXPORT bool Dart_IsString(Dart_Handle object);
1437 DART_EXPORT bool Dart_IsStringLatin1(Dart_Handle object); /* (ISO-8859-1) */ 1437 DART_EXPORT bool Dart_IsStringLatin1(Dart_Handle object); /* (ISO-8859-1) */
1438 DART_EXPORT bool Dart_IsExternalString(Dart_Handle object); 1438 DART_EXPORT bool Dart_IsExternalString(Dart_Handle object);
1439 DART_EXPORT bool Dart_IsList(Dart_Handle object); 1439 DART_EXPORT bool Dart_IsList(Dart_Handle object);
1440 DART_EXPORT bool Dart_IsMap(Dart_Handle object); 1440 DART_EXPORT bool Dart_IsMap(Dart_Handle object);
1441 DART_EXPORT bool Dart_IsLibrary(Dart_Handle object); 1441 DART_EXPORT bool Dart_IsLibrary(Dart_Handle object);
1442 DART_EXPORT bool Dart_IsType(Dart_Handle handle); 1442 DART_EXPORT bool Dart_IsType(Dart_Handle handle);
1443 DART_EXPORT bool Dart_IsFunction(Dart_Handle handle); 1443 DART_EXPORT bool Dart_IsFunction(Dart_Handle handle);
1444 DART_EXPORT bool Dart_IsVariable(Dart_Handle handle); 1444 DART_EXPORT bool Dart_IsVariable(Dart_Handle handle);
1445 DART_EXPORT bool Dart_IsTypeVariable(Dart_Handle handle); 1445 DART_EXPORT bool Dart_IsTypeVariable(Dart_Handle handle);
1446 DART_EXPORT bool Dart_IsClosure(Dart_Handle object); 1446 DART_EXPORT bool Dart_IsClosure(Dart_Handle object);
1447 DART_EXPORT bool Dart_IsTypedData(Dart_Handle object); 1447 DART_EXPORT bool Dart_IsTypedData(Dart_Handle object);
(...skipping 263 matching lines...) Expand 10 before | Expand all | Expand 10 after
1711 * Latin-1 (ISO-8859-1) encoded characters. 1711 * Latin-1 (ISO-8859-1) encoded characters.
1712 * 1712 *
1713 * \param latin1_array Array of Latin-1 encoded characters. This must not move. 1713 * \param latin1_array Array of Latin-1 encoded characters. This must not move.
1714 * \param length The length of the characters array. 1714 * \param length The length of the characters array.
1715 * \param peer An external pointer to associate with this string. 1715 * \param peer An external pointer to associate with this string.
1716 * \param cback A callback to be called when this string is finalized. 1716 * \param cback A callback to be called when this string is finalized.
1717 * 1717 *
1718 * \return The String object if no error occurs. Otherwise returns 1718 * \return The String object if no error occurs. Otherwise returns
1719 * an error handle. 1719 * an error handle.
1720 */ 1720 */
1721 DART_EXPORT Dart_Handle Dart_NewExternalLatin1String( 1721 DART_EXPORT Dart_Handle
1722 const uint8_t* latin1_array, 1722 Dart_NewExternalLatin1String(const uint8_t* latin1_array,
1723 intptr_t length, 1723 intptr_t length,
1724 void* peer, 1724 void* peer,
1725 Dart_PeerFinalizer cback); 1725 Dart_PeerFinalizer cback);
1726 1726
1727 /** 1727 /**
1728 * Returns a String which references an external array of UTF-16 encoded 1728 * Returns a String which references an external array of UTF-16 encoded
1729 * characters. 1729 * characters.
1730 * 1730 *
1731 * \param utf16_array An array of UTF-16 encoded characters. This must not move. 1731 * \param utf16_array An array of UTF-16 encoded characters. This must not move.
1732 * \param length The length of the characters array. 1732 * \param length The length of the characters array.
1733 * \param peer An external pointer to associate with this string. 1733 * \param peer An external pointer to associate with this string.
1734 * \param cback A callback to be called when this string is finalized. 1734 * \param cback A callback to be called when this string is finalized.
1735 * 1735 *
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
1833 * In this case the function returns the original String object as is. 1833 * In this case the function returns the original String object as is.
1834 * 1834 *
1835 * For example: 1835 * For example:
1836 * intptr_t size; 1836 * intptr_t size;
1837 * Dart_Handle result; 1837 * Dart_Handle result;
1838 * result = DartStringStorageSize(str, &size); 1838 * result = DartStringStorageSize(str, &size);
1839 * void* data = malloc(size); 1839 * void* data = malloc(size);
1840 * result = Dart_MakeExternalString(str, data, size, NULL, NULL); 1840 * result = Dart_MakeExternalString(str, data, size, NULL, NULL);
1841 * 1841 *
1842 */ 1842 */
1843 DART_EXPORT Dart_Handle Dart_MakeExternalString( 1843 DART_EXPORT Dart_Handle
1844 Dart_Handle str, 1844 Dart_MakeExternalString(Dart_Handle str,
1845 void* array, 1845 void* array,
1846 intptr_t external_allocation_size, 1846 intptr_t external_allocation_size,
1847 void* peer, 1847 void* peer,
1848 Dart_PeerFinalizer cback); 1848 Dart_PeerFinalizer cback);
1849 1849
1850 /** 1850 /**
1851 * Retrieves some properties associated with a String. 1851 * Retrieves some properties associated with a String.
1852 * Properties retrieved are: 1852 * Properties retrieved are:
1853 * - character size of the string (one or two byte) 1853 * - character size of the string (one or two byte)
1854 * - length of the string 1854 * - length of the string
1855 * - peer pointer of string if it is an external string. 1855 * - peer pointer of string if it is an external string.
1856 * \param str A String. 1856 * \param str A String.
1857 * \param char_size Returns the character size of the String. 1857 * \param char_size Returns the character size of the String.
1858 * \param str_len Returns the length of the String. 1858 * \param str_len Returns the length of the String.
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
1900 * If the index is out of bounds, an error occurs. 1900 * If the index is out of bounds, an error occurs.
1901 * 1901 *
1902 * May generate an unhandled exception error. 1902 * May generate an unhandled exception error.
1903 * 1903 *
1904 * \param list A List. 1904 * \param list A List.
1905 * \param index A valid index into the List. 1905 * \param index A valid index into the List.
1906 * 1906 *
1907 * \return The Object in the List at the specified index if no error 1907 * \return The Object in the List at the specified index if no error
1908 * occurs. Otherwise returns an error handle. 1908 * occurs. Otherwise returns an error handle.
1909 */ 1909 */
1910 DART_EXPORT Dart_Handle Dart_ListGetAt(Dart_Handle list, 1910 DART_EXPORT Dart_Handle Dart_ListGetAt(Dart_Handle list, intptr_t index);
1911 intptr_t index);
1912 1911
1913 /** 1912 /**
1914 * Gets a range of Objects from a List. 1913 * Gets a range of Objects from a List.
1915 * 1914 *
1916 * If any of the requested index values are out of bounds, an error occurs. 1915 * If any of the requested index values are out of bounds, an error occurs.
1917 * 1916 *
1918 * May generate an unhandled exception error. 1917 * May generate an unhandled exception error.
1919 * 1918 *
1920 * \param list A List. 1919 * \param list A List.
1921 * \param offset The offset of the first item to get. 1920 * \param offset The offset of the first item to get.
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after
2037 * Dart_TypedData_Type. 2036 * Dart_TypedData_Type.
2038 */ 2037 */
2039 DART_EXPORT Dart_TypedData_Type Dart_GetTypeOfTypedData(Dart_Handle object); 2038 DART_EXPORT Dart_TypedData_Type Dart_GetTypeOfTypedData(Dart_Handle object);
2040 2039
2041 /** 2040 /**
2042 * Return type if this object is an external TypedData object. 2041 * Return type if this object is an external TypedData object.
2043 * 2042 *
2044 * \return kInvalid if the object is not an external TypedData object or 2043 * \return kInvalid if the object is not an external TypedData object or
2045 * the appropriate Dart_TypedData_Type. 2044 * the appropriate Dart_TypedData_Type.
2046 */ 2045 */
2047 DART_EXPORT Dart_TypedData_Type Dart_GetTypeOfExternalTypedData( 2046 DART_EXPORT Dart_TypedData_Type
2048 Dart_Handle object); 2047 Dart_GetTypeOfExternalTypedData(Dart_Handle object);
2049 2048
2050 /** 2049 /**
2051 * Returns a TypedData object of the desired length and type. 2050 * Returns a TypedData object of the desired length and type.
2052 * 2051 *
2053 * \param type The type of the TypedData object. 2052 * \param type The type of the TypedData object.
2054 * \param length The length of the TypedData object (length in type units). 2053 * \param length The length of the TypedData object (length in type units).
2055 * 2054 *
2056 * \return The TypedData object if no error occurs. Otherwise returns 2055 * \return The TypedData object if no error occurs. Otherwise returns
2057 * an error handle. 2056 * an error handle.
2058 */ 2057 */
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
2176 * Allocate a new object without invoking a constructor, and sets specified 2175 * Allocate a new object without invoking a constructor, and sets specified
2177 * native fields. 2176 * native fields.
2178 * 2177 *
2179 * \param type The type of an object to be allocated. 2178 * \param type The type of an object to be allocated.
2180 * \param num_native_fields The number of native fields to set. 2179 * \param num_native_fields The number of native fields to set.
2181 * \param native_fields An array containing the value of native fields. 2180 * \param native_fields An array containing the value of native fields.
2182 * 2181 *
2183 * \return The new object. If an error occurs during execution, then an 2182 * \return The new object. If an error occurs during execution, then an
2184 * error handle is returned. 2183 * error handle is returned.
2185 */ 2184 */
2186 DART_EXPORT Dart_Handle Dart_AllocateWithNativeFields( 2185 DART_EXPORT Dart_Handle
2187 Dart_Handle type, 2186 Dart_AllocateWithNativeFields(Dart_Handle type,
2188 intptr_t num_native_fields, 2187 intptr_t num_native_fields,
2189 const intptr_t* native_fields); 2188 const intptr_t* native_fields);
2190 2189
2191 /** 2190 /**
2192 * Invokes a method or function. 2191 * Invokes a method or function.
2193 * 2192 *
2194 * The 'target' parameter may be an object, type, or library. If 2193 * The 'target' parameter may be an object, type, or library. If
2195 * 'target' is an object, then this function will invoke an instance 2194 * 'target' is an object, then this function will invoke an instance
2196 * method. If 'target' is a type, then this function will invoke a 2195 * method. If 'target' is a type, then this function will invoke a
2197 * static method. If 'target' is a library, then this function will 2196 * static method. If 'target' is a library, then this function will
2198 * invoke a top-level function from that library. 2197 * invoke a top-level function from that library.
2199 * NOTE: This API call cannot be used to invoke methods of a type object. 2198 * NOTE: This API call cannot be used to invoke methods of a type object.
(...skipping 68 matching lines...) Expand 10 before | Expand all | Expand 10 after
2268 * This function ignores field visibility (leading underscores in names). 2267 * This function ignores field visibility (leading underscores in names).
2269 * 2268 *
2270 * May generate an unhandled exception error. 2269 * May generate an unhandled exception error.
2271 * 2270 *
2272 * \param container An object, type, or library. 2271 * \param container An object, type, or library.
2273 * \param name A field name. 2272 * \param name A field name.
2274 * 2273 *
2275 * \return If no error occurs, then the value of the field is 2274 * \return If no error occurs, then the value of the field is
2276 * returned. Otherwise an error handle is returned. 2275 * returned. Otherwise an error handle is returned.
2277 */ 2276 */
2278 DART_EXPORT Dart_Handle Dart_GetField(Dart_Handle container, 2277 DART_EXPORT Dart_Handle Dart_GetField(Dart_Handle container, Dart_Handle name);
2279 Dart_Handle name);
2280 2278
2281 /** 2279 /**
2282 * Sets the value of a field. 2280 * Sets the value of a field.
2283 * 2281 *
2284 * The 'container' parameter may actually be an object, type, or 2282 * The 'container' parameter may actually be an object, type, or
2285 * library. If 'container' is an object, then this function will 2283 * library. If 'container' is an object, then this function will
2286 * access an instance field. If 'container' is a type, then this 2284 * access an instance field. If 'container' is a type, then this
2287 * function will access a static field. If 'container' is a library, 2285 * function will access a static field. If 'container' is a library,
2288 * then this function will access a top-level variable. 2286 * then this function will access a top-level variable.
2289 * NOTE: This API call cannot be used to access fields of a type object. 2287 * NOTE: This API call cannot be used to access fields of a type object.
(...skipping 151 matching lines...) Expand 10 before | Expand all | Expand 10 after
2441 enum { 2439 enum {
2442 kNativeArgNumberPos = 0, 2440 kNativeArgNumberPos = 0,
2443 kNativeArgNumberSize = 8, 2441 kNativeArgNumberSize = 8,
2444 kNativeArgTypePos = kNativeArgNumberPos + kNativeArgNumberSize, 2442 kNativeArgTypePos = kNativeArgNumberPos + kNativeArgNumberSize,
2445 kNativeArgTypeSize = 8, 2443 kNativeArgTypeSize = 8,
2446 }; 2444 };
2447 2445
2448 #define BITMASK(size) ((1 << size) - 1) 2446 #define BITMASK(size) ((1 << size) - 1)
2449 #define DART_NATIVE_ARG_DESCRIPTOR(type, position) \ 2447 #define DART_NATIVE_ARG_DESCRIPTOR(type, position) \
2450 (((type & BITMASK(kNativeArgTypeSize)) << kNativeArgTypePos) | \ 2448 (((type & BITMASK(kNativeArgTypeSize)) << kNativeArgTypePos) | \
2451 (position & BITMASK(kNativeArgNumberSize))) 2449 (position & BITMASK(kNativeArgNumberSize))) // NOLINT
2452 2450
2453 /** 2451 /**
2454 * Gets the native arguments based on the types passed in and populates 2452 * Gets the native arguments based on the types passed in and populates
2455 * the passed arguments buffer with appropriate native values. 2453 * the passed arguments buffer with appropriate native values.
2456 * 2454 *
2457 * \param args the Native arguments block passed into the native call. 2455 * \param args the Native arguments block passed into the native call.
2458 * \param num_arguments length of argument descriptor array and argument 2456 * \param num_arguments length of argument descriptor array and argument
2459 * values array passed in. 2457 * values array passed in.
2460 * \param arg_descriptors an array that describes the arguments that 2458 * \param arg_descriptors an array that describes the arguments that
2461 * need to be retrieved. For each argument to be retrieved the descriptor 2459 * need to be retrieved. For each argument to be retrieved the descriptor
2462 * contains the argument number (0, 1 etc.) and the argument type 2460 * contains the argument number (0, 1 etc.) and the argument type
2463 * described using Dart_NativeArgument_Type, e.g: 2461 * described using Dart_NativeArgument_Type, e.g:
2464 * DART_NATIVE_ARG_DESCRIPTOR(Dart_NativeArgument_kBool, 1) indicates 2462 * DART_NATIVE_ARG_DESCRIPTOR(Dart_NativeArgument_kBool, 1) indicates
2465 * that the first argument is to be retrieved and it should be a boolean. 2463 * that the first argument is to be retrieved and it should be a boolean.
2466 * \param arg_values array into which the native arguments need to be 2464 * \param arg_values array into which the native arguments need to be
2467 * extracted into, the array is allocated by the caller (it could be 2465 * extracted into, the array is allocated by the caller (it could be
2468 * stack allocated to avoid the malloc/free performance overhead). 2466 * stack allocated to avoid the malloc/free performance overhead).
2469 * 2467 *
2470 * \return Success if all the arguments could be extracted correctly, 2468 * \return Success if all the arguments could be extracted correctly,
2471 * returns an error handle if there were any errors while extracting the 2469 * returns an error handle if there were any errors while extracting the
2472 * arguments (mismatched number of arguments, incorrect types, etc.). 2470 * arguments (mismatched number of arguments, incorrect types, etc.).
2473 */ 2471 */
2474 DART_EXPORT Dart_Handle Dart_GetNativeArguments( 2472 DART_EXPORT Dart_Handle
2475 Dart_NativeArguments args, 2473 Dart_GetNativeArguments(Dart_NativeArguments args,
2476 int num_arguments, 2474 int num_arguments,
2477 const Dart_NativeArgument_Descriptor* arg_descriptors, 2475 const Dart_NativeArgument_Descriptor* arg_descriptors,
2478 Dart_NativeArgument_Value* arg_values); 2476 Dart_NativeArgument_Value* arg_values);
2479 2477
2480 2478
2481 /** 2479 /**
2482 * Gets the native argument at some index. 2480 * Gets the native argument at some index.
2483 */ 2481 */
2484 DART_EXPORT Dart_Handle Dart_GetNativeArgument(Dart_NativeArguments args, 2482 DART_EXPORT Dart_Handle Dart_GetNativeArgument(Dart_NativeArguments args,
2485 int index); 2483 int index);
2486 /* TODO(turnidge): Specify the behavior of an out-of-bounds access. */ 2484 /* TODO(turnidge): Specify the behavior of an out-of-bounds access. */
2487 2485
2488 /** 2486 /**
2489 * Gets the number of native arguments. 2487 * Gets the number of native arguments.
2490 */ 2488 */
2491 DART_EXPORT int Dart_GetNativeArgumentCount(Dart_NativeArguments args); 2489 DART_EXPORT int Dart_GetNativeArgumentCount(Dart_NativeArguments args);
2492 2490
2493 /** 2491 /**
2494 * Gets all the native fields of the native argument at some index. 2492 * Gets all the native fields of the native argument at some index.
2495 * \param args Native arguments structure. 2493 * \param args Native arguments structure.
2496 * \param arg_index Index of the desired argument in the structure above. 2494 * \param arg_index Index of the desired argument in the structure above.
2497 * \param num_fields size of the intptr_t array 'field_values' passed in. 2495 * \param num_fields size of the intptr_t array 'field_values' passed in.
2498 * \param field_values intptr_t array in which native field values are returned. 2496 * \param field_values intptr_t array in which native field values are returned.
2499 * \return Success if the native fields where copied in successfully. Otherwise 2497 * \return Success if the native fields where copied in successfully. Otherwise
2500 * returns an error handle. On success the native field values are copied 2498 * returns an error handle. On success the native field values are copied
2501 * into the 'field_values' array, if the argument at 'arg_index' is a 2499 * into the 'field_values' array, if the argument at 'arg_index' is a
2502 * null object then 0 is copied as the native field values into the 2500 * null object then 0 is copied as the native field values into the
2503 * 'field_values' array. 2501 * 'field_values' array.
2504 */ 2502 */
2505 DART_EXPORT Dart_Handle Dart_GetNativeFieldsOfArgument( 2503 DART_EXPORT Dart_Handle
2506 Dart_NativeArguments args, 2504 Dart_GetNativeFieldsOfArgument(Dart_NativeArguments args,
2507 int arg_index, 2505 int arg_index,
2508 int num_fields, 2506 int num_fields,
2509 intptr_t* field_values); 2507 intptr_t* field_values);
2510 2508
2511 /** 2509 /**
2512 * Gets the native field of the receiver. 2510 * Gets the native field of the receiver.
2513 */ 2511 */
2514 DART_EXPORT Dart_Handle Dart_GetNativeReceiver(Dart_NativeArguments args, 2512 DART_EXPORT Dart_Handle Dart_GetNativeReceiver(Dart_NativeArguments args,
2515 intptr_t* value); 2513 intptr_t* value);
2516 2514
2517 /** 2515 /**
2518 * Gets a string native argument at some index. 2516 * Gets a string native argument at some index.
2519 * \param args Native arguments structure. 2517 * \param args Native arguments structure.
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
2652 */ 2650 */
2653 typedef Dart_Handle (*Dart_EnvironmentCallback)(Dart_Handle name); 2651 typedef Dart_Handle (*Dart_EnvironmentCallback)(Dart_Handle name);
2654 2652
2655 /** 2653 /**
2656 * Sets the environment callback for the current isolate. This 2654 * Sets the environment callback for the current isolate. This
2657 * callback is used to lookup environment values by name in the 2655 * callback is used to lookup environment values by name in the
2658 * current environment. This enables the embedder to supply values for 2656 * current environment. This enables the embedder to supply values for
2659 * the const constructors bool.fromEnvironment, int.fromEnvironment 2657 * the const constructors bool.fromEnvironment, int.fromEnvironment
2660 * and String.fromEnvironment. 2658 * and String.fromEnvironment.
2661 */ 2659 */
2662 DART_EXPORT Dart_Handle Dart_SetEnvironmentCallback( 2660 DART_EXPORT Dart_Handle
2663 Dart_EnvironmentCallback callback); 2661 Dart_SetEnvironmentCallback(Dart_EnvironmentCallback callback);
2664 2662
2665 /** 2663 /**
2666 * Sets the callback used to resolve native functions for a library. 2664 * Sets the callback used to resolve native functions for a library.
2667 * 2665 *
2668 * \param library A library. 2666 * \param library A library.
2669 * \param resolver A native entry resolver. 2667 * \param resolver A native entry resolver.
2670 * 2668 *
2671 * \return A valid handle if the native resolver was set successfully. 2669 * \return A valid handle if the native resolver was set successfully.
2672 */ 2670 */
2673 DART_EXPORT Dart_Handle Dart_SetNativeResolver( 2671 DART_EXPORT Dart_Handle
2674 Dart_Handle library, 2672 Dart_SetNativeResolver(Dart_Handle library,
2675 Dart_NativeEntryResolver resolver, 2673 Dart_NativeEntryResolver resolver,
2676 Dart_NativeEntrySymbol symbol); 2674 Dart_NativeEntrySymbol symbol);
2677 /* TODO(turnidge): Rename to Dart_LibrarySetNativeResolver? */ 2675 /* TODO(turnidge): Rename to Dart_LibrarySetNativeResolver? */
2678 2676
2679 2677
2680 /* 2678 /*
2681 * ===================== 2679 * =====================
2682 * Scripts and Libraries 2680 * Scripts and Libraries
2683 * ===================== 2681 * =====================
2684 */ 2682 */
2685 2683
2686 typedef enum { 2684 typedef enum {
(...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
2737 * or scripts in the isolate. 2735 * or scripts in the isolate.
2738 * 2736 *
2739 * \param handler Handler code to be used for handling the various tags 2737 * \param handler Handler code to be used for handling the various tags
2740 * encountered while loading libraries or scripts in the isolate. 2738 * encountered while loading libraries or scripts in the isolate.
2741 * 2739 *
2742 * \return If no error occurs, the handler is set for the isolate. 2740 * \return If no error occurs, the handler is set for the isolate.
2743 * Otherwise an error handle is returned. 2741 * Otherwise an error handle is returned.
2744 * 2742 *
2745 * TODO(turnidge): Document. 2743 * TODO(turnidge): Document.
2746 */ 2744 */
2747 DART_EXPORT Dart_Handle Dart_SetLibraryTagHandler( 2745 DART_EXPORT Dart_Handle
2748 Dart_LibraryTagHandler handler); 2746 Dart_SetLibraryTagHandler(Dart_LibraryTagHandler handler);
2749 2747
2750 /** 2748 /**
2751 * Canonicalizes a url with respect to some library. 2749 * Canonicalizes a url with respect to some library.
2752 * 2750 *
2753 * The url is resolved with respect to the library's url and some url 2751 * The url is resolved with respect to the library's url and some url
2754 * normalizations are performed. 2752 * normalizations are performed.
2755 * 2753 *
2756 * This canonicalization function should be sufficient for most 2754 * This canonicalization function should be sufficient for most
2757 * embedders to implement the Dart_kCanonicalizeUrl tag. 2755 * embedders to implement the Dart_kCanonicalizeUrl tag.
2758 * 2756 *
(...skipping 353 matching lines...) Expand 10 before | Expand all | Expand 10 after
3112 * 3110 *
3113 * reset_fields is true when we are about to create a precompilated snapshot. 3111 * reset_fields is true when we are about to create a precompilated snapshot.
3114 * Some fields are already been initialized as part of the loading logic, and 3112 * Some fields are already been initialized as part of the loading logic, and
3115 * we want them to be reinitialized in the new process that will load the 3113 * we want them to be reinitialized in the new process that will load the
3116 * snapshot. reset_fields is false for --noopt, which will continue running in 3114 * snapshot. reset_fields is false for --noopt, which will continue running in
3117 * the same process. 3115 * the same process.
3118 * 3116 *
3119 * \return An error handle if a compilation error or runtime error running const 3117 * \return An error handle if a compilation error or runtime error running const
3120 * constructors was encountered. 3118 * constructors was encountered.
3121 */ 3119 */
3122 DART_EXPORT Dart_Handle Dart_Precompile( 3120 DART_EXPORT Dart_Handle
3123 Dart_QualifiedFunctionName entry_points[], 3121 Dart_Precompile(Dart_QualifiedFunctionName entry_points[], bool reset_fields);
3124 bool reset_fields);
3125 3122
3126 3123
3127 /** 3124 /**
3128 * Creates a precompiled snapshot. 3125 * Creates a precompiled snapshot.
3129 * - A root library must have been loaded. 3126 * - A root library must have been loaded.
3130 * - Dart_Precompile must have been called. 3127 * - Dart_Precompile must have been called.
3131 * 3128 *
3132 * Outputs a vm isolate snapshot, an isolate snapshot, and an assembly file 3129 * Outputs a vm isolate snapshot, an isolate snapshot, and an assembly file
3133 * defining the symbols kInstructionsSnapshot and kDataSnapshot. The assembly 3130 * defining the symbols kInstructionsSnapshot and kDataSnapshot. The assembly
3134 * should be compiled as a static or shared library and linked or loaded by the 3131 * should be compiled as a static or shared library and linked or loaded by the
3135 * embedder. 3132 * embedder.
3136 * Running this snapshot requires a VM compiled with DART_PRECOMPILED_SNAPSHOT. 3133 * Running this snapshot requires a VM compiled with DART_PRECOMPILED_SNAPSHOT.
3137 * The vm isolate snapshot, kInstructionsSnapshot and kDataSnapshot should be 3134 * The vm isolate snapshot, kInstructionsSnapshot and kDataSnapshot should be
3138 * passed as arguments to Dart_Initialize. The isolate snapshot should be 3135 * passed as arguments to Dart_Initialize. The isolate snapshot should be
3139 * passed to Dart_CreateIsolate. 3136 * passed to Dart_CreateIsolate.
3140 * 3137 *
3141 * The buffers are scope allocated and are only valid until the next call to 3138 * The buffers are scope allocated and are only valid until the next call to
3142 * Dart_ExitScope. 3139 * Dart_ExitScope.
3143 * 3140 *
3144 * \return A valid handle if no error occurs during the operation. 3141 * \return A valid handle if no error occurs during the operation.
3145 */ 3142 */
3146 DART_EXPORT Dart_Handle Dart_CreatePrecompiledSnapshotAssembly( 3143 DART_EXPORT Dart_Handle
3147 uint8_t** assembly_buffer, 3144 Dart_CreatePrecompiledSnapshotAssembly(uint8_t** assembly_buffer,
3148 intptr_t* assembly_size); 3145 intptr_t* assembly_size);
3149 3146
3150 3147
3151 /** 3148 /**
3152 * Same as Dart_CreatePrecompiledSnapshotAssembly, except the instruction and 3149 * Same as Dart_CreatePrecompiledSnapshotAssembly, except the instruction and
3153 * data snapshot pieces are provided directly as bytes that the embedder can 3150 * data snapshot pieces are provided directly as bytes that the embedder can
3154 * load with mmap. The instructions piece must be loaded with read and 3151 * load with mmap. The instructions piece must be loaded with read and
3155 * execute permissions; the rodata piece may be loaded as read-only. 3152 * execute permissions; the rodata piece may be loaded as read-only.
3156 */ 3153 */
3157 DART_EXPORT Dart_Handle Dart_CreatePrecompiledSnapshotBlob( 3154 DART_EXPORT Dart_Handle
3158 uint8_t** vm_isolate_snapshot_buffer, 3155 Dart_CreatePrecompiledSnapshotBlob(uint8_t** vm_isolate_snapshot_buffer,
3159 intptr_t* vm_isolate_snapshot_size, 3156 intptr_t* vm_isolate_snapshot_size,
3160 uint8_t** isolate_snapshot_buffer, 3157 uint8_t** isolate_snapshot_buffer,
3161 intptr_t* isolate_snapshot_size, 3158 intptr_t* isolate_snapshot_size,
3162 uint8_t** instructions_blob_buffer, 3159 uint8_t** instructions_blob_buffer,
3163 intptr_t* instructions_blob_size, 3160 intptr_t* instructions_blob_size,
3164 uint8_t** rodata_blob_buffer, 3161 uint8_t** rodata_blob_buffer,
3165 intptr_t* rodata_blob_size); 3162 intptr_t* rodata_blob_size);
3166 3163
3167 3164
3168 DART_EXPORT Dart_Handle Dart_PrecompileJIT(); 3165 DART_EXPORT Dart_Handle Dart_PrecompileJIT();
3169 3166
3170 3167
3171 /** 3168 /**
3172 * Creates a snapshot that caches unoptimized code and type feedback for faster 3169 * Creates a snapshot that caches unoptimized code and type feedback for faster
3173 * startup and quicker warmup in a subsequent process. 3170 * startup and quicker warmup in a subsequent process.
3174 * 3171 *
3175 * Outputs a snapshot in four pieces. The vm isolate snapshot, 3172 * Outputs a snapshot in four pieces. The vm isolate snapshot,
3176 * instructions_blob and rodata_blob should be passed as arguments to 3173 * instructions_blob and rodata_blob should be passed as arguments to
3177 * Dart_Initialize. The isolate snapshot should be passed to 3174 * Dart_Initialize. The isolate snapshot should be passed to
3178 * Dart_CreateIsolate. The instructions piece must be loaded with execute 3175 * Dart_CreateIsolate. The instructions piece must be loaded with execute
3179 * permissions; the other pieces may loaded as read-only. 3176 * permissions; the other pieces may loaded as read-only.
3180 * 3177 *
3181 * - Requires the VM to have been started with --load-deferred-eagerly. 3178 * - Requires the VM to have been started with --load-deferred-eagerly.
3182 * - Requires the VM to have not been started with --precompilation. 3179 * - Requires the VM to have not been started with --precompilation.
3183 * - Not supported when targeting IA32. 3180 * - Not supported when targeting IA32.
3184 * - The VM writing the snapshot and the VM reading the snapshot must be the 3181 * - The VM writing the snapshot and the VM reading the snapshot must be the
3185 * same version, must be built in the same DEBUG/RELEASE/PRODUCT mode, must 3182 * same version, must be built in the same DEBUG/RELEASE/PRODUCT mode, must
3186 * be targeting the same architecture, and must both be in checked mode or 3183 * be targeting the same architecture, and must both be in checked mode or
3187 * both in unchecked mode. 3184 * both in unchecked mode.
3188 * 3185 *
3189 * The buffers are scope allocated and are only valid until the next call to 3186 * The buffers are scope allocated and are only valid until the next call to
3190 * Dart_ExitScope. 3187 * Dart_ExitScope.
3191 * 3188 *
3192 * \return A valid handle if no error occurs during the operation. 3189 * \return A valid handle if no error occurs during the operation.
3193 */ 3190 */
3194 DART_EXPORT Dart_Handle Dart_CreateAppJITSnapshot( 3191 DART_EXPORT Dart_Handle
3195 uint8_t** vm_isolate_snapshot_buffer, 3192 Dart_CreateAppJITSnapshot(uint8_t** vm_isolate_snapshot_buffer,
3196 intptr_t* vm_isolate_snapshot_size, 3193 intptr_t* vm_isolate_snapshot_size,
3197 uint8_t** isolate_snapshot_buffer, 3194 uint8_t** isolate_snapshot_buffer,
3198 intptr_t* isolate_snapshot_size, 3195 intptr_t* isolate_snapshot_size,
3199 uint8_t** instructions_blob_buffer, 3196 uint8_t** instructions_blob_buffer,
3200 intptr_t* instructions_blob_size, 3197 intptr_t* instructions_blob_size,
3201 uint8_t** rodata_blob_buffer, 3198 uint8_t** rodata_blob_buffer,
3202 intptr_t* rodata_blob_size); 3199 intptr_t* rodata_blob_size);
3203 3200
3204 3201
3205 /** 3202 /**
3206 * Returns whether the VM only supports running from precompiled snapshots and 3203 * Returns whether the VM only supports running from precompiled snapshots and
3207 * not from any other kind of snapshot or from source (that is, the VM was 3204 * not from any other kind of snapshot or from source (that is, the VM was
3208 * compiled with DART_PRECOMPILED_RUNTIME). 3205 * compiled with DART_PRECOMPILED_RUNTIME).
3209 */ 3206 */
3210 DART_EXPORT bool Dart_IsPrecompiledRuntime(); 3207 DART_EXPORT bool Dart_IsPrecompiledRuntime();
3211 3208
3212 #endif /* INCLUDE_DART_API_H_ */ /* NOLINT */ 3209 #endif /* INCLUDE_DART_API_H_ */ /* NOLINT */
OLDNEW
« no previous file with comments | « runtime/bin/loader.cc ('k') | runtime/include/dart_mirrors_api.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698