16 auto& native_assets_map =
18 if (!native_assets_map.IsNull()) {
19 return native_assets_map.ptr();
22#if defined(DART_PRECOMPILED_RUNTIME)
27 const auto& native_assets_library =
29 if (native_assets_library.IsNull()) {
35 const bool pragma_found = native_assets_library.FindPragma(
36 thread,
false, native_assets_library,
37 Symbols::vm_ffi_native_assets(),
51 kTargetArchitectureName));
57 if (abi.Equals(current_abi)) {
62 const intptr_t asset_map_length = asset_map.IsNull() ? 0 : asset_map.Length();
64 HashTables::New<NativeAssetsMap>(asset_map_length,
Heap::kOld));
65 if (!asset_map.IsNull()) {
69 bool duplicate_asset =
false;
73 duplicate_asset = map.UpdateOrInsert(asset, path);
77 native_assets_map = map.Release().ptr();
78 object_store->set_native_assets_map(native_assets_map);
79 return native_assets_map.ptr();