You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
[Mono] Fix all the issues related to enabling WasmStripILAfterAOT (dotnet#90436)
* Enable IL trim for WASM by default
* Make ILStrip available for local build
* Make all calling another method go through the logic to see if it could call an AOT'ed version of it before trying to interp compile it
* Add back accidentally removed line of code
* Update test to accommodate IL trim with WASM AOT
* Move jit_call_can_be_supported to mini-runtime, so it doesn't depends on the value of mono_use_interpreter
* Update var name
* Attempt to fix rebuild test failures
* Attempt to fix the file open issue with unicode on windows
* Attempt to fix unicode issue #2
* Enable g_fopen to have the capability of handling opening files with unicode name on all platforms
* Add comment
* Update comment
* Fix file indentation format
* Check if string contains non-ascii char
* Remove unused callback
* Remove redundant comment
* Update method name
* Fixed some method not found issues and remove the optimization for g_fopen
* Fix tailcall
* Disable tailcall optimization when calling a trimmed method
* Free method header
* Fix windows build error
* Free method header at the correct locatioin
* Fix the condition of skipping tailcall
* Fix test failure
* Move JIT/AOT call invoke away from MINT_CALL, as it is not needed there.
* Fix virtual tail call
* Address review feedback
* Put the trimmed assemblies in a new folder, output an updated list of assemblies and update _WasmAssembliesInternal with the new list
* Put trimmed assemblies in IntermediateOutputPath
* Remove TrimmedAssemblies
* Create trimmed assembly folder before the parallel run
* Try to fix the issue with missing item
* Fix parallelism issue
* Only start the trim when the assembly is newer than the output
* Add assembly item to the list, when
* Add some logging
* Fixed runtimeconfig.json file path issue and disabed failed tests
* Update parameter name
* Fix wasi build
* Use the correct parameter
* Fix runtime test failure
* WasmAppBuilder: runtimeconfig.json path can be null
* cleanup
* ILStrip: fix typo in id name
* Cleanup
* ILStrip: ensure output assemblies are in the same order as the input. This is required for incremental builds.
* more cleanup
* Re-enable disabled tests
* Change the default value for WasmStripILAfterAOT to false
* Fix the issue with changing the value of WasmStripILAfterAOT between incremental builds
* Move the location of file deleting
* Use WasmAssembliesFinal or ResolvedFileToPublish during publish in WasmSDK
* Copy metadata in AOT compiler and when creating WasmAssembliesToBundle from ResolvedFileToPublish
* Add _WasmSatelliteAssemblies to WasmAssembliesFinal
* Add a wasm template test
* Include all non-dll ResolvedFileToPublish for ComputeWasmPublishAssets
* Add a blazor template test
* Address review feedback
* Update src/mono/wasm/Wasm.Build.Tests/Templates/WasmTemplateTests.cs
Co-authored-by: Ankit Jain <[email protected]>
* Update parameter name
* Update usage of parameter
* Revert EmccCompile change
* MonoAOTCompiler: revert rebuilding when WasmStripILAfterAOT value changes
* Compress -> GZipCompress, and cleanup
* rework the tests
- to support webcil case
- run blazor app
- add cases for the default setting, and the opposite
- cleanup
* ILStrip.cs: Emit a message about stripping to make it obvious to the user
* WasmApp.targets: update comment
* Change default value to false and update test
---------
Co-authored-by: Ankit Jain <[email protected]>
Co-authored-by: Marek Fišera <[email protected]>
// The call back to jit_call_can_be_supported is necessary for WASM, because it would still interprete some methods sometimes even though they were already AOT'ed.
9888
+
if (!mono_method_is_generic_impl (method) &&method->token!=0&& !cfg->deopt&& !cfg->interp_entry_only) {
9889
+
// The call to mono_jit_call_can_be_supported_by_interp is necessary for WASM, because it would still interprete some methods sometimes even though they were already AOT'ed.
9890
9890
// When that happens, interpreter needs to have the capability to call the AOT'ed version of that method, since the method body has already been trimmed.
0 commit comments