@@ -50,9 +50,9 @@ extern "C"
50
50
const void * GlobalizationResolveDllImport (const char * name);
51
51
const void * CompressionResolveDllImport (const char * name);
52
52
53
- bool browserHostExternalAssemblyProbe (const char * pathPtr, /* out*/ void **outDataStartPtr, /* out*/ int64_t * outSize);
54
- void browserHostResolveMain (int exitCode);
55
- void browserHostRejectMain (const char *reason);
53
+ bool BrowserHost_ExternalAssemblyProbe (const char * pathPtr, /* out*/ void **outDataStartPtr, /* out*/ int64_t * outSize);
54
+ void BrowserHost_ResolveMain (int exitCode);
55
+ void BrowserHost_RejectMain (const char *reason);
56
56
}
57
57
58
58
// The current CoreCLR instance details.
@@ -64,13 +64,6 @@ static void log_error_info(const char* line)
64
64
std::fprintf (stderr, " log error: %s\n " , line);
65
65
}
66
66
67
- static bool external_assembly_probe (const char * path, /* out*/ void **data_start, /* out*/ int64_t * size)
68
- {
69
- *size = 0 ;
70
- *data_start = nullptr ;
71
- return browserHostExternalAssemblyProbe (path, data_start, size);;
72
- }
73
-
74
67
static const void * pinvoke_override (const char * library_name, const char * entry_point_name)
75
68
{
76
69
if (strcmp (library_name, " libSystem.Native" ) == 0 )
@@ -107,9 +100,11 @@ static std::vector<const char*> propertyKeys;
107
100
static std::vector<const char *> propertyValues;
108
101
static pal::char_t ptr_to_string_buffer[STRING_LENGTH(" 0xffffffffffffffff" ) + 1 ];
109
102
110
- extern " C" int browserHostInitializeCoreCLR (void )
103
+ // WASM-TODO: pass TPA via argument, not env
104
+ // WASM-TODO: pass app_path via argument, not env
105
+ // WASM-TODO: pass search_paths via argument, not env
106
+ extern " C" int BrowserHost_InitializeCoreCLR (void )
111
107
{
112
- // WASM-TODO: does getenv return UTF8 ?
113
108
pal::getenv (HOST_PROPERTY_APP_PATHS, &app_path);
114
109
pal::getenv (HOST_PROPERTY_NATIVE_DLL_SEARCH_DIRECTORIES, &search_paths);
115
110
pal::getenv (HOST_PROPERTY_TRUSTED_PLATFORM_ASSEMBLIES, &tpa);
@@ -124,7 +119,7 @@ extern "C" int browserHostInitializeCoreCLR(void)
124
119
125
120
host_runtime_contract host_contract = { sizeof (host_runtime_contract), nullptr };
126
121
host_contract.pinvoke_override = &pinvoke_override;
127
- host_contract.external_assembly_probe = &external_assembly_probe ;
122
+ host_contract.external_assembly_probe = &BrowserHost_ExternalAssemblyProbe ;
128
123
129
124
pal::snwprintf (ptr_to_string_buffer, ARRAY_SIZE (ptr_to_string_buffer), _X (" 0x%zx" ), (size_t )(&host_contract));
130
125
@@ -144,7 +139,8 @@ extern "C" int browserHostInitializeCoreCLR(void)
144
139
}
145
140
146
141
// WASM-TODO: browser needs async entrypoint
147
- extern " C" int browserHostExecuteAssembly (const char * assemblyPath)
142
+ // WASM-TODO: don't coreclr_shutdown_2 when browser
143
+ extern " C" int BrowserHost_ExecuteAssembly (const char * assemblyPath)
148
144
{
149
145
int exit_code;
150
146
int retval = coreclr_execute_assembly (CurrentClrInstance, CurrentAppDomainId, 0 , nullptr , assemblyPath, (uint32_t *)&exit_code);
@@ -164,11 +160,11 @@ extern "C" int browserHostExecuteAssembly(const char* assemblyPath)
164
160
std::fprintf (stderr, " coreclr_shutdown_2 failed - Error: 0x%08x\n " , retval);
165
161
exit_code = -1 ;
166
162
// WASM-TODO: this is too trivial
167
- browserHostRejectMain (" coreclr_shutdown_2 failed" );
163
+ BrowserHost_RejectMain (" coreclr_shutdown_2 failed" );
168
164
}
169
165
170
166
// WASM-TODO: this is too trivial
171
167
// because nothing runs continuations yet and also coreclr_execute_assembly is sync looping
172
- browserHostResolveMain (exit_code);
168
+ BrowserHost_ResolveMain (exit_code);
173
169
return retval;
174
170
}
0 commit comments