@@ -1696,65 +1696,6 @@ wasm_runtime_instantiation_args_destroy(struct InstantiationArgs2 *p)
16961696 wasm_runtime_free (p );
16971697}
16981698
1699- #if WASM_ENABLE_WASI_NN != 0 || WASM_ENABLE_WASI_EPHEMERAL_NN != 0
1700- typedef struct WASINNArguments WASINNArguments ;
1701-
1702- void
1703- wasm_runtime_wasi_nn_graph_registry_args_set_defaults (WASINNArguments * args )
1704- {
1705- memset (args , 0 , sizeof (* args ));
1706- }
1707-
1708- bool
1709- wasi_nn_graph_registry_set_args (WASINNArguments * registry , const char * encoding ,
1710- const char * target , uint32_t n_graphs ,
1711- const char * * graph_paths )
1712- {
1713- if (!registry || !encoding || !target || !graph_paths ) {
1714- return false;
1715- }
1716- registry -> encoding = strdup (encoding );
1717- registry -> target = strdup (target );
1718- registry -> n_graphs = n_graphs ;
1719- registry -> graph_paths = (uint32_t * * )malloc (sizeof (uint32_t * ) * n_graphs );
1720- memset (registry -> graph_paths , 0 , sizeof (uint32_t * ) * n_graphs );
1721- for (uint32_t i = 0 ; i < registry -> n_graphs ; i ++ )
1722- registry -> graph_paths [i ] = strdup (graph_paths [i ]);
1723-
1724- return true;
1725- }
1726-
1727- int
1728- wasi_nn_graph_registry_create (WASINNArguments * * registryp )
1729- {
1730- WASINNArguments * args = wasm_runtime_malloc (sizeof (* args ));
1731- if (args == NULL ) {
1732- return -1 ;
1733- }
1734- wasm_runtime_wasi_nn_graph_registry_args_set_defaults (args );
1735- * registryp = args ;
1736- return 0 ;
1737- }
1738-
1739- void
1740- wasi_nn_graph_registry_destroy (WASINNArguments * registry )
1741- {
1742- if (registry ) {
1743- for (uint32_t i = 0 ; i < registry -> n_graphs ; i ++ )
1744- if (registry -> graph_paths [i ]) {
1745- // wasi_nn_graph_registry_unregister_graph(registry,
1746- // registry->name[i]);
1747- free (registry -> graph_paths [i ]);
1748- }
1749- if (registry -> encoding )
1750- free (registry -> encoding );
1751- if (registry -> target )
1752- free (registry -> target );
1753- free (registry );
1754- }
1755- }
1756- #endif
1757-
17581699void
17591700wasm_runtime_instantiation_args_set_default_stack_size (
17601701 struct InstantiationArgs2 * p , uint32 v )
@@ -1853,7 +1794,65 @@ wasm_runtime_instantiation_args_set_wasi_ns_lookup_pool(
18531794 wasi_args -> set_by_user = true;
18541795}
18551796#endif /* WASM_ENABLE_LIBC_WASI != 0 */
1797+
18561798#if WASM_ENABLE_WASI_NN != 0 || WASM_ENABLE_WASI_EPHEMERAL_NN != 0
1799+ typedef struct WASINNArguments WASINNArguments ;
1800+
1801+ void
1802+ wasm_runtime_wasi_nn_graph_registry_args_set_defaults (WASINNArguments * args )
1803+ {
1804+ memset (args , 0 , sizeof (* args ));
1805+ }
1806+
1807+ bool
1808+ wasi_nn_graph_registry_set_args (WASINNArguments * registry , const char * encoding ,
1809+ const char * target , uint32_t n_graphs ,
1810+ const char * * graph_paths )
1811+ {
1812+ if (!registry || !encoding || !target || !graph_paths ) {
1813+ return false;
1814+ }
1815+ registry -> encoding = strdup (encoding );
1816+ registry -> target = strdup (target );
1817+ registry -> n_graphs = n_graphs ;
1818+ registry -> graph_paths = (uint32_t * * )malloc (sizeof (uint32_t * ) * n_graphs );
1819+ memset (registry -> graph_paths , 0 , sizeof (uint32_t * ) * n_graphs );
1820+ for (uint32_t i = 0 ; i < registry -> n_graphs ; i ++ )
1821+ registry -> graph_paths [i ] = strdup (graph_paths [i ]);
1822+
1823+ return true;
1824+ }
1825+
1826+ int
1827+ wasi_nn_graph_registry_create (WASINNArguments * * registryp )
1828+ {
1829+ WASINNArguments * args = wasm_runtime_malloc (sizeof (* args ));
1830+ if (args == NULL ) {
1831+ return -1 ;
1832+ }
1833+ wasm_runtime_wasi_nn_graph_registry_args_set_defaults (args );
1834+ * registryp = args ;
1835+ return 0 ;
1836+ }
1837+
1838+ void
1839+ wasi_nn_graph_registry_destroy (WASINNArguments * registry )
1840+ {
1841+ if (registry ) {
1842+ for (uint32_t i = 0 ; i < registry -> n_graphs ; i ++ )
1843+ if (registry -> graph_paths [i ]) {
1844+ // wasi_nn_graph_registry_unregister_graph(registry,
1845+ // registry->name[i]);
1846+ free (registry -> graph_paths [i ]);
1847+ }
1848+ if (registry -> encoding )
1849+ free (registry -> encoding );
1850+ if (registry -> target )
1851+ free (registry -> target );
1852+ free (registry );
1853+ }
1854+ }
1855+
18571856void
18581857wasm_runtime_instantiation_args_set_wasi_nn_graph_registry (
18591858 struct InstantiationArgs2 * p , WASINNArguments * registry )
0 commit comments