[browser] legacy JS interop optional via WasmEnableLegacyJsInterop - native #82834
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Initial work to make trim legacy interop from native code and JavaScript.
Split off from #79622
Changes
WasmEnableLegacyJsInterop
MSBuild feature.WasmEnableLegacyJsInterop==false
will not make the JS smaller. That would be follow-up work.ENABLE_LEGACY_JS_INTEROP
in native codedriver.c
under#ifdef ENABLE_LEGACY_JS_INTEROP
mono_wasm_get_delegate_invoke_ref
andmono_wasm_box_primitive_ref
lower in the same file.mono_wasm_get_type_name
andmono_wasm_get_type_aqn
higher in the same file.mono_wasm_typed_array_new_ref
fromcorebindings.c
todriver.c
core_initialize_internals
tobindings_initialize_internals
and unified it withmono_initialize_internals
CORE_BINDINGS
definitionlegacy_c_functions
cwraps.ts
andcorebindings.c
anddotnet.es6.lib.js
are sorted in the same ordermono_method_resolve
toexport_internal_api
dotnet.es6.lib.js
driven my environment variables, so that it could be configured at dev machine build timeEmscriptenEnvVars
inWasmApp.Native.targets
wasm.proj
loadedFiles
from 'Module' toruntimeHelpers
Future work